Coverage GeoJSON File
Contents
Coverage GeoJSON File¶
Output GEOGEN Coverage files are in GeoJSON format, and contain an additional coverage
member. It always contains
the following members:
coverage
(object):coverage JSON object describing common properties of the observations coverage. This object is a GeoJSON foreign member, which means that it is not part of the GeoJSON format specification, and therefore not read by standard GeoJSON APIs or applications.
type
(string):GeoJSON object type, always equal to
FeatureCollection
.features
(array):List GeoJSON feature objects, representing coverage observations.
The following figure shows the relationship between GeoJSON objects and their mapping with the GEOGEN concepts of coverage, observation, footprint, and geometry parameters:
About GeoJSON
GeoJSON is a format for encoding a variety of geographic data structures using JSON. A GeoJSON object may
represent a region of space (a Geometry
), a spatially bounded entity (a Feature
), or a list of Features (a
FeatureCollection
). GeoJSON supports the following geometry types: Point, LineString, Polygon, MultiPoint,
MultiLineString, MultiPolygon, and GeometryCollection. Features in GeoJSON contain a Geometry object and additional
properties
, and a FeatureCollection contains a list of Feature.
The coordinate reference system for all GeoJSON coordinates is a geographic coordinate reference system, using the World Geodetic System 1984 (WGS 84) datum, with longitude and latitude units of decimal degrees.
coverage
¶
JSON object describing the observations coverage common properties. It includes the following members:
target_name
(string)NAIF body name of the observed target.
target_id
(number)NAIF body ID of the observed target.
target_frame
(string)SPICE body-fixed reference frame of the observed target.
surface_model
(object)surface_model JSON object describing the surface model of the target.
antimeridian_split
(boolean)Boolean flag indicating whether or not observations footprints geometry has been split when crossing the target body antimeridian.
instrument_host_id
(string)Instrument host identifier common to all observations.
instrument_id
(string)Instrument identifier common to all observations.
product_type
(string)Data product type common to all observations.
Example:
"coverage": {
"target_name": "MARS",
"target_id": 499,
"target_frame": "IAU_MARS",
"surface_model": {
"type": "ELLIPSOID",
"a_axis_radius": 3396.19,
"b_axis_radius": 3396.19,
"c_axis_radius": 3376.2
},
"antimeridian_split": true,
"instrument_host_id": "MEX",
"instrument_id": "HRSC",
"product_type": "RDR"
}
surface_model
¶
JSON object describing the surface model of the target, to be used as datum for instead of the standard GeoJSON WGS 84 datum. It has the following members:
type
(string)Type of surface model: either
ELLIPSOID
orDSK/UNPRIORITIZED
.
If type
is ELLIPSOID
, it contains the following members:
a_axis_radius
(number)Semi-axes length (km) of the ellipsoid along X-axis of target body-fixed reference frame.
b_axis_radius
(number)Semi-axes length (km) of the ellipsoid along Y-axis of target body-fixed reference frame.
c_axis_radius
(number)Semi-axes length (km) of the ellipsoid along Z-axis of target body-fixed reference frame.
Example:
"surface_model": {
"type": "ELLIPSOID",
"a_axis_radius": 3396.19,
"b_axis_radius": 3396.19,
"c_axis_radius": 3376.2
}
If type
is DSK/UNPRIORITIZED
, it contains the following member:
dsk_file
(string or array)DSK filename or list of DSK filenames used for computation of observed target points. When there are more than one DSK files, the last one in the list is the one used as surface model.
Examples:
"surface_model": {
"type": "DSK/UNPRIORITIZED",
"dsk_file": [
"PHOBOS_M003_GAS_V01.BDS",
"phobos_2014_09_22.bds"
]
}
"surface_model": {
"type": "DSK/UNPRIORITIZED",
"dsk_file": "ROS_LU_M003_OSPCLAM_N_V1.BDS"
}
feature
¶
GeoJSON feature that represents an observation. It contains the following members:
type
(string)GeoJSON object type, always equal to
Feature
.bbox
(array)Boundary box coordinates range of the observation footprint geometry listed in the following order: westernmost longitude, minimum latitude, easternmost longitude, maximum latitude. Values are identical to the
westernmost_longitude
,minimum_latitude
,easternmost_longitude
, andmaximum_latitude
observation geometry parameters stored asproperties
. ForIN-SITU
detector type, this member value isnull
.geometry
(object)GeoJSON geometry object describing the geometry of an observation footprint.
properties
(object)GeoJSON object describing properties of the feature, which correspond to the observation geometry parameters defined in
geogen.coverage.GeometryParameters
. For example:"properties": { "product_id": "HG859_0004_SR2.IMG", "dataset_id": "MEX-M-HRSC-3-RDR", "start_time": "2017-04-24T16:43:29.297", "stop_time": "2017-04-24T16:43:29.297", "reference_time": "2017-04-24T16:43:29.297", "center_latitude": -5.178419170342002, "center_longitude": -0.011343211000912621, "antimeridian_crossing": false, "npole_crossing": false, "spole_crossing": false, "westernmost_longitude": -0.068635, "easternmost_longitude": 0.045889, "minimum_latitude": -5.235159, "maximum_latitude": -5.12173, "local_true_solar_time": "14:30:41", "solar_longitude": 354.5633272555151, "sub_solar_latitude": -2.3114621515011304, "sub_solar_longitude": -37.685194093565364, "solar_distance": 230961447.82473174, "spacecraft_solar_distance": 230958255.54693577, "spacecraft_altitude": 696.2562067471191, "target_center_distance": 4092.1178044992553, "sub_spacecraft_latitude": -5.168604604277858, "sub_spacecraft_longitude": 1.0280916156585713, "sub_spacecraft_solar_zenith_angle": 38.73254533346514, "target_right_ascension": 120.39037985836394, "target_declination": 41.125120520269995, "sun_right_ascension": 258.5779756600134, "sun_declination": -23.952091280752747, "x_sc_sun_position": -41798935.05508965, "y_sc_sun_position": -206889137.60802373, "z_sc_sun_position": -93762729.45729305, "x_sc_sun_velocity": 19.454932219248207, "y_sc_sun_velocity": -3.3769005181030485, "z_sc_sun_velocity": -4.686613240282778, "x_sc_target_position": -1559.3978263569832, "y_sc_target_position": 2658.952022984886, "z_sc_target_position": 2691.4086803229097, "x_sc_target_velocity": -2.4262915031989776, "y_sc_target_velocity": 2.3570584302730477, "z_sc_target_velocity": -2.155872389664493, "min_incidence_angle": 37.63943903824614, "max_incidence_angle": 37.759110410287946, "min_emergence_angle": 5.740848562091582, "max_emergence_angle": 6.404818961235594, "min_phase_angle": 43.46996036655017, "max_phase_angle": 44.04400468321931, "min_slant_distance": 699.1624185518212, "max_slant_distance": 699.8766484165595, "min_tangent_altitude": 0.0, "max_tangent_altitude": 0.0, "min_spatial_resolution": 0.0063903445055636466, "max_spatial_resolution": 0.006396872566527354, "boresight_right_ascension": 120.39037985836394, "boresight_declination": 41.125120520269995, "boresight_target_angle": 5.031740726796068, "boresight_solar_elongation": 136.2434383603501 }
geometry
¶
GeoJSON Geometry object describing the geometry of an observation footprint. For IN-SITU
detector type, this object
is null
, otherwise it contains the following members:
type
(string)Type of the geometry. For an observation footprint, it is restricted to the following types, depending on the GEOGEN detector type and on whether or not the footprint geometry has been split and is crossing the target body antimeridian:
LineString
,MultiLineString
,Polygon
orMultiPolygon
:No antimeridian split
Antimeridian split
not crossing
crossing
IN-SITU
null
null
null
POINT
LineString
LineString
MultiLineString
LINE / FRAME
Polygon
Polygon
MultiPolygon
coordinates
(array)List of position coordinates defining the geometry. The structure of the elements in this array is determined by the type of geometry. The first two elements of a position are longitude and latitude. Altitude or elevation is not included as an optional third element, as it is always
0
with respect to the datum defined in the surface_model JSON object.Note
For
FRAME
detector’s limb observations, if the target body is not within the field-of-view, polygon coordinates are set to[]
andbbox
is set to[0.0, 0.0, 0.0, 0.0]
.