Maria GDK 4.5.0.137
Documentation of managed code in release branch
Loading...
Searching...
No Matches
TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel Class Reference

Satellite layer vew model. More...

Inheritance diagram for TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel:
TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesUpdate TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteTime TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight TPG.Satellite.Interface.ISatelliteTimeTicks TPG.GeoFramework.Contracts.Geo.Layer.IGeoLayerViewModel TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore TPG.GeoFramework.Contracts.Geo.Layer.IViewModelBase

Public Member Functions

 SatelliteLayerViewModel (IGeoUnitsSetting geoUnitsSetting, IGeoContext geoContext, IGeoNavigator geoNavigator, SatelliteLayerViewFactory satelliteObjectLayerViewFactory)
 Constructor.
 
 SatelliteLayerViewModel (ISatellitesStore satelliteStore, IGeoUnitsSetting geoUnitsSetting, IGeoContext geoContext, IGeoNavigator geoNavigator, SatelliteLayerViewFactory satelliteObjectLayerViewFactory)
 
override void HandleInputEvent (GeoInputEventArgs inputEventArgs)
 Called to forward events to the layer.
Parameters
inputEventArgs
If the layer handles the event, it must set the Handled property to true.
 
override void Update ()
 Event called at regular intervals to update contents of the layer.
 
override void Generate ()
 Requests that the layer generates it's view.
 
List< int > FindSatellites (GeoPos position, bool onlyFirstSatellite)
 
Dictionary< int, TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteGetSatellites ()
 Returns all satellites including historic satellites.
Returns

 
bool EnableSatellite (int id)
 Sets ISatellite.IsVisible to true for satellite with given id.
Parameters
idSatellite id.
Returns
True if satellite was enabled.

 
bool HideSatellite (int id)
 Sets ISatellite.IsVisible to false for satellite with given id.
Parameters
id
Returns
True if satellite was hidden.

 
bool RemoveSatellite (int id)
 Removes given satellite.
Parameters
satIdId for satellite
redrawIf true, will automatically start new rendering process.
Returns
True if satellite was removed.

 
ISatellite GetSatellite (int satId)
 Returns the satellite object with given id.
Parameters
satIdSatellite id.
Returns
Satellite with requested id or null if not existing.

 
void AddSatellite (ISatellite satellite)
 Removes any existing satellite with same id before adding satellite to the layer's satellite objects.
Parameters
satelliteAdd this satellite.

 
bool ReplaceSatellite (ISatellite satellite)
 Replaces any existing satellite with same id before adding satellite to the layer's satellite objects.
Parameters
satelliteAdd this satellite.

 
bool AddSatelliteObject (int satId, ISatelliteData satObject, string tle)
 Adds the given satellite object to existing satellite with given id.
Parameters
satIdAdds object to satellite with this id.
satObjectAdds this object to the satellite.
tleThe TLE used to create satellite object.

 
void UpdateSatellites (bool informListeners)
 ///

Parameters
informListeners

 
void ResetDeviceInfo (ISatellite satellite)
 
Parameters
satellite

 
bool CreateSatellite (int satId, DateTime satelliteTime, TimeSpan beforeTrajectorySpan, TimeSpan afterTrajectorySpan, string username, string password)
 Will create a satellite for the given satellite id. NB! This can be time consuming since the TLE is retrieved from https://www.space-track.org. This method should therefore not be used to create many satellites, instead use TPG.Data.Satellite.SpaceTrack.GetSpaceTrack to retrieve TLEs for multiple satellites. Will fire the SatelliteCreated event when the asynchronous creation process is completed.
Parameters
satIdCreate satellite with this id.
satelliteTimeTime for satellite position
beforeTrajectorySpanTime span for trajectory before satellite position.
afterTrajectorySpanTime span for trajectory after satellite position.
usernameUser name used when retrieving the TLE. If empty value is given, the internal defined user name is used.
passwordPassword used when retrieving the TLE. If empty value is given, the internal defined password is used.
Returns
True if the creation process was started successfully.

 
bool CreateSatellite (int satId, DateTime satelliteTime, string username, string password)
 Will create a satellite for the given satellite id. NB! This can be time consuming since the TLE is retrieved from https://www.space-track.org. This method should therefore not be used to create many satellites, instead use TPG.Data.Satellite.SpaceTrack.GetSpaceTrack to retrieve TLEs for multiple satellites. Will fire the SatelliteCreated event when the asynchronous creation process is completed.
Parameters
satIdCreate satellite with this id.
satelliteTimeTime for satellite position
usernameUser name used when retrieving the TLE. If empty value is given, the internal defined user name is used.
passwordPassword used when retrieving the TLE. If empty value is given, the internal defined password is used.
Returns
True if the creation process was started successfully.

 
bool AddSatelliteObject (int satId, List< ISatelliteData > satObjects, string tle)
 Adds given satellites to exiting satellite with given id.
Parameters
satIdAdds object to satellite with this id.
satObjectsAdds these objects to the satellite.
tleThe TLE used to create satellite objects.

 
void UpdateSatellites (bool symbol, bool trajectory)
 Convenient method to update all satellites to ISatelliteTime.Time. Typical usage is forward/backward time adjusting.
Parameters
symbolUpdate position objects.
trajectoryUpdate trajectory objects.

 
void UpdateSatellites (double seconds, bool symbol, bool trajectory)
 Convenient method to update all satellites with given updateFrequency. Typical usage is forward/backward time adjusting.
Parameters
secondsA negative value will update current back in time, positive forward in time.
symbolIf true, update position for symbol to new time.
trajectoryIf true, update trajectory to new start and time.

 
bool RemoveSatellite (int satId, bool redraw)
 Removes given satellite.
Parameters
satIdId for satellite
redrawIf true, will automatically start new rendering process.
Returns
True if satellite was removed.

 
bool RemoveSatelliteItems (int satId, List< string > instances, bool redraw)
 Removes objects from given satellite.
Parameters
satIdId for satellite
instancesAll satellite objects with given instances will be removed.
redrawIf true, will automatically start new rendering process.
Returns
True if instances were removed.

 
ISatellite TrackedSatellite (int satelliteId)
 
Parameters
satelliteId
Returns

 
void UpdateSatellites (DateTime time, bool automaticCurveUpdateEnabled, TimeSpan trajectoryBackwardSpan, TimeSpan trajectoryForwardSpan, bool symbol, bool trajectory, bool recalculateTrajectory)
 
