adiwg / mdJson-schemas

JSON schemas, examples, and templates for ADIwg metadata standards
http://www.adiwg.org/projects/
GNU Lesser General Public License v3.0
18 stars 16 forks source link

geometryProperties 2.0 #95

Closed stansmith907 closed 7 years ago

stansmith907 commented 8 years ago

In 2015, the Internet Engineering Task Force (IETF), in conjunction with the original specification authors, formed a GeoJSON WG to standardize GeoJSON. RFC 7946 was published in August 2016 and is the new standard specification of the GeoJSON format, replacing the 2008 GeoJSON specification. The following example is the supported property list from mdJson 1.0.

Considerations:

  1. "properties" is only supported in RFC 7946 for a "Feature" in a "FeatureCollection".
  2. The following elements are supporting ISO geographicElement fields...
    • "featureName"
    • "description"
    • "identifier"
  3. "temporalElement" cannot be applied to a geometry in ISO without using the EX_SpatialTemporalExtent form. This form is a subtype of EX_TemporalExtent. The result is we can define a shape for a time, but not a time for a shape. The organization of the metadata would need to be time oriented. For this reason we did not implement in mdJson 1.0.
  4. "verticalElement" was added to properties to record borehole depth. We can accomplish this with 4-tuple positions.
  5. "featureScope" and "featureAcquisitionMethod" are need by Allison unless she has changed her methodology. They cannot be represented in ISO.
  6. "identifier" is a an array of type 'identifier. Only one identifier is allowed in -2, so the first will be included in the ISO output.
  7. "acquisitionMethod" is an element of type string. There is an opportunity here for someone to make up a codelist for this element.
{
   "properties": [
      {
         "featureName": [],
         "description": "",
         "includesData": true,
         "temporalElement": {},
         "verticalElement": [],
         "identifier": [
            {
               "see": "identifier 2.0"
            }
         ],
         "featureScope": "MD_ScopeCode",
         "featureAcquisitionMethod": ""
      }
   ]
}

see ISO XML example geographicExtent -3.xml

Properties to keep/add...

stansmith907 commented 7 years ago

I removed 'includesData' from the parameters object because the properties object is only attached to GeoJSON Features and ISO only supports the 'extentTypeCode' at the geographicElement level (above where Feature geometry objects are written). Using GeoJSON we really have no place to collect the extentTypeCode unless each Feature is places in a separate geographicElement - not a good idea. Dropping extentTypeCode will not hurt us, it is not required and is assumed to be true if not specifically set to false. We only lose the ability to specify an isolated Feature where data does not exist. However, these could be handled possibly better by using exclusion rings with polygons. This is also better visually.

Note that we still have the 'containsData' flag in 'geographicExtent'. So, we can mark an entire geographic extent as a data exclusion area.