Skip to content

Experimental temporal extension to the GeoJSON standard

Notifications You must be signed in to change notification settings

kgeographer/geojson-t

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

GeoJSON-T

NOTE (1 July 2023)

Development and maintenance of this experimental format was suspended in 2019, and superceded by the Linked Places format (LPF), which adopts the concept of a "when" object, and includes a number of additional attribute categories. LPF is in current use in the World Historical Gazetteer platform, and is seeing increasing uptake by other projects.


Updated, 15 September 2019

This proposed extension to the GeoJSON format tries to accommodate the fact that many geographic features are "event-like" (e.g. journeys, crimes, tweets) or otherwise inherently temporal (e.g. political boundaries, flows, or anything else that changes position or shape over time). In fact all geographic features have temporal attributes, whether or not we have that data or use them for a particular application. Likewise, many temporal things are inherently spatial (e.g. historical periods like Bronze Age Britain; see the PeriodO project, Pleiades Period Vocabulary). All events occur somewhere, with a spatial footprint we might like to map or analyze.

Like the GeoJSON standard (RFC 7946), GeoJSON-T represents collections of geographic features in a FeatureCollection, and its geometry element handles spatial attributes identically. Any software that interprets GeoJSON will interpret GeoJSON-T, simply ignoring certain of its elements.

But unlike GeoJSON, a Feature in GeoJSON-T can be either an essentially spatial thing (a place) or temporal thing (period or events of any complexity). This difference requires extending the GeoJSON format in a few ways:

Adding time

A GeoJSON-T Feature can have optional temporal attributes, in one or more when elements

If a Feature has a single geometry, a single when temporal element can be added as a sibling to GeoJSON's standard type, geometry, and properties elements.

{
"type": "FeatureCollection",
"features": [
{
   "type": "Feature",
   "id": "",
   "properties": {},
   "geometry": {},
   "when": {}
   }
]
}

If a Feature had multiple locations or extents over time, its geometry will be of type GeometryCollection -- an array of one or more geometry objects. Each of these can have a single when temporal element, along with the standard type and coordinates elements

"geometry": {
 "type": "GeometryCollection",
 "geometries": [
   {
    "type": "LineString",
    "coordinates": [[93.867,40.35],[108.9423,34.26]],
    "when": {},
    "attrib01": ""
   },
   {. . .}
 ]
}

Each geometry in a GeometryCollection can have an unlimited number of attributes. The term "properties" is reserved for the top-level element of a Feature in the GeoJSON spec. These, like when elements, are termed "Foreign Members" in the GeoJSON specification. They will be ignored by existing GeoJSON-compatible software, but can be parsed and manipulated by future GeoJSON-T compatible software.

The structure of "when"

The when object in a GeoJSON-T Feature (or in a geometry object within a Feature's GeometryCollection) is comprised of at least one of:

  • a set of one or more timespans

  • a set of one or more named, web-published period definitions

and any of these optional properties:

  • a label

  • a duration whose value is the letter 'P' followed by an integer followed by a single letter (D, W, M, Y for day, week, month, year respectively) indicating the phenomena occurred or is valid for that duration some time during the timespan; e.g. "P4D" or "P15Y". Absence of a "duration" element will be interpreted as the phenomena occurring throughout the timespan.

  • a follows property, whose value can be an internal identifier for the preceding segment of an ordered set

"when": {
  "timespans": [
    {  
      "start": { "in": "nnnn-nn" },
      "end": {
        "earliest": "-nnnn",
        "latest": "nnnn-nn-nn"
      },
    }
  ],
  "periods": [
   {
    "name": "Hellenistic Period",
    "uri": "http://n2t.net/ark:/99152/p0mn2ndq6bv"
   }
  ],
  "duration": "P100Y",
  "follows": "http://mygaz.org/p_00123",
  "label": "for a century in the Hellenistic period"
}

Possible extension

An outstanding issue is whether to support features proposed in Levels 0 and 1 of the Extended Date/Time Format, EDTF). Two elements are of particular interest:

  • The operators ~, ?, and % (respectively: approximate, uncertain and both approximate and uncertain). The question of how to represent these visually or compute over them would be left to individual software applications supporting GeoJSON-T.

  • A simplified method of representing intervals that adds capability for open or uncertain bounds. Start and end dates are ISO 8601 expressions separated by a forward slash character "/". The GeoJSON-T format's start and end objects above could be replaced by single ISO 8601 dates or EDTF pairs standing for "earliest" and "latest." For example, the following would mean "from April, 1832 to sometime between 1 June and 14 August in 1835."

{  
  "start": "1832-04",
  "end": "1835-06-01/1835-08-15",
}

Please comment

This extension proposes what are called "Foreign Members" in the GeoJSON specification ("when" & variously named key/value pairs in a geometry). It is understood that the value of these is entirely dependent on there being software that expects and uses them in computation and/or display.

Uptake

GeoJSON-T is the basis for the JSON-LD compatible Linked Places format (LP) in development for use by both the Peripleo and [World-Historical Gazetteer] (http://whgazetteer.org) projects.

GeoJSON-T is the proposed format for the WebMaps-T project working to "visualise Linked Open Data (LOD) and other humanities data in time and space." GitHub

An earlier version of GeoJSON-T was implemented in the pilot web app Linked Paths

The development of GeoJSON-T should evolve into a more formal process following this informal presentation and discussion. Please comment as an Issue in this repository.

About

Experimental temporal extension to the GeoJSON standard

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published