Parameters
trajectoryForwardSpan
symbol
trajectory
recalculateTrajectory
time
automaticCurveUpdateEnabled
trajectoryBackwardSpan

 
bool StartAutomaticSatellitePositioning (double updateFrequency)
 Start automatic updating of the layer's satellites.
Parameters
updateFrequencyFrequency for satellite updates..
Returns

 
bool StopAutomaticSatellitePositioning ()
 Stop automatic updating of the layer's satellites.
Returns

 
virtual List< SelectedSatObjectHitTest (Point pointInView, Dictionary< int, TPG.GeoFramework.SatelliteLayer.Contracts.ISatellite > satellites)
 
Parameters
pointInView
satellites
Returns

 
void SetTrajectoryInvalid ()
 
void ShowSatellitesHistory (int satelliteId, bool showSatellites)
 
void ShowSatellitesHistory (int satelliteId, DateTime timeStamp, bool showSatellites)
 
void AddSatelliteHistory (ISatellite satellite, bool visible, bool includeInComputations)
 
void AddSatelliteHistory (ISatellite satellite, DateTime timeStamp, bool visible, bool includeInComputations)
 
void RemoveSatelliteHistory ()
 
bool RemoveSatelliteHistory (int satelliteId)
 
bool RemoveSatelliteHistory (int satelliteId, DateTime timeStamp)
 
List< ISatelliteHistoryObjectSatelliteHistory (int satelliteId)
 
ISatelliteHistoryObject SatelliteHistory (int satelliteId, DateTime timestamp)
 
List< ISatelliteHistoryObjectSatelliteHistory (DateTime timestamp)
 
void BeforeSatellitesUpdate ()
 
void AfterSatellitesUpdate ()
 
bool AddLineOfSightViewPoint (string id, GeoPos position)
 
bool AddLineOfSightViewPoint (ISatelliteLineOfSightViewPoint viewPoint)
 Add given view point.
Parameters
viewPointAlready created view point.
Returns

 
bool RemoveViewPoint (string id)
 Remove view point with given id.
Parameters
idUnique view point id.
Returns
True if view point was successfully removed.

 
void RemoveAllViewPoints ()
 Remove all view points.
 
ISatelliteLineOfSightViewPoint LineOfSightViewPoint (string id)
 Request view point with given id.
Parameters
idUnique id for requested view point.
Returns
Requested object or null if requested view point does not exist.

 
List< ISatelliteLineOfSightViewPointLineOfSightViewPoints (int satelliteId)
 Request view points tracking given satellite.
Parameters
satelliteIdSatellite id.
Returns
All view points that are tracking given satellite.

 
List< ISatelliteLineOfSightViewPointLineOfSightViewPoints ()
 Request all view points.
Returns
All view point objects.

 
bool SatelliteInSight (string viewPointId, int satelliteId)
 Request cached status for given satellite and given view point.
Parameters
viewPointIdUnique view point id.
satelliteIdSatellite id.
Returns
Cached state for given satellite id and given view point.

 
bool SatelliteInSight (int satelliteId)
 Request cached status for given satellite.
Parameters
satelliteIdSatellite id.
Returns
Cached state for given satellite id.

 
double GetTerrainHeight (GeoPos position)
 
void ComputeIntersectTerrainPosition (GeoPos3D startPos, GeoPos3D endPos)
 Starts an asynchronous computation of terrain intersection between given points. The event ISatelliteLineOfSight.TerrainIntersectProcessed is fired when computation is finished. Intersection point is available in ISatelliteLineOfSight.TerrainIntersectPosition.
Parameters
startPosStart point for ray.
endPosEnd point for ray.

 
void ComputeInSight (bool addNotVisibleComputations)
 Starts an asynchronous computation of view point in-sight statuses. The event ViewPointsProcessed is fired when computation is finished.
Parameters
addNotVisibleComputationsIf true, will also store not-visible results.

 
void ComputeWhenInArea (DateTime startTime, DateTime stopTime, TimeSpan steps, bool addNotVisibleComputations)
 Start an asynchronous computation of when satellites are visible from view points. The event ViewPointsProcessed is fired when computation is finished.
Parameters
startTimeStart time for computations.
stopTimeEnd time for computations.
stepsTime interval between each computation.
addNotVisibleComputationsIf true, will also store not-visible results.

 
void ComputeInFootprints (bool addNotVisibleComputations)
 Starts an asynchronous computation of view point inside-footprint statuses. The event ViewPointsProcessed is fired when computation is finished.
Parameters
addNotVisibleComputationsIf true, will also store not-visible results.

 
void ComputeWhenInFootprints (DateTime startTime, DateTime stopTime, TimeSpan steps, bool addNotVisibleComputations)
 Start an asynchronous computation of when view points are inside footprints. The event ViewPointsProcessed is fired when computation is finished.
Parameters
startTimeStart time for computations.
stopTimeEnd time for computations.
stepsTime interval between each computation.
addNotVisibleComputationsIf true, will also store not-visible results.

 
bool StopComputing ()
 If possible, Kills the asynchronous process.
 
string StatusAsXml ()
 Returns computation results in all view points' ISatelliteLineOfSightViewPoint.Status as xml.
 
- Public Member Functions inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel
bool CreateSatellite (int satId, DateTime satelliteTime, TimeSpan beforeTrajectorySpan, TimeSpan afterTrajectorySpan, string username, string password)
 Will create a satellite for the given satellite id. NB! This can be time consuming since the TLE is retrieved from https://www.space-track.org. This method should therefore not be used to create many satellites, instead use TPG.Data.Satellite.SpaceTrack.GetSpaceTrack to retrieve TLEs for multiple satellites. Will fire the SatelliteCreated event when the asynchronous creation process is completed.
 
bool CreateSatellite (int satId, DateTime satelliteTime, string username, string password)
 Will create a satellite for the given satellite id. NB! This can be time consuming since the TLE is retrieved from https://www.space-track.org. This method should therefore not be used to create many satellites, instead use TPG.Data.Satellite.SpaceTrack.GetSpaceTrack to retrieve TLEs for multiple satellites. Will fire the SatelliteCreated event when the asynchronous creation process is completed.
 
void UpdateSatellites (bool symbol, bool trajectory)
 Convenient method to update all satellites to ISatelliteTime.Time. Typical usage is forward/backward time adjusting.
 
void UpdateSatellites (double seconds, bool symbol, bool trajectory)
 Convenient method to update all satellites with given updateFrequency. Typical usage is forward/backward time adjusting.
 
bool StartAutomaticSatellitePositioning (double updateFrequency)
 Start automatic updating of the layer's satellites.
 
