From a6f179550c1fbeb301f7ff8e72641e2334ad1149 Mon Sep 17 00:00:00 2001 From: emelianov Date: Fri, 29 May 2026 14:07:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=94=20=D0=B4=D0=BB=D1=8F=20ballistics?= =?UTF-8?q?=20dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config-repo/pcp-ballistics-service.yaml | 9 +- libs/ballistics-lib/src/test/kotlin/Test.kt | 129 +++++------------- .../service/SatelliteService.kt | 12 +- 3 files changed, 41 insertions(+), 109 deletions(-) diff --git a/config-repo/pcp-ballistics-service.yaml b/config-repo/pcp-ballistics-service.yaml index 79f9b8a..2be7d2f 100644 --- a/config-repo/pcp-ballistics-service.yaml +++ b/config-repo/pcp-ballistics-service.yaml @@ -49,9 +49,12 @@ spring: default-topic: pcp.tle datasource: driver-class-name: org.postgresql.Driver - url: jdbc:postgresql://${pcp.infra.postgres.host}:${pcp.infra.postgres.port}/pcp_ballistics - username: postgres - password: password + url: "${SPRING_DATASOURCE_URL}" + username: "${SPRING_DATASOURCE_USERNAME}" + password: "${SPRING_DATASOURCE_PASSWORD}" +# url: jdbc:postgresql://${pcp.infra.postgres.host}:${pcp.infra.postgres.port}/pcp_ballistics +# username: postgres +# password: password jpa: hibernate: ddl-auto: validate diff --git a/libs/ballistics-lib/src/test/kotlin/Test.kt b/libs/ballistics-lib/src/test/kotlin/Test.kt index 757851d..f119bbf 100644 --- a/libs/ballistics-lib/src/test/kotlin/Test.kt +++ b/libs/ballistics-lib/src/test/kotlin/Test.kt @@ -1,8 +1,10 @@ import ballistics.Ballistics +import ballistics.types.EarthType import ballistics.types.InitialConditions import ballistics.types.IntegrationType import ballistics.types.ModDVType import ballistics.types.OrbitalPoint +import ballistics.utils.astro.AstronomerJ2000 import ballistics.utils.fromDateTime import ballistics.utils.math.Vector3D import ballistics.utils.toDateTime @@ -15,106 +17,38 @@ fun main() { var ts = System.currentTimeMillis() val r = Ballistics() - r.modDVType = ModDVType.BARS // BARS - r.integrationType = IntegrationType.ADAMS7 + r.modDVType = ModDVType.KONDOR // BARS + r.integrationType = IntegrationType.RUNG4 + + + + val tt2 = LocalDateTime.of(2028, 12, 11, 1, 24, 24, 257000000) + + val op = OrbitalPoint( + fromDateTime(tt2), + 1, + Vector3D( + 2610612.004898679, + -3507514.947081291, + -5291534.374006776, + ), + Vector3D( + -4935.515395115775, + 3497.047795669036, + -4742.501356855924, + ), + ) + val mnu = mutableListOf() mnu.add( InitialConditions( - OrbitalPoint( - LocalDateTime.of(2021, 12, 3, 0, 5, 45, 0).toEpochSecond(ZoneOffset.UTC).toDouble(), - 1, - Vector3D( - -5357933.7872, - 4328646.1787, - 0.0, - ), - Vector3D( - 941.8995373, - 1150.6919822, - 7544.9920840, - ), - ), - 0.0061, + op, + 0.06 / 9.8, 125.0, ), ) - /* - mnu.add(InitialConditions(OrbitalPoint(1681135417.0, - 1499, - 6782429.138044466, - -1205586.994919729, - 0.0, - -272.89561674108205, - -1460.1016031205972, - 7539.209413654664), - 0.0, - 100.0) - ) - - - mnu.add(InitialConditions(OrbitalPoint(1681203547.0, - 1511, - 2796871.797932365, - 6295220.245166648, - 0.0, - 1351.432690993002, - -615.1950685524682, - 7539.420044409451), - 0.0, - 100.0) - ) - - mnu.add(InitialConditions(OrbitalPoint(1681288710.0, - 1526, - 2219522.8066600505, - 6520960.574145492, - 0.0, - 1401.0525909402313, - -491.90052480161194, - 7539.654233369637), - 0.0, - 100.0) - ) - - mnu.add(InitialConditions(OrbitalPoint(1681373873.0, - 1541, - 1624190.3979707498, - 6693858.330353258, - 0.0, - 1439.4621272728175, - -364.5959436771924, - 7539.927000039702), - 0.0, - 100.0) - ) - - mnu.add(InitialConditions(OrbitalPoint(1681464714.0, - 1557, - 3663882.4989639986, - 5832354.67692114, - 0.0, - 1249.158953470858, - -802.9876366520331, - 7540.375561571017), - 0.0, - 100.0) - ) - - mnu.add(InitialConditions(OrbitalPoint(1681538522.0, - 1570, - -2393483.7360840607, - 6458206.838182452, - 0.0, - 1398.0568057512764, - 501.055477122656, - 7540.680958625912), - 0.0, - 100.0) - ) - - */ mnu.sortBy { it.point.t } @@ -123,9 +57,14 @@ fun main() { println("время расчета = ${System.currentTimeMillis() - ts}мс") -// for (p in r.points) -// println("${p.vit} ${LocalDateTime.ofEpochSecond(p.t.toLong(),0, ZoneOffset.UTC)} ${p.r.x} ${p.r.y} ${p.r.z} ${p.v.x} ${p.v.y} ${p.v.z}") -// + val astro = AstronomerJ2000(EarthType.PZ90d02) + for (p in r.revolutions) { + val op = astro.grinvToASK(p.vuz) + println( + "${op.vit} ${toDateTime(op.t)} " + + "${op.r.x} ${op.r.y} ${op.r.z} ${op.v.x} ${op.v.y} ${op.v.z}" + ) + } ts = System.currentTimeMillis() r.calculateFlightLine(mnu.first().point.t, mnu.first().point.t + 86400.0 * 5) diff --git a/services/pcp-ballistics-service/src/main/kotlin/space/nstart/pcp/pcp_request_service/service/SatelliteService.kt b/services/pcp-ballistics-service/src/main/kotlin/space/nstart/pcp/pcp_request_service/service/SatelliteService.kt index 228314a..d1835aa 100644 --- a/services/pcp-ballistics-service/src/main/kotlin/space/nstart/pcp/pcp_request_service/service/SatelliteService.kt +++ b/services/pcp-ballistics-service/src/main/kotlin/space/nstart/pcp/pcp_request_service/service/SatelliteService.kt @@ -874,7 +874,6 @@ class SatelliteService { } - fun getAscNodes(id : Long, tn : LocalDateTime?, tk : LocalDateTime?) : List { return ascNodeRepository.findBySatelliteIdAndTimeBetween( @@ -906,13 +905,4 @@ data class SatelliteBallisticsDeletionSummary( -//DT: 11.12.2028 01:24:24.257000000 MDT -//x= 2610612.004898679 -//y= -3507514.947081291 -//z= -5291534.374006776 -//Vx= -4935.515395115775 -//Vy= 3497.047795669036 -//Vz= -4742.501356855924 -//CS: GSK -//Sb= 0.06 -//kappa= 0 +