From c2ddfe7848b37f049eef454d4ebfac8f8ad9730b Mon Sep 17 00:00:00 2001 From: Luc Maisonobe <luc@orekit.org> Date: Thu, 22 May 2014 12:38:23 +0200 Subject: [PATCH] Finalized direct localization diagrams. --- design/direct-localization-class-diagram.puml | 4 +- .../direct-localization-sequence-diagram.puml | 92 ++++++++++--------- 2 files changed, 52 insertions(+), 44 deletions(-) diff --git a/design/direct-localization-class-diagram.puml b/design/direct-localization-class-diagram.puml index ee230694..8d90bc51 100644 --- a/design/direct-localization-class-diagram.puml +++ b/design/direct-localization-class-diagram.puml @@ -39,7 +39,7 @@ +intersection(ellipsoid, position, los) +refineIntersection(ellipsoid, position, los, closeGuess) } - Tile <-- IntersectionAlgorithm : compute elevation + Tile <-- IntersectionAlgorithm : evaluate DEM } package utils #DDEBD8 { @@ -51,7 +51,7 @@ +pointOnGround(position, los) } class SpacecraftToObservedBody - IntersectionAlgorithm --> ExtendedEllipsoid : find DEM tiles boundaries + IntersectionAlgorithm --> ExtendedEllipsoid : compute grid points crossings } package api #DDEBD8 { diff --git a/design/direct-localization-sequence-diagram.puml b/design/direct-localization-sequence-diagram.puml index f0475efd..f4eb1ba3 100644 --- a/design/direct-localization-sequence-diagram.puml +++ b/design/direct-localization-sequence-diagram.puml @@ -31,53 +31,61 @@ hide footbox - participant "Application" as A - participant "Interface" as I + participant "UserMain" as A participant "Rugged" as R - participant "Algorithm" as G - participant "Orekit" as O + participant "LineSensor" as LS + participant "SpacecraftToObservedBody" as S + participant "ExtendedEllipsoid" as E + participant "IntersectionAlgorithm" as G + participant "Tile" as T activate A - A -> I : directLocalization(name, number) - activate I - I -> R : directLocalization(name, number) + A -> R : directLocalization(name, number) + activate R + R -> LS : apply time stamping model + R -> S : get transforms at line date + R -> R : loop over line pixels pₖ activate R - R -> R : apply time stamping model - R -> R : apply combined transform provider at date - R -> R : loop over line pixels pₖ - activate R - R -> O : intersection(ellipsoid, line-of-sight) - R -> R : fix speed of light delay in transforms - activate R - deactivate R - R -> G : intersection(ellipsoid, line-of-sight) - activate G - G -> O : conversions - G -> R : elevation(φₖ, λₖ) - activate R - R -> I : DEM callback - I --> R : DEM raw data cell - R --> G : h(φₖ, λₖ) - deactivate R - G -> O : conversions - G -> R : elevation(φₖ, λₖ) - activate R - R --> G : h(φₖ, λₖ) - deactivate R - G -> O : conversions - G -> R : elevation(φₖ, λₖ) - activate R - R --> G : h(φₖ, λₖ) - deactivate R - G -> O : conversions - G --> R : φₖ, λₖ, hₖ - deactivate G - R --> R : list(φₖ, λₖ, hₖ) - deactivate R - R --> I : list(φₖ, λₖ, hₖ) + R -> R : fix aberration of light + R -> E : approximate point on ground + R -> R : fix speed of light delay in transforms + R -> G : intersection(ellipsoid, line-of-sight) + activate G + G -> E : grid points crossings + G -> T : elevation(φₖ, λₖ) + activate T + T -> A : DEM callback + A --> T : DEM raw data cell + T --> G : h(φₖ, λₖ) + deactivate T + G -> E : grid points crossings + G -> T : elevation(φₖ, λₖ) + activate T + T --> G : h(φₖ, λₖ) + deactivate T + G -> E : grid points crossings + G -> T : elevation(φₖ, λₖ) + activate T + T --> G : h(φₖ, λₖ) + deactivate T + G -> T : pixel intersection(los) + activate T + T --> G : φₖ, λₖ, hₖ + deactivate T + G --> R : φₖ, λₖ, hₖ + deactivate G + R -> R : refine speed of light delay in transforms + R -> G : refine intersection(ellipsoid, line-of-sight) + activate G + G -> T : refine pixel intersection(los) + activate T + T --> G : φₖ, λₖ, hₖ + deactivate T + deactivate G + R --> R : array(φₖ, λₖ, hₖ) deactivate R - I --> A : list(φₖ, λₖ, hₖ) - deactivate I + R --> A : array(φₖ, λₖ, hₖ) + deactivate R deactivate A @enduml -- GitLab