bool StopAutomaticSatellitePositioning ()
 Stop automatic updating of the layer's satellites.
 
List< int > FindSatellites (GeoUnits.GeoPos position, bool onlyFirstSatellite)
 Find satellites "hit" by given position.
 
List< SelectedSatObjectHitTest (Point pointInView, Dictionary< int, TPG.GeoFramework.SatelliteLayer.Contracts.ISatellite > satellites)
 
- Public Member Functions inherited from TPG.GeoFramework.Contracts.Geo.Layer.IGeoLayerViewModel
void HandleInputEvent (GeoInputEventArgs inputEventArgs)
 Called to forward events to the layer.
 
void Generate ()
 Requests that the layer generates it's view.
 
void Update ()
 Event called at regular intervals to update contents of the layer.
 
void SetDirty (bool isDirty)
 Sets a boolean value indicating the need for an update of the contents of a layer.
 
void SetDirty (object dirtySource)
 Sets dirty flag and stores sender, use to avoid cyclic dirtying.
 
bool IsDirty ()
 
bool EnableSatellite (int id)
 Sets ISatellite.IsVisible to true for satellite with given id.
 
bool HideSatellite (int id)
 Sets ISatellite.IsVisible to false for satellite with given id.
 
bool RemoveSatellite (int satId)
 Removes given satellite.
 
bool RemoveSatellite (int satId, bool redraw)
 Removes given satellite.
 
bool RemoveSatelliteItems (int satId, List< string > instances, bool redraw)
 Removes objects from given satellite.
 
Dictionary< int, TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteGetSatellites ()
 Returns all satellites including historic satellites.
 
ISatellite GetSatellite (int satId)
 Returns the satellite object with given id.
 
void AddSatellite (ISatellite satellite)
 Removes any existing satellite with same id before adding satellite to the layer's satellite objects.
 
bool AddSatelliteObject (int satId, ISatelliteData satObject, string tle)
 Adds the given satellite object to existing satellite with given id.
 
bool AddSatelliteObject (int satId, List< ISatelliteData > satObjects, string tle)
 Adds given satellites to exiting satellite with given id.
 
bool ReplaceSatellite (ISatellite satellite)
 Replaces any existing satellite with same id before adding satellite to the layer's satellite objects.
 
void UpdateSatellites (DateTime time, bool automaticCurveUpdateEnabled, TimeSpan trajectoryBackwardSpan, TimeSpan trajectoryForwardSpan, bool symbol, bool trajectory, bool recalculateTrajectory)
 
void UpdateSatellites (double seconds, bool symbol, bool trajectory)
 
void UpdateSatellites (bool informListeners)
 
void ResetDeviceInfo (ISatellite satellite)
 
ISatellite TrackedSatellite (int satelliteId)
 
void SetTrajectoryInvalid ()
 
void BeforeSatellitesUpdate ()
 
void AfterSatellitesUpdate ()
 
- Public Member Functions inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight
bool AddLineOfSightViewPoint (string id, GeoPos position)
 Add an observer view point for line-of-sight computations.
 
bool AddLineOfSightViewPoint (ISatelliteLineOfSightViewPoint viewPoint)
 Add given view point.
 
bool RemoveViewPoint (string id)
 Remove view point with given id.
 
void RemoveAllViewPoints ()
 Remove all view points.
 
ISatelliteLineOfSightViewPoint LineOfSightViewPoint (string id)
 Request view point with given id.
 
List< ISatelliteLineOfSightViewPointLineOfSightViewPoints (int satelliteId)
 Request view points tracking given satellite.
 
List< ISatelliteLineOfSightViewPointLineOfSightViewPoints ()
 Request all view points.
 
bool SatelliteInSight (int satelliteId)
 Request cached status for given satellite.
 
bool SatelliteInSight (string viewPointId, int satelliteId)
 Request cached status for given satellite and given view point.
 
double GetTerrainHeight (GeoPos position)
 Return terrain height for given position or negative -10000 if terrain height could not be obtained.
 
void ComputeIntersectTerrainPosition (GeoPos3D startPos, GeoPos3D endPos)
 Starts an asynchronous computation of terrain intersection between given points. The event ISatelliteLineOfSight.TerrainIntersectProcessed is fired when computation is finished. Intersection point is available in ISatelliteLineOfSight.TerrainIntersectPosition.
 
void ComputeInSight (bool addNotVisibleComputations)
 Starts an asynchronous computation of view point in-sight statuses. The event ViewPointsProcessed is fired when computation is finished.
 
void ComputeWhenInArea (DateTime startTime, DateTime stopTime, TimeSpan steps, bool addNotVisibleComputations)
 Start an asynchronous computation of when satellites are visible from view points. The event ViewPointsProcessed is fired when computation is finished.
 
void ComputeInFootprints (bool addNotVisibleComputations)
 Starts an asynchronous computation of view point inside-footprint statuses. The event ViewPointsProcessed is fired when computation is finished.
 
void ComputeWhenInFootprints (DateTime startTime, DateTime stopTime, TimeSpan steps, bool addNotVisibleComputations)
 Start an asynchronous computation of when view points are inside footprints. The event ViewPointsProcessed is fired when computation is finished.
 
string StatusAsXml ()
 Returns computation results in all view points' ISatelliteLineOfSightViewPoint.Status as xml.
 
bool StopComputing ()
 If possible, Kills the asynchronous process.
 

Static Public Member Functions

static double MaxFootprintViewAngle (double viewAngle, double tiltAngle, double height)
 

Properties

ISatelliteLayerView View [get, set]
 The satellite layer's view.
 
bool AutomaticCurveUpdateEnabled [get, set]
 If true, the view model will automatically adjust start and end time for projectories so that they match the device extent. In addition this feature must be enabled on satellites with ISatellite.AutomaticCurveUpdateEnabled. Note, the projectories are updated only when the device extent changes.
 
string SatelliteInformation [get]
 Information for selected satellite.
 
int TrackSatellite = 0 [get, set]
 If set, the layer will track any changes on satellite with given id and keep satellite in device center.
 
int TrackSensitivity = 1000 [get, set]
 Wait time (ms) before the device zoom change is triggered. Any new changes while waiting will start a new wait period.
 
double TrackDistance = 10 [get, set]
 Acceptable percentage distance from center point to satellite before a device zoom is triggered. Distance is a simple calculation: distance = sqrt(deltaLon^2 + deltaLat^2)
 
int AutomaticRefreshViewPeriod [get, set]
 
bool RenderingUsingClip = false [get, set]
 
ISatelliteSystemTimeUpdate SatelliteSystemTimeUpdate [get]
 
Dictionary< int, TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteSatellites [get]
 All regular satellites.
 
List< int > AvailableSatelliteIds [get]
 Ids for all satellites in the layer.
 
List< int > HiddenSatelliteIds [get]
 Ids for all satellites that are hidden by ISatellite.IsVisible set to false.
 
bool LockRedraw [get, set]
 Prevents rendering of satellites. Should be used if satellites are updated and a re-rendering is required. Setting this value to false after updating will start a new rendering process.
 
long SatelliteLayerSettings = (long) TPG.GeoFramework.SatelliteLayer.Contracts.SatelliteLayerSettings.UseRenderersInAppropriateOrder [get, set]
 FootprintSettings for layer behaviour. Valid values defined in TPG.GeoFramework.SatelliteLayer.Contracts.SatelliteLayerSettings.
 
List< KeyValuePair< string, string > > SatelliteMetadataInPopup [get, set]
 Controls what metadata is displayed in dialog for selected satellite. Key-values found in satellite object's ISatelliteData.Fields and displayed. The default content can be changed.
 
bool IsAutomaticPositioning = false [get]
 True if automatic update of satellites is enabled.
 
ISatelliteLabelLayout LabelLayout = SatelliteLabelLayout.Default() [get, set]
 Common label rendering layout, can be overriden by layout set individually on each satellite.
 
DateTime Time [get, set]
 Time for satellite when updating the satellite.
 
TimeSpan TrajectoryBackwardSpan [get, set]
 Trajectory's backward time span used when updating the satellite.
 
TimeSpan TrajectoryForwardSpan [get, set]
 Trajectory's forward time span used when updating the satellite.
 
DateTime? SatelliteBaseTime [get, set]
 Sets a specific start time for the automatic time updating. If null, the updating is using current time only.
 
double PlaybackSpeed [get, set]
 System time is updated ny this factor when automatic time updating is active. A factor of 1 updates in real time. A positive value speeds up the time, a negative value reverses the time updating.
 
Dictionary< int, List< ISatelliteHistoryObject > > HistoryObjects [get, set]
 
bool ShowSatelliteHistory [get, set]
 
List< int > SatelliteHistories [get]
 
bool ShowTimeTicks = true [get, set]
 Gets or sets whether time ticks are shown.
 
double TicksLength = 10 [get, set]
 Length of tick in pixels to each side. Must not be zero to draw ticks.
 
double TickWidth = 2 [get, set]
 Tick line width.
 
int TickStepMinutes = 0 [get, set]
 Number of minutes between each tick. Must not be zero to draw ticks.
 
int TickRangeMinutes = 0 [get, set]
 Total range of ticks. Must not be zero to draw ticks.
 
Color? TickColor = null [get, set]
 Tick color. If not set, the curve color is used.
 
bool ShowTimeAsUtc = false [get, set]
 If true, time will be shown as UTC.
 
bool UtcInLabel = false [get, set]
 If true, will include 'Utc' in label if time is of type UTC.
 
ISatelliteLabelLayout TickLayout = SatelliteLabelLayout.Default(Colors.White, 12, "Left") [get, set]
 Layout for time label. If not set, layer's layout is used.
 
bool LineOfSightEnabled [get, set]
 If true, line-of-sight functionality is enabled.
 
bool ApplyElevationHeight = true [get, set]
 If true, line-of-sight computations will request height for view point if ISatelliteLineOfSightViewPoint.Height of view point is not already set before computation is started.
 
double AcceptableTerrainIntersectionDistance [get, set]
 If value is greater than zero, visible satellites will also be verified with terrain data if this is available. The satellite is set as not-visible if satellite-to-observer ray has a terrain intersection further away than given value. NB! THIS IS A VERY TIME-CONSUMING OPERATION!!!!!
 
List< string > LineOfSights [get]
 Unique ids for all view points.
 
bool HasLineOfSights [get]
 True if there are added view points.
 
IElevationData ElevationData = null [get, set]
 Elevation data used for height request and terrain verification.
 
bool HasSatelliteVisibleComputations [get]
 True if view points have computations about satellite visibility.
 
bool HasInsideFootprintComputations [get]
 True if view points have computations about satellites inside footprints.
 
GeoPos3DTerrainIntersectPosition [get]
 Result of ISatelliteLineOfSight.ComputeIntersectTerrainPosition.
 
bool IsComputing [get]
 True if an asynchronous process is running.
 
- Properties inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel
bool LockRedraw [get, set]
 Prevents rendering of satellites. Should be used if satellites are updated and a re-rendering is required. Setting this value to false after updating will start a new rendering process.
 
bool AutomaticCurveUpdateEnabled [get, set]
 If true, the view model will automatically adjust start and end time for projectories so that they match the device extent. In addition this feature must be enabled on satellites with ISatellite.AutomaticCurveUpdateEnabled. Note, the projectories are updated only when the device extent changes.
 
long SatelliteLayerSettings [get, set]
 FootprintSettings for layer behaviour. Valid values defined in TPG.GeoFramework.SatelliteLayer.Contracts.SatelliteLayerSettings.
 
List< KeyValuePair< string, string > > SatelliteMetadataInPopup [get, set]
 Controls what metadata is displayed in dialog for selected satellite. Key-values found in satellite object's ISatelliteData.Fields and displayed. The default content can be changed.
 
bool IsAutomaticPositioning [get]
 True if automatic update of satellites is enabled.
 
ISatelliteLabelLayout LabelLayout [get, set]
 Common label rendering layout, can be overriden by layout set individually on each satellite.
 
string SatelliteInformation [get]
 Information for selected satellite.
 
int TrackSatellite [get, set]
 If set, the layer will track any changes on satellite with given id and keep satellite in device center.
 
int TrackSensitivity [get, set]
 Wait time (ms) before the device zoom change is triggered. Any new changes while waiting will start a new wait period.
 
double TrackDistance [get, set]
 Acceptable percentage distance from center point to satellite before a device zoom is triggered. Distance is a simple calculation: distance = sqrt(deltaLon^2 + deltaLat^2)
 
int AutomaticRefreshViewPeriod [get, set]
 
bool RenderingUsingClip [get, set]
 
DateTime? SatelliteBaseTime [get, set]
 Sets a specific start time for the automatic time updating. If null, the updating is using current time only.
 
double PlaybackSpeed [get, set]
 System time is updated ny this factor when automatic time updating is active. A factor of 1 updates in real time. A positive value speeds up the time, a negative value reverses the time updating.
 
- Properties inherited from TPG.GeoFramework.Contracts.Geo.Layer.IGeoLayerViewModel
string Name [get]
 A name representing the type of layer.
 
bool Visible [get, set]
 Gets or sets the visibility of the layer.
 
IGeoContext GeoContext [get, set]
 Gets or sets the GeoContext related to the layer.
 
IGeoLayerViewFactory GeoLayerViewFactory [get]
 Gets a factory responsible for creating a IGeoLayerViewFactory view.
 
IGeoLayerView GeoLayerView [get, set]
 Gets or sets the view associated with this view model.
 
IGeoNavigator GeoNavigator [get, set]
 Gets or sets the GeoNavigator related to the GeoControl.
 
IGeoControlViewModel GeoControlViewModel [get, set]
 Get or set geo control view model.
 
ClipMargins ClipMargins [get, set]
 Enables or disables clipping of the contents of the view, based on the specifed clip margins.
 
HashSet< object > DirtySources [get]
 All contributors to current dirty.
 
UIElement Tooltip [get, set]
 Get or set tooltip UI element.
 
- Properties inherited from TPG.GeoFramework.Contracts.Geo.Layer.IViewModelBase
string DisplayName [get]
 
- Properties inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore
ISatelliteSystemTimeUpdate SatelliteSystemTimeUpdate [get]
 
Dictionary< int, ISatelliteSatellites [get]
 All regular satellites.
 
List< int > AvailableSatelliteIds [get]
 Ids for all satellites in the layer.
 
List< int > HiddenSatelliteIds [get]
 Ids for all satellites that are hidden by ISatellite.IsVisible set to false.
 
- Properties inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteTime
DateTime Time [get, set]
 Time for satellite when updating the satellite.
 
TimeSpan TrajectoryBackwardSpan [get, set]
 Trajectory's backward time span used when updating the satellite.
 
TimeSpan TrajectoryForwardSpan [get, set]
 Trajectory's forward time span used when updating the satellite.
 
- Properties inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight
bool LineOfSightEnabled [get, set]
 If true, line-of-sight functionality is enabled.
 
bool ApplyElevationHeight [get, set]
 If true, line-of-sight computations will request height for view point if ISatelliteLineOfSightViewPoint.Height of view point is not already set before computation is started.
 
double AcceptableTerrainIntersectionDistance [get, set]
 If value is greater than zero, visible satellites will also be verified with terrain data if this is available. The satellite is set as not-visible if satellite-to-observer ray has a terrain intersection further away than given value. NB! THIS IS A VERY TIME-CONSUMING OPERATION!!!!!
 
List< string > LineOfSights [get]
 Unique ids for all view points.
 
bool HasLineOfSights [get]
 True if there are added view points.
 
IElevationData ElevationData [get, set]
 Elevation data used for height request and terrain verification.
 
GeoPos3DTerrainIntersectPosition [get]
 Result of ISatelliteLineOfSight.ComputeIntersectTerrainPosition.
 
bool IsComputing [get]
 True if an asynchronous process is running.
 
bool HasSatelliteVisibleComputations [get]
 True if view points have computations about satellite visibility.
 
bool HasInsideFootprintComputations [get]
 True if view points have computations about satellites inside footprints.
 
- Properties inherited from TPG.Satellite.Interface.ISatelliteTimeTicks
bool ShowTimeTicks [get, set]
 Gets or sets whether time ticks are shown.
 
double TicksLength [get, set]
 Length of tick in pixels to each side. Must not be zero to draw ticks.
 
double TickWidth [get, set]
 Tick line width.
 
int TickStepMinutes [get, set]
 Number of minutes between each tick. Must not be zero to draw ticks.
 
int TickRangeMinutes [get, set]
 Total range of ticks. Must not be zero to draw ticks.
 
Color? TickColor [get, set]
 Tick color. If not set, the curve color is used.
 
bool ShowTimeAsUtc [get, set]
 If true, time will be shown as UTC.
 
bool UtcInLabel [get, set]
 If true, will include 'Utc' in label if time is of type UTC.
 
ISatelliteLabelLayout TickLayout [get, set]
 Layout for time label. If not set, layer's layout is used.
 

Events

SatelliteSelectedEventHandler SatelliteSelected = delegate { }
 
SatelliteUnselectedEventHandler SatelliteUnselected = delegate { }
 
SatelliteRClickSelectedEventHandler SatelliteRClickSelected = delegate { }
 
SatelliteInSightStateEventHandler SatelliteInSightStateChanged = delegate { }
 
SatelliteClickEventHandler SatelliteClick = delegate { }
 
SatelliteCreatedEventHandler SatelliteCreated = delegate { }
 
FootprintsFailedHandler FailedFootprints = delegate { }
 
ViewPointsProcessedEventHandler ViewPointsProcessed = delegate { }
 
TerrainIntersectProcessedEventHandler TerrainIntersectProcessed = delegate { }
 
- Events inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel
SatelliteSelectedEventHandler SatelliteSelected
 Event fired when a satellite object is selected by mouse click. Can be disabled by SatelliteLayerSettings.NoSelectedEvent.
 
SatelliteUnselectedEventHandler SatelliteUnselected
 Event fired when a satellite object is unselected.
 
SatelliteRClickSelectedEventHandler SatelliteRClickSelected
 Event fired when a satellite object is selected by right mouse click which must be enabled with SatelliteLayerSettings.SelectObjectOnRClick.
 
SatelliteInSightStateEventHandler SatelliteInSightStateChanged
 Event fired when a satellite in sight state changes from a view point. View points are using the ISatelliteLineOfSight class.
 
SatelliteCreatedEventHandler SatelliteCreated
 Event fired when asynchronous creation of satellite is completed.
 
FootprintsFailedHandler FailedFootprints
 Event fired when rendering of footprints failed.
 
- Events inherited from TPG.GeoFramework.Contracts.Geo.Layer.IGeoLayerViewModel
VisibleChangedEventHandler VisibleChanged
 Visibility changed.
 
LayerChangedEventHandler LayerChanged
 Layer changed.
 
- Events inherited from TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight
ViewPointsProcessedEventHandler ViewPointsProcessed
 Event fired when the view points computation is finished. The results of the computation are available in each view point's ISatelliteLineOfSightViewPoint.Status
 
TerrainIntersectProcessedEventHandler TerrainIntersectProcessed
 Event fired when the terrain intersect computation is finished.
 

Detailed Description

Satellite layer vew model.

Constructor & Destructor Documentation

◆ SatelliteLayerViewModel() [1/2]

TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteLayerViewModel ( IGeoUnitsSetting  geoUnitsSetting,
IGeoContext  geoContext,
IGeoNavigator  geoNavigator,
SatelliteLayerViewFactory  satelliteObjectLayerViewFactory 
)
inline

Constructor.

Parameters
geoUnitsSetting
geoContextGeo context used when rendering.
geoNavigatorGeo navigator used when rendering.
satelliteObjectLayerViewFactoryFactory for creation of satellite view.

◆ SatelliteLayerViewModel() [2/2]

TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteLayerViewModel ( ISatellitesStore  satelliteStore,
IGeoUnitsSetting  geoUnitsSetting,
IGeoContext  geoContext,
IGeoNavigator  geoNavigator,
SatelliteLayerViewFactory  satelliteObjectLayerViewFactory 
)
inline
Parameters
satelliteStore
geoUnitsSetting
geoContext
geoNavigator
satelliteObjectLayerViewFactory

Member Function Documentation

◆ AddLineOfSightViewPoint()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AddLineOfSightViewPoint ( ISatelliteLineOfSightViewPoint  viewPoint)
inline

Add given view point.

Parameters
viewPointAlready created view point.
Returns

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ AddSatellite()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AddSatellite ( ISatellite  satellite)
inline

Removes any existing satellite with same id before adding satellite to the layer's satellite objects.

Parameters
satelliteAdd this satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ AddSatelliteObject() [1/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AddSatelliteObject ( int  satId,
ISatelliteData  satObject,
string  tle 
)
inline

Adds the given satellite object to existing satellite with given id.

Parameters
satIdAdds object to satellite with this id.
satObjectAdds this object to the satellite.
tleThe TLE used to create satellite object.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ AddSatelliteObject() [2/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AddSatelliteObject ( int  satId,
List< ISatelliteData satObjects,
string  tle 
)
inline

Adds given satellites to exiting satellite with given id.

Parameters
satIdAdds object to satellite with this id.
satObjectsAdds these objects to the satellite.
tleThe TLE used to create satellite objects.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ AfterSatellitesUpdate()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AfterSatellitesUpdate ( )
inline

◆ BeforeSatellitesUpdate()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.BeforeSatellitesUpdate ( )
inline

◆ ComputeInFootprints()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ComputeInFootprints ( bool  addNotVisibleComputations)
inline

Starts an asynchronous computation of view point inside-footprint statuses. The event ViewPointsProcessed is fired when computation is finished.

Parameters
addNotVisibleComputationsIf true, will also store not-visible results.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ ComputeInSight()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ComputeInSight ( bool  addNotVisibleComputations)
inline

Starts an asynchronous computation of view point in-sight statuses. The event ViewPointsProcessed is fired when computation is finished.

Parameters
addNotVisibleComputationsIf true, will also store not-visible results.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ ComputeIntersectTerrainPosition()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ComputeIntersectTerrainPosition ( GeoPos3D  startPos,
GeoPos3D  endPos 
)
inline

Starts an asynchronous computation of terrain intersection between given points. The event ISatelliteLineOfSight.TerrainIntersectProcessed is fired when computation is finished. Intersection point is available in ISatelliteLineOfSight.TerrainIntersectPosition.

Parameters
startPosStart point for ray.
endPosEnd point for ray.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ ComputeWhenInArea()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ComputeWhenInArea ( DateTime  startTime,
DateTime  stopTime,
TimeSpan  steps,
bool  addNotVisibleComputations 
)
inline

Start an asynchronous computation of when satellites are visible from view points. The event ViewPointsProcessed is fired when computation is finished.

Parameters
startTimeStart time for computations.
stopTimeEnd time for computations.
stepsTime interval between each computation.
addNotVisibleComputationsIf true, will also store not-visible results.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ ComputeWhenInFootprints()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ComputeWhenInFootprints ( DateTime  startTime,
DateTime  stopTime,
TimeSpan  steps,
bool  addNotVisibleComputations 
)
inline

Start an asynchronous computation of when view points are inside footprints. The event ViewPointsProcessed is fired when computation is finished.

Parameters
startTimeStart time for computations.
stopTimeEnd time for computations.
stepsTime interval between each computation.
addNotVisibleComputationsIf true, will also store not-visible results.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ CreateSatellite() [1/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.CreateSatellite ( int  satId,
DateTime  satelliteTime,
string  username,
string  password 
)
inline

Will create a satellite for the given satellite id. NB! This can be time consuming since the TLE is retrieved from https://www.space-track.org. This method should therefore not be used to create many satellites, instead use TPG.Data.Satellite.SpaceTrack.GetSpaceTrack to retrieve TLEs for multiple satellites. Will fire the SatelliteCreated event when the asynchronous creation process is completed.

Parameters
satIdCreate satellite with this id.
satelliteTimeTime for satellite position
usernameUser name used when retrieving the TLE. If empty value is given, the internal defined user name is used.
passwordPassword used when retrieving the TLE. If empty value is given, the internal defined password is used.
Returns
True if the creation process was started successfully.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ CreateSatellite() [2/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.CreateSatellite ( int  satId,
DateTime  satelliteTime,
TimeSpan  beforeTrajectorySpan,
TimeSpan  afterTrajectorySpan,
string  username,
string  password 
)
inline

Will create a satellite for the given satellite id. NB! This can be time consuming since the TLE is retrieved from https://www.space-track.org. This method should therefore not be used to create many satellites, instead use TPG.Data.Satellite.SpaceTrack.GetSpaceTrack to retrieve TLEs for multiple satellites. Will fire the SatelliteCreated event when the asynchronous creation process is completed.

Parameters
satIdCreate satellite with this id.
satelliteTimeTime for satellite position
beforeTrajectorySpanTime span for trajectory before satellite position.
afterTrajectorySpanTime span for trajectory after satellite position.
usernameUser name used when retrieving the TLE. If empty value is given, the internal defined user name is used.
passwordPassword used when retrieving the TLE. If empty value is given, the internal defined password is used.
Returns
True if the creation process was started successfully.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ EnableSatellite()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.EnableSatellite ( int  id)
inline

Sets ISatellite.IsVisible to true for satellite with given id.

Parameters
idSatellite id.
Returns
True if satellite was enabled.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ Generate()

override void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.Generate ( )
inline

Requests that the layer generates it's view.

Implements TPG.GeoFramework.Contracts.Geo.Layer.IGeoLayerViewModel.

◆ GetSatellite()

ISatellite TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.GetSatellite ( int  satId)
inline

Returns the satellite object with given id.

Parameters
satIdSatellite id.
Returns
Satellite with requested id or null if not existing.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ GetSatellites()

Dictionary< int, TPG.GeoFramework.SatelliteLayer.Contracts.ISatellite > TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.GetSatellites ( )
inline

Returns all satellites including historic satellites.

Returns

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ HandleInputEvent()

override void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.HandleInputEvent ( GeoInputEventArgs  inputEventArgs)
inline

Called to forward events to the layer.

Parameters
inputEventArgs
If the layer handles the event, it must set the Handled property to true.

Implements TPG.GeoFramework.Contracts.Geo.Layer.IGeoLayerViewModel.

◆ HideSatellite()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.HideSatellite ( int  id)
inline

Sets ISatellite.IsVisible to false for satellite with given id.

Parameters
id
Returns
True if satellite was hidden.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ HitTest()

virtual List< SelectedSatObject > TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.HitTest ( Point  pointInView,
Dictionary< int, TPG::GeoFramework::SatelliteLayer::Contracts::ISatellite satellites 
)
inlinevirtual

Parameters
pointInView
satellites
Returns

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ LineOfSightViewPoint()

ISatelliteLineOfSightViewPoint TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.LineOfSightViewPoint ( string  id)
inline

Request view point with given id.

Parameters
idUnique id for requested view point.
Returns
Requested object or null if requested view point does not exist.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ LineOfSightViewPoints() [1/2]

List< ISatelliteLineOfSightViewPoint > TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.LineOfSightViewPoints ( )
inline

Request all view points.

Returns
All view point objects.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ LineOfSightViewPoints() [2/2]

List< ISatelliteLineOfSightViewPoint > TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.LineOfSightViewPoints ( int  satelliteId)
inline

Request view points tracking given satellite.

Parameters
satelliteIdSatellite id.
Returns
All view points that are tracking given satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ MaxFootprintViewAngle()

static double TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.MaxFootprintViewAngle ( double  viewAngle,
double  tiltAngle,
double  height 
)
inlinestatic
Parameters
viewAngle
tiltAngle
height
Returns

◆ RemoveAllViewPoints()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.RemoveAllViewPoints ( )
inline

◆ RemoveSatellite() [1/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.RemoveSatellite ( int  id)
inline

Removes given satellite.

Parameters
satIdId for satellite
redrawIf true, will automatically start new rendering process.
Returns
True if satellite was removed.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ RemoveSatellite() [2/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.RemoveSatellite ( int  satId,
bool  redraw 
)
inline

Removes given satellite.

Parameters
satIdId for satellite
redrawIf true, will automatically start new rendering process.
Returns
True if satellite was removed.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ RemoveSatelliteItems()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.RemoveSatelliteItems ( int  satId,
List< string >  instances,
bool  redraw 
)
inline

Removes objects from given satellite.

Parameters
satIdId for satellite
instancesAll satellite objects with given instances will be removed.
redrawIf true, will automatically start new rendering process.
Returns
True if instances were removed.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ RemoveViewPoint()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.RemoveViewPoint ( string  id)
inline

Remove view point with given id.

Parameters
idUnique view point id.
Returns
True if view point was successfully removed.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ ReplaceSatellite()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ReplaceSatellite ( ISatellite  satellite)
inline

Replaces any existing satellite with same id before adding satellite to the layer's satellite objects.

Parameters
satelliteAdd this satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ ResetDeviceInfo()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ResetDeviceInfo ( ISatellite  satellite)
inline

◆ SatelliteInSight() [1/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteInSight ( int  satelliteId)
inline

Request cached status for given satellite.

Parameters
satelliteIdSatellite id.
Returns
Cached state for given satellite id.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ SatelliteInSight() [2/2]

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteInSight ( string  viewPointId,
int  satelliteId 
)
inline

Request cached status for given satellite and given view point.

Parameters
viewPointIdUnique view point id.
satelliteIdSatellite id.
Returns
Cached state for given satellite id and given view point.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ SetTrajectoryInvalid()

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SetTrajectoryInvalid ( )
inline

◆ StartAutomaticSatellitePositioning()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.StartAutomaticSatellitePositioning ( double  updateFrequency)
inline

Start automatic updating of the layer's satellites.

Parameters
updateFrequencyFrequency for satellite updates..
Returns

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ StatusAsXml()

string TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.StatusAsXml ( )
inline

Returns computation results in all view points' ISatelliteLineOfSightViewPoint.Status as xml.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ StopAutomaticSatellitePositioning()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.StopAutomaticSatellitePositioning ( )
inline

Stop automatic updating of the layer's satellites.

Returns

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ StopComputing()

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.StopComputing ( )
inline

If possible, Kills the asynchronous process.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ TrackedSatellite()

ISatellite TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TrackedSatellite ( int  satelliteId)
inline

Parameters
satelliteId
Returns

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ Update()

override void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.Update ( )
inline

Event called at regular intervals to update contents of the layer.

Implements TPG.GeoFramework.Contracts.Geo.Layer.IGeoLayerViewModel.

◆ UpdateSatellites() [1/4]

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.UpdateSatellites ( bool  informListeners)
inline

///

Parameters
informListeners

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ UpdateSatellites() [2/4]

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.UpdateSatellites ( bool  symbol,
bool  trajectory 
)
inline

Convenient method to update all satellites to ISatelliteTime.Time. Typical usage is forward/backward time adjusting.

Parameters
symbolUpdate position objects.
trajectoryUpdate trajectory objects.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ UpdateSatellites() [3/4]

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.UpdateSatellites ( DateTime  time,
bool  automaticCurveUpdateEnabled,
TimeSpan  trajectoryBackwardSpan,
TimeSpan  trajectoryForwardSpan,
bool  symbol,
bool  trajectory,
bool  recalculateTrajectory 
)
inline

Parameters
trajectoryForwardSpan
symbol
trajectory
recalculateTrajectory
time
automaticCurveUpdateEnabled
trajectoryBackwardSpan

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ UpdateSatellites() [4/4]

void TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.UpdateSatellites ( double  seconds,
bool  symbol,
bool  trajectory 
)
inline

Convenient method to update all satellites with given updateFrequency. Typical usage is forward/backward time adjusting.

Parameters
secondsA negative value will update current back in time, positive forward in time.
symbolIf true, update position for symbol to new time.
trajectoryIf true, update trajectory to new start and time.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

Property Documentation

◆ AcceptableTerrainIntersectionDistance

double TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AcceptableTerrainIntersectionDistance
getset

If value is greater than zero, visible satellites will also be verified with terrain data if this is available. The satellite is set as not-visible if satellite-to-observer ray has a terrain intersection further away than given value. NB! THIS IS A VERY TIME-CONSUMING OPERATION!!!!!

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ ApplyElevationHeight

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ApplyElevationHeight = true
getset

If true, line-of-sight computations will request height for view point if ISatelliteLineOfSightViewPoint.Height of view point is not already set before computation is started.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ AutomaticCurveUpdateEnabled

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AutomaticCurveUpdateEnabled
getset

If true, the view model will automatically adjust start and end time for projectories so that they match the device extent. In addition this feature must be enabled on satellites with ISatellite.AutomaticCurveUpdateEnabled. Note, the projectories are updated only when the device extent changes.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ AutomaticRefreshViewPeriod

int TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AutomaticRefreshViewPeriod
getset

◆ AvailableSatelliteIds

List<int> TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.AvailableSatelliteIds
get

Ids for all satellites in the layer.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ ElevationData

IElevationData TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ElevationData = null
getset

Elevation data used for height request and terrain verification.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ HasInsideFootprintComputations

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.HasInsideFootprintComputations
get

True if view points have computations about satellites inside footprints.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ HasLineOfSights

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.HasLineOfSights
get

True if there are added view points.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ HasSatelliteVisibleComputations

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.HasSatelliteVisibleComputations
get

True if view points have computations about satellite visibility.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ HiddenSatelliteIds

List<int> TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.HiddenSatelliteIds
get

Ids for all satellites that are hidden by ISatellite.IsVisible set to false.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatellitesStore.

◆ IsAutomaticPositioning

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.IsAutomaticPositioning = false
get

True if automatic update of satellites is enabled.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ IsComputing

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.IsComputing
get

True if an asynchronous process is running.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ LabelLayout

ISatelliteLabelLayout TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.LabelLayout = SatelliteLabelLayout.Default()
getset

Common label rendering layout, can be overriden by layout set individually on each satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ LineOfSightEnabled

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.LineOfSightEnabled
getset

If true, line-of-sight functionality is enabled.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ LineOfSights

List<string> TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.LineOfSights
get

Unique ids for all view points.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ LockRedraw

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.LockRedraw
getset

Prevents rendering of satellites. Should be used if satellites are updated and a re-rendering is required. Setting this value to false after updating will start a new rendering process.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ PlaybackSpeed

double TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.PlaybackSpeed
getset

System time is updated ny this factor when automatic time updating is active. A factor of 1 updates in real time. A positive value speeds up the time, a negative value reverses the time updating.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ RenderingUsingClip

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.RenderingUsingClip = false
getset

◆ SatelliteBaseTime

DateTime? TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteBaseTime
getset

Sets a specific start time for the automatic time updating. If null, the updating is using current time only.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ SatelliteInformation

string TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteInformation
get

Information for selected satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ SatelliteLayerSettings

long TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteLayerSettings = (long) TPG.GeoFramework.SatelliteLayer.Contracts.SatelliteLayerSettings.UseRenderersInAppropriateOrder
getset

◆ SatelliteMetadataInPopup

List<KeyValuePair<string, string> > TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteMetadataInPopup
getset
Initial value:
= new List<KeyValuePair<string, string>>()
{
new KeyValuePair<string, string>("sat.info.name", ""),
new KeyValuePair<string, string>("sat.info.noradid", "NoradID: "),
new KeyValuePair<string, string>("sat.orbit.height", "Altitude: ")
}

Controls what metadata is displayed in dialog for selected satellite. Key-values found in satellite object's ISatelliteData.Fields and displayed. The default content can be changed.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ Satellites

Dictionary<int, TPG.GeoFramework.SatelliteLayer.Contracts.ISatellite> TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.Satellites
get

◆ SatelliteSystemTimeUpdate

ISatelliteSystemTimeUpdate TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.SatelliteSystemTimeUpdate
get

◆ ShowTimeAsUtc

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ShowTimeAsUtc = false
getset

If true, time will be shown as UTC.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ ShowTimeTicks

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.ShowTimeTicks = true
getset

Gets or sets whether time ticks are shown.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ TerrainIntersectPosition

GeoPos3D? TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TerrainIntersectPosition
get

Result of ISatelliteLineOfSight.ComputeIntersectTerrainPosition.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLineOfSight.

◆ TickColor

Color? TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TickColor = null
getset

Tick color. If not set, the curve color is used.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ TickLayout

ISatelliteLabelLayout TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TickLayout = SatelliteLabelLayout.Default(Colors.White, 12, "Left")
getset

Layout for time label. If not set, layer's layout is used.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ TickRangeMinutes

int TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TickRangeMinutes = 0
getset

Total range of ticks. Must not be zero to draw ticks.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ TicksLength

double TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TicksLength = 10
getset

Length of tick in pixels to each side. Must not be zero to draw ticks.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ TickStepMinutes

int TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TickStepMinutes = 0
getset

Number of minutes between each tick. Must not be zero to draw ticks.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ TickWidth

double TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TickWidth = 2
getset

Tick line width.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.

◆ Time

DateTime TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.Time
getset

Time for satellite when updating the satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteTime.

◆ TrackDistance

double TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TrackDistance = 10
getset

Acceptable percentage distance from center point to satellite before a device zoom is triggered. Distance is a simple calculation: distance = sqrt(deltaLon^2 + deltaLat^2)

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ TrackSatellite

int TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TrackSatellite = 0
getset

If set, the layer will track any changes on satellite with given id and keep satellite in device center.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ TrackSensitivity

int TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TrackSensitivity = 1000
getset

Wait time (ms) before the device zoom change is triggered. Any new changes while waiting will start a new wait period.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteLayerViewModel.

◆ TrajectoryBackwardSpan

TimeSpan TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TrajectoryBackwardSpan
getset

Trajectory's backward time span used when updating the satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteTime.

◆ TrajectoryForwardSpan

TimeSpan TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.TrajectoryForwardSpan
getset

Trajectory's forward time span used when updating the satellite.

Implements TPG.GeoFramework.SatelliteLayer.Contracts.ISatelliteTime.

◆ UtcInLabel

bool TPG.GeoFramework.SatelliteLayer.SatelliteLayerViewModel.UtcInLabel = false
getset

If true, will include 'Utc' in label if time is of type UTC.

Implements TPG.Satellite.Interface.ISatelliteTimeTicks.


The documentation for this class was generated from the following files: