Open Geospatial Consortium |
Submission Date: 2019-07-30 |
Approval Date: 2020-02-22 |
Publication Date: 2020-06-02 |
External identifier of this OGC® document: http://www.opengis.net/doc/IS/mf-json/1.0 |
Internal reference number of this OGC® document: 19-045r3 |
Version: 1.0 |
Category: OGC® Implementation Standard |
Editor: Kyoung-Sook KIM, Nobuhiro ISHIMARU |
OGC Moving Features Encoding Extension - JSON |
Copyright notice |
Copyright © 2020 Open Geospatial Consortium |
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ |
Warning |
This document is an OGC Member approved international standard. This document is available on a royalty free, non-discriminatory basis.
Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
Document type: OGC® Standard |
Document subtype: Encoding |
Document stage: Approved |
Document language: English |
License Agreement
Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.
If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.
THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD.
THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.
This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.
Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.
- 1. Scope
- 2. Conformance
- 3. References
- 4. Terms and Definitions
- 4.1. base representation
- 4.2. coordinate
- 4.3. coordinate reference system
- 4.4. curve
- 4.5. domain
- 4.6. dynamic attribute
- 4.7. encoding
- 4.8. engineering coordinate reference system
- 4.9. feature
- 4.10. feature attribute
- 4.11. feature collection; collection
- 4.12. foliation
- 4.13. geometric object
- 4.14. geometric primitive
- 4.15. instant
- 4.16. leaf
- 4.17. life span
- 4.18. motion
- 4.19. moving feature
- 4.20. one parameter set of geometries
- 4.21. one parameter set of values
- 4.22. parametric coordinate reference system
- 4.23. parametric datum
- 4.24. period
- 4.25. position
- 4.26. prism
- 4.27. temporal coordinate reference system
- 4.28. temporal datum
- 4.29. temporal geometry
- 4.30. trajectory
- 4.31. value
- 5. Conventions
- 6. Overview of Moving Features JSON Encodings (Informative)
- 7. Moving Features JSON Encodings
- 8. Media Types
- Annex A: Conformance Class Abstract Test Suite (Normative)
- A.1. Conformance Test Class: MF-JSON Trajectory Encoding
- A.2. Conformance Test Class: MF-JSON Prism Encoding
- A.2.1. MF-JSON Prism file
- A.2.2. Conflict
- A.2.3. TemporalGeometry object
- A.2.4. TemporalPrimitiveGeometry object
- A.2.5. TemporalPrimitiveGeometry object type
- A.2.6. 3D model
- A.2.7. TemporalComplexGeometry object
- A.2.8. TemporalProperties object
- A.2.9. @propertyN object
- A.2.10. CoordinateReferenceSystem object
- A.2.11. MovingFeature object
- A.2.12. MovingFeatureCollection object
- A.2.13. LifeSpan object
- A.2.14. BoundingBox object
- A.2.15. MotionCurve object
- Annex B: Sample Data of Moving Feature (Informative)
- Annex C: Deformation of Rigid Body (Informative)
- Annex D: Revision History
- Annex E: Bibliography
i. Abstract
This standard defines how to encode and share the various movements of geographic features by using JavaScript Object Notation (JSON). It provides an alternative encoding for OGC Moving Features instead of that provided in the XML Core [OGC 14-083r2] and Simple CSV [OGC 14-084r2] standards. A moving feature, for instance a vehicle or a pedestrian, contains a temporal geometry whose location continuously changes over time and dynamic non-spatial attributes whose values vary with time. This Moving Features JSON encoding defines a set of keywords to implement the conceptual schema of moving features defined in ISO 19141:2008 [ISO 19141:2008], accompanied with IETF GeoJSON Format [IETF RFC 7946].
ii. Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, OGC document, moving features, encoding, JSON
iii. Preface
This document specifies JSON encodings for the implementation of the conceptual schema of moving features defined in ISO 19141:2008, i.e., features whose locations change over time. OGC Moving Features Encoding standards XML Core [OGC 14-083r2] and Simple CSV [14-084r2] have focused on the movement of 0-dimensional geometric primitives (Points), called trajectories. In addition, the ISO schema excludes deformation and changes of non-spatial attributes of the feature. However, there are requirements to represent and share the movements of 1-dimensional curve LineStrings, 2-dimensional surface Polygons, and 3-dimensional solid polyhedrons with time-varying non-spatial attributes in various application areas including: Location Based Services, Intelligent Transportation Systems, Disaster Risk Management Systems, and Smart City Applications. For example, the traffic congestion on roads and the hotspot of air pollution are typical moving features in the real world.
Therefore, OGC Moving Features JSON (MF-JSON) encodings define data members for one-parameter geometries and properties of the moving feature in time, not only trajectory. MF-JSON is inspired by the IETF GeoJSON Format [IETF RFC 7946].
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
iv. Submitting organizations
The following organization have submitted this Document to the Open GeoSpatial Consortium, Inc.
-
Artificial Intelligence Research Center, National Institute of Advanced Industrial Science and Technology
-
Defense Systems Company, Hitachi, Ltd.
-
Pusan National University
v. Submitters
All questions regarding this submission should be directed to the editor or the submitters.
Name |
Organization |
Kyoung-Sook KIM |
Artificial Intelligence Research Center, National Institute of Advanced Industrial Science and Technology |
Taehoon KIM |
Artificial Intelligence Research Center, National Institute of Advanced Industrial Science and Technology |
Nobuhiro ISHIMARU |
Defense Systems Company, Hitachi, Ltd. |
Ki-Joune LI |
Pusan National University |
1. Scope
This document defines the structure and content of JSON (JavaScript Object Notation) [IETF RFC7159] encoding implementation of the conceptual model for moving features described in ISO 19141:2008. A moving feature is a geographic feature whose location changes over time containing zero or more thematic attributes. Such a feature may be a car, a pedestrian, an airplane, a ship, or something alike. The geometry of a moving feature to express its motion is defined as a one parameter set of geometries that may be viewed as a set of leaves or a set of trajectories as shown in the Figure 1. A leaf represents the geometry of the moving feature at a particular value of the parameter (e.g., a point in time) and a trajectory is a curve that represents the path of a point in the geometry of the moving feature as it moves with respect to the parameter (e.g., time).
In the illustration above, a 2D rectangle moves, rotates, and shrink through time. Each representation of the rectangle at a given time (e.g., , , and ) is a leaf. The path traced by each corner point of the rectangle (and by each of its other points) is a trajectory. The set of points contained in all of the leaves, and in all of the trajectories, forms a prism. The set of leaves also forms a foliation, meaning that there is a complete and separate representation of the geometry of the feature for each specific time. If viewed in a 4 dimensional spatiotemporal coordinate system, the points on the feature’s geometry at different times are different points.
This standard for Moving Features JSON encodings is inspired by IETF GeoJSON Format [IETF RFC 7946] to describe two types of dynamic attribute of a feature or feature collection in a JSON document as follows:
-
Temporal geometry: The spatial change over time, representing the movement of the rigid or nonrigid body of a feature; and
-
Temporal property: The thematic change over time, representing the variation of the value of any descriptive characteristic of a feature.
This JSON encoding provides an alternative to the OGC® Moving Features Encodings XML Core [OGC 14-083r2] and Simple Comma Separated Values (CSV) [OGC 14-084r2] standards by using IETF GeoJSON [IETF RFC 7946]. Moreover, this encoding can encompass the movement of 1-dimensional, 2-dimensional, 3-dimensional geometric primitives, and their aggregation, as well as moving points and their trajectories. For example, the representation of the following phenomena in a spatiotemporal domain is in the scope of this standard:
-
Discrete phenomena, which exist only on a set of instants, such as road accidents;
-
Step phenomena, where the changes of locations are abrupt at an instant, such as administrative boundaries; and
-
Continuous phenomena, whose locations move continuously for a period in time, such as vehicles, typhoons, or floods.
This standard does not address partial motions of parts of bodies in a primitive movement and the dimensional deformation of the feature (e.g., from 1-d geometry to 0-d geometry). Also, the succession of either features or their association(s) is out of scope in this standard.
2. Conformance
This standard defines 2 requirements classes with URIs:
with two accompanying conformance classes with URIs:
Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site.
3. References
The following normative documents contain provisions that, through reference in this text, constitute provisions of this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.
-
OGC: OGC 18-005r4, OGC Abstract Specifications - Topic 2 - Spatial referencing by coordinates, version 5.0, 2019.
-
OGC: OGC 15-042r3, TimeseriesML 1.0 – XML Encoding of the Timeseries Profile of Observations and Measurements, version 1.0, 2016.
-
OGC: OGC 14-083r2, OGC Moving Features Encoding Part I: XML Core, 2015.
-
OGC: OGC 14-084r2, OGC Moving Features Encoding Extension: Simple Comma Separated Values (CSV), 2015.
-
ISO: ISO/IEC Directives, Part 2. Rules for the structure and drafting of International Standards
-
ISO: ISO 8601:2004, Data elements and interchange formats - Information interchange - Representation of dates and time, 2004.
-
ISO: ISO 19101:2014, Geographic information — Reference model — Part 1: Fundamentals, 2014.
-
ISO: ISO 19107:2003, Geographic Information - Spatial schema, 2003.
-
ISO: ISO 19108:2002, Geographic Information - Temporal schema, 2002.
-
ISO: ISO 19141:2008, Geographic information - Schema for moving features, 2008.
-
ISO/IEC: ISO 11179-1:2004, Information technology — Metadata registries (MDR) — Part 1: Framework, 2004.
-
IETF: IETF RFC 3339, Date and Time on the Internet: Timestamps, 2002.
-
IETF: IETF RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, 2005.
-
IETF: IETF RFC 7159, The JavaScript Object Notation (JSON) Data Interchange Format, 2014.
-
IETF: IETF RFC 7464, JavaScript Object Notation (JSON) Text Sequences, 2015.
-
IETF: IETF RFC 7946, The GeoJSON Format, 2016.
4. Terms and Definitions
This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r8], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “SHALL” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.
For the purposes of this document, the following additional terms and definitions apply.
4.1. base representation
<moving features> representation, using a local origin and local ordinate vectors, of a geometric object at a given reference time
[ ISO 19141:2008 ]
NOTE 1: A rigid geometric object may undergo translation or rotation, but remains congruent with its base representation.
NOTE 2: The local origin and ordinate vectors establish an engineering coordinate reference system (ISO 19111), also called a local frame or a local Euclidean coordinate system.
4.2. coordinate
one of a sequence of n numbers designating the position of a point in n-dimensional space
[ OGC 18-005r4 ]
NOTE: In a coordinate reference system, the coordinate numbers are qualified by units.
4.3. coordinate reference system
coordinate system that is related to an object by a datum
[ OGC 18-005r4 ]
NOTE: For geodetic and vertical datums, the object will be the Earth.
4.4. curve
1-dimensional geometric primitive, representing the continuous image of a line
[ ISO 19107:2003 ]
NOTE: The boundary of a curve is the set of points at either end of the curve. If the curve is a cycle, the two ends are identical, and the curve (if topologically closed) is considered to not have a boundary. The first point is called the start point, and the last is the end point. Connectivity of the curve is guaranteed by the "continuous image of a line" clause. A topological theorem states that a continuous image of a connected set is connected.
4.6. dynamic attribute
characteristic of a feature in which its value taken from the domain of the feature attribute type varies with time
4.8. engineering coordinate reference system
coordinate reference system based on an engineering datum
[ OGC 18-005r4 ]
EXAMPLES: Local engineering and architectural grids; coordinate reference system local to a ship or an orbiting spacecraft.
4.10. feature attribute
characteristic of a feature
[ ISO 19109:2015 ]
Note: A feature attribute type has a name, a data type, and a domain associated with it. A feature attribute instance has an attribute value taken from the domain of the feature attribute type.
4.11. feature collection; collection
a set of features from a dataset
NOTE: In this specification, 'collection' is used as a synonym for 'feature collection.' This is done to make, for example, URI path expressions shorter and easier to understand for those who are not geo-experts.
4.12. foliation
one parameter set of geometries such that each point in the prism of the set is in one and only one trajectory and in one and only one leaf
[ ISO 19141:2008 ]
4.13. geometric object
spatial object representing a geometric set
[ ISO 19107:2003 ]
NOTE: A geometric object consists of a geometric primitive, a collection of geometric primitives, or a geometric complex treated as a single entity. A geometric object may be the spatial representation of an object such as a feature or a significant part of a feature.
4.14. geometric primitive
geometric object representing a single, connected, homogeneous element of space
[ ISO 19107:2003 ]
NOTE: Geometric primitives are non-decomposed objects that present information about geometric configuration. They include points, curves, surfaces, and solids.
4.16. leaf
<one parameter set of geometries> geometry at a particular value of the parameter
[ ISO 19141:2008 ]
4.19. moving feature
feature whose position changes over time
NOTE: The base representation for a moving feature uses a local origin and local coordinate vectors of a geometric object at a given reference time.
4.20. one parameter set of geometries
function from an interval [] such that is a geometry and for each point there is a one parameter set of points (called the trajectory of ) : [] such that
[ ISO 19141:2008 ]
EXAMPLE: A curve C with constructive parameter (variable) t is a one parameter set of points c(t).
4.21. one parameter set of values
function from an interval [] such that is a measure value in a plane with coordinate
4.22. parametric coordinate reference system
coordinate reference system based on a parametric datum
[ OGC 18-005r4 ]
4.23. parametric datum
datum describing the relationship of a parametric coordinate system to an object
[ OGC 18-005r4 ]
NOTE The object is normally the Earth.
4.24. period
one-dimensional geometric primitive representing extent in time
[ ISO 19108:2002 ]
NOTE: A period is bounded by two different temporal positions.
4.26. prism
<one parameter set of geometries> set of points in the union of the geometries (or the union of the
trajectories) of a one parameter set of geometries
[ ISO 19141:2008 ]
5. Conventions
This section provides details and examples for any conventions used in the document. Examples of conventions are symbols, abbreviations, or special notes regarding how to read the document.
5.1. Identifiers
The normative provisions in this specification are denoted by the URI
All requirements and conformance tests that appear in this document are denoted by partial URIs which are relative to this base.
All examples in this document are informative only.
5.2. JSON notation
The notation of JSON in this document is based on the specification of [RFC 7159].
The ordering of the members of any JSON object must be considered irrelevant. Some examples use a JavaScript single line comment (//) and an ellipsis (…) as placeholder notation for a specific JSON instance. Whitespace is used in the examples inside this document to help illustrate the data structures, but is not required. Unquoted whitespace is not significant in JSON.
5.3. UML notation
Unified Modeling Language (UML) static structure diagrams appearing in this document are used as described in Subclause 5.2 of OGC Web Services Common [OGC 06-121r9].
5.4. Abbreviated terms
The following symbols and abbreviated terms are used in this standard:
CRS |
Coordinate Reference Systems |
CSV |
Comma Separated Values |
IETF |
Internet Engineering Task Force |
ISO |
International Organization for Standardization |
JSON |
JavaScript Object Notation |
OGC |
Open Geospatial Consortium |
UML |
Unified Modeling Language |
URI |
Uniform Resource Identifiers |
URL |
Uniform Resource Locators |
XML |
Extensible Markup Language |
0D |
Zero Dimensional |
1D |
One Dimensional |
2D |
Two Dimensional |
3D |
Three Dimensional |
6. Overview of Moving Features JSON Encodings (Informative)
This document provides an alternative to the OGC® Moving Features Encodings XML Core [OGC 14-083r2] and Simple Comma Separated Values (CSV) [OGC 14-084r2] standards by using JSON objects that are easily readable by machines and by humans. The JSON encoding formats for sharing moving feature data specified in this document leverages IETF GeoJSON [IETF RFC 7946] that has already been commonly used in many applications and is well-supported by tools and software libraries. This standard defines two JSON encoding forms: MF-JSON Trajectory and MF-JSON Prism. If an application focuses on only the linear movement (i.e., the spatiotemporal line string) of moving points based on World Geodetic System 1984, with longitude and latitude units of decimal degrees, and the ISO 8601 standard for representation of dates and times using the Gregorian calendar, the application can share the trajectory data by using only IETF GeoJSON, called MF-JSON Trajectory. For other cases, MF-JSON Prism can be used for expressing more complex movements of moving features. MF-JSON Prism is a GeoJSON-like format reserving new members of JSON objects (`"temporalGeometry," "temporalProperties," "crs," "trs," "time," and others) as "foreign members" to represent spatiotemporal geometries, variations of measure, coordinate reference systems, and the particular period of moving features in a JSON document. Figure 2 presents the overview of two forms of Moving Features JSON encodings.
Coordinate Reference System (CRS)
The IETF GeoJSON format recommends a single coordinate reference system based on World Geodetic System 1984, with longitude and latitude units of decimal degrees. However, a moving feature needs a temporal coordinate system and may require an engineering coordinate reference system or parametric coordinate reference system to represent the movement of the geometry of the feature in the case of an application request. Therefore, MF-JSON Prism includes the "crs" field as described in GeoJSON "prior arrangement" (also known as GeoJSON:2008[4]).
|
The existing GeoJSON implementation can ignore the new members of "temporalGeometry" , "temporalProperties" , "trs" , and "time" in an MF-JSON document if there is no processing module for foreign members.
|
Figure 3 illustrates an example of the movement of a hurricane with a time-varying 2-dimensional geometry as a moving feature. Suppose the pressure centroid of the hurricane reported four locations at time , and . Its trajectory may be drawn (depending on the interpolation method) between two consecutive locations, such as (linear) or (Quadratic). ISO 19141:2008 defines a conceptual schema of a moving feature based on geometry types as shown in Figure 4. The ISO conceptual schema represents the motion consisting of translation and/or rotation of a moving feature, but not including deformation of the geometry, over time.
The data model defined in ISO 19141:2008 is based on two geometric types: MF_OneParamGeometry and MF_Trajectory. MF_OneParamGeometry is the type to describe a function from an interval [] such that is a geometry. A leaf of a one parameter set of geometries is the geometry at a particular value of the parameter. MF_Trajectory describes a one-parameter geometry whose cross section is a point as a leaf. MF_OneParamGeometry and MF_Trajectory is specialized as MF_TemporalGeometry and MF_TemporalTrajectory respectively, when the parameter is time representing a multiple of a single unit of measure such as year, day, or second for those types. MF_TemporalTrajectory is also a sub-type of MF_TemporalGeometry. The OGC Moving Features XML and CSV standards only provide the encoding formats to represent linear trajectories of moving points as instances of MF_TemporalTrajectory, typically representing vehicles or pedestrians. A sample data of OGC Moving Features XML and CSV encoding is provided in Annex B.1. However, Moving Features JSON Encodings can cover MF_TemporalGeometry, MF_PrismGeometry, and MF_RigidTemporalGeometry.
7. Moving Features JSON Encodings
This clause specifies the structure and content of the JSON [IETF RFC7159] encoding implementation for the conceptual model of moving features described in ISO 19141:2008. MF-JSON has two encoding formats: MF-JSON Trajectory for instances of the MF_TemporalGeometry type with linear interpolation and MF-JSON Prism that contains new members to describe instances of the MF_PrismGeometry (or MF_RigidTemporalGeometry) type in the ISO conceptual model.
An object in this specification is a JSON object. The JSON object is an unordered collection of zero or more name/value pairs, where a name is a string and a value can be a JSON null , true , false , string, number, array, or object. An array consists of elements where each element is a value as a JSON null , true , false , string, number, array, or object.
|
In an MF-JSON object, there are three types of members: MANDATORY, OPTIONAL, and DEFAULT.
MANDATORY |
If an object member is mandatory, its value SHALL NOT be a JSON |
DEFAULT |
If an object member is default, the member is mandatory and has a default value defined in this specification when its pair (member/value) does not appear in a MF-JSON document. |
OPTIONAL |
If an object member is optional, its value allows a JSON |
7.1. MF-JSON Trajectory Encoding
MF-JSON Trajectory specifies how to map/interpret linear trajectories of moving points into/from the GeoJSON [IETF RFC 7946] object. This encoding is based on the data model of mf:MovingFeatures defined in OGC Moving Features XML Core [OGC 14-083r2].
The mf:MovingFeatures Class is implemented by mf:Foliation including movements of moving points, which are instances of mf:LinearTrajectory. In XML Core, the mf:LinearTrajectory Class is expressed by a single spatiotemporal segment with linear interpolation, having two elements of gml:PosList and mf:Attr, as well as three attributes of mfIdRef, start, and end. The mfIdRef attribute is the text specifying the moving feature (i.e., person ID, vehicle ID, etc.). The start and end attribute of mf:LinearTrajectory describes the temporal offset from the gml:beginPosition element in the mf:sTBoundedBy Class. Two or more coordinate tuples are specified in gml:posList and linearly interpolated from time start to end. The mf:Attr element contains the attribute information as a text. The values of the attributes are constant while the feature moves along the mf:LinearTrajectory. The detailed description refers to OGC Moving Features XML Core[OGC 14-083r2]. |
The UML diagram for MF-JSON Trajectory is depicted in Figure 5.
Comparing to the segment-based encodings of OGC XML Core and CSV, MF-JSON Trajectory encodes a spatiotemporal linestring or a collection of linestrings to reduce the size of a GeoJSON document. The spatiotemporal linestring is a one-dimensional object representing a sequence of spatiotemporal points and the trajectory segments connecting them. The GeoJSON encoding rules of MF-JSON Trajectory are set as follows:
-
An MF-JSON Trajectory document presents an instance of the mf:LinearTrajectory Class or as a GeoJSON Feature or a set of those instances as a GeoJSON FeatureCollection object. An mf:LinearTrajectory instance is mapped into a GeoJSON Feature object with a linestring geometry; i.e., the value of member
"type"
in the Geometry object is"LineString"
.(GeoJSON) A Feature object represents a spatially bounded thing. A Feature object has, at least 3 members: a "type" member with the value "Feature," a "geometry" member, and a "properties" member. Geometry only has 2 members: "type" and "coordinates." The "type" value of geometry can be one of "Point," "MultiPoint," "LineString," "MultiLineString," "Polygon," "MultiPolygon," and "GeometryCollection." The GeoJSON extensibility is limited by the interpretation of the sentence in the IETF RFC 7946 "Implementations MUST NOT extend the fixed set of GeoJSON types: FeatureCollection, Feature, Point, LineString, MultiPoint, Polygon, MultiLineString, MultiPolygon, and GeometryCollection." -
The identifier of a moving feature (i.e., mfIdRef) is mapped into the member named
"id"
of the GeoJSON Feature object.(GeoJSON) If a Feature has a commonly used identifier, that identifier is included as a member of the Feature object with the name "id," and the value of this member is either a JSON string or number. -
The value of the
"coordinates"
member of a linestring geometry object has two or more positions that draws a sequence of trajectory segments. Each position is each projection in the spatial domain. All trajectory segments that have the same identifier are merged into a linestring geometry object as long as any consecutive segments meet each other at a time instant.(GeoJSON) A position is an array of numbers. There MUST be two or more elements. The first two elements are longitude and latitude, or easting and northing, precisely in that order and using decimal numbers. Altitude or elevation MAY be included as an optional third element. The coordinate reference system for all GeoJSON coordinates is a geographic coordinate reference system, using the World Geodetic System 1984 (WGS 84)[1] datum, with longitude and latitude units of decimal degrees. -
The
"properties"
member of a GeoJSON Feature object has a member with the name"datetimes"
. The value of the"datetimes"
member is an array of a sequence of monotonic increasing time instants, having the same number of positions of the"coordinates"
member. The value of a time instant is a JSON string using Z (e.g., 1985-04-12T23:20:50.52Z) encoded by IETF RFC 3339, an Internet profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar, or a numeric value of milliseconds since midnight (00:00 a.m.) on January 1, 1970 in UTC (e.g., 1465621816590).(GeoJSON) A Feature object has a member with the name "properties." The value of the properties member is an object (any JSON object or a JSON null value). -
If a Feature has any variable attribute by time and its value (i.e., mf:AttrDef and mf:Attr), the attribute can be a member inside the
"properties"
member with the value of a JSON array, the size of its array can be distinguished into three types as below:-
The array of a time-varying attribute with step interpolation has elements with one less than the number of positions of the
"datetimes"
member; -
The array of a time-varying attribute with linear interpolation has elements with the same number of positions of the
"datetimes"
member; and -
The array of a fixed attribute during the whole of
"datetimes"
has only one element.MF-JSON Trajectory considers that a member in the "properties" which has a JSON-array value is a temporal attribute.
-
-
A set of mf:LinearTrajectory instances is packed in the elements of the
"features"
member of a FeatureCollection object.(GeoJSON) A FeatureCollection object has a member with the name "features". The value of "features" is a JSON array of Feature objects. It is possible for this array to be empty.
A sample data of MF-JSON Trajectory is provided in Annex B.2.
Requirements Class: MF-JSON Trajectory |
|
---|---|
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory |
|
Target type |
JSON object |
Dependency |
|
Requirement 1.1 |
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory/GeoJSON |
Requirement 1.2 |
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory/lineartrajectory |
Requirement 1.3 |
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory/geometry |
Requirement 1.4 |
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory/properties |
Requirement 1.5 |
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory/datetimes |
Requirement 1.6 |
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory/datetimes/monotonic |
Requirement 1.7 |
http://www.opengis.net/spec/movingfeatures/json/1.0/req/trajectory/constraints |
7.2. MF-JSON Prism Encoding
This clause specifies the format of MF-JSON Prism to implement the package of Prism Geometry defined in ISO 19141:2008 (Figure 6). The package contains five types used to describe the prism of a moving geometric object: MF_PrismGeometry, MF_RigidTemporalGeometry, MF_LocalGeometry, MF_TemporalOrientation, and MF_RotationMatrix. The type MF_PrismGeometry represents the movement of an object through geographic space. MF_RigidTemporalGeometry specializes MF_PrismGeometry, which in turn specializes MF_TemporalGeometry for the case of an object that moves without deformation, where the object’s basic shape is immutable and may be translated or rotated over time. The type MF_LocalGeometry is a geometric object to define the local geometry of the moving object in a engineering coordinate reference system (usually 3D). The engineering coordinate reference system is accessible through the Coordinate Reference System association inherited from GM_Object. The remaining types support description of the possible rotation of such an object.
The MF-JSON Prism encoding can represent the movement of MF_PrismGeometry and MF_RigidTemporalGeometry of a feature which may be 0D, 1D, 2D, 3D geometric primitives, or their aggregations. MF-JSON Prism reserves the following members as foreign members in a GeoJSON Feature object that represents a moving feature:
-
The
"temporalGeometry"
member describes a movement of a moving feature; -
The
"temporalProperties"
member describes a set of dynamic non-spatial attributes and their time-dependent values of a moving feature; -
The
"time"
member describes the life time of a moving feature; -
The
"trs"
member describes a Temporal Coordinate Reference System object referred by time-expression to indicate the time of positions or attributes' values; and -
The
"crs"
member describes a Spatial Coordinate Reference System object which relates the positions of features in the real world.
Coordinate Reference System (CRS)
The IETF GeoJSON format recommends a single coordinate reference system based on World Geodetic System 1984, with longitude and latitude units of decimal degrees. However, a moving feature needs a temporal coordinate system and may require an engineering/parametric coordinate reference system to represent the movement of the feature’s geometry (positions) in the case of an application request.
|
A MF-JSON Prism document may contain JSON objects that represent instances with the following types, as well as primitives types of JSON null, true, false, string, number, and array.
-
TemporalGeometry object (see 7.2.1)
-
TemporalProperties object (see 7.2.2)
-
ParametricValues object (see 7.2.2.1)
-
-
CoordinateReferenceSystem object (see 7.2.3)
-
MovingFeature object (see 7.2.4)
-
MovingFeatureCollection object (see 7.2.5)
-
LifeSpan object (see 7.2.6)
-
BoundingBox object (see 7.2.7)
-
Geometry object (see 7.2.8)
-
Properties object (see 7.2.9)
-
MotionCurve object (see 7.2.10)
The schema of MF-JSON Prism is depicted by a UML diagram as shown in Figure 7.