Skip to content

geoJSON Specification

tnier01 edited this page Oct 6, 2020 · 3 revisions

general

  • Here we describe in detail how the geoJSON looks like, which is available for download in the OJS article view.
  • If values are not available, it is signed with "not available".
  • If there is no feature, then the complete part-JSON is not shown.
  • If there is no administrative unit, then the complete part-JSON is not shown.
  • Below you will find an example.

releated links:

geoJSON

  • The geoJSON is of type FeatureCollection. If available, it contains features, administrativeUnits and temporalProperties which describe the articles content shown in OJS in terms of place, administrative hierarchy, and time.

1. features

  • A feature contains its type, its properties, and its geometry.

1.1 features - type

  • A feature is of type "Feature".

1.2 features - properties

  • The properties contain the provenance.

1.2.1 features - properties - provenace

  • Provenance describes who created the feature and where the data comes from.
  • The feature is described by an id (Integer) and a description (String), there are different possibilities as listed below:
id description
11 geometric shape created by user (drawing)
12 geometric shape created by user (edited the suggestion of the leaflet-control-geocoder by drawing)
13 geometric shape created by user (acceppting the suggestion of the leaflet-control-geocoder)

1.3 features - geometry

  • Geometry for the feature is described by a type and coordinates.

1.3.1 features - geometry - type

  • Type can be Point, Polygon or LineString (Integer).

1.3.2 features - geometry - coordinates

  • Coordinates is a two-dimensional array of coordinate pairs (Array with Floats).

2. administrativeUnits

  • The administrative unit is stored for all features in the FeatureCollection. However, not for every single one. The administrative units that are valid to all features are stored.
  • For an administrative unit, the name, geonameId, bbox, administrativeUnitSuborder, and provenance is stored.

2.1 administrativeUnits - name

  • Is the aciiName got by geonames.org, or an input string by the user (String).

2.2 administrativeUnits - geonameId

  • The geonameId is an unique Id given by geonames.org for each place (Integer).

2.2 administrativeUnits - bbox

  • Bbox is the bbox got by geonames.org seperated in east, south, north and west.

2.2.1 administrativeUnits - bbox - east

  • East is the east longitude of the bounds (Float).

2.2.2 administrativeUnits - bbox - south

  • South is the south latitude of the bounds (Float).

2.2.3 administrativeUnits - bbox - north

  • North is the north latitude of the bounds (Float).

2.2.4 administrativeUnits - bbox - west

  • West is the west longitude of the bounds (Float).

2.3 administrativeUnits - administrativeUnitSuborder

  • For each administrative unit the hierarchy of the superior administrative units is stored in the form of an one-dimensional array with asciiNames. The names are sorted, from right, the highest level, to left, the lowest. This hierarchy is also a result of a request to geonames.org (Array with Strings).

2.4 administrativeUnits - provenance

  • Provenance describes who created the administrative units and where the data comes from.
  • Provenance for the administrative unit is described by an id (Integer) and a description (String), there are different possibilities as listed below.
id description
21 administrative unit created by user (acceppting the suggestion of the geonames API, which was created on basis of a textual input)
22 administrative unit created by user (textual input, without suggestion of the geonames API)
23 administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)

3. temporalProperties

  • The temporalProperties descripe the temporal properties of the articles content.
  • TemporalProperties contains the unixDateRange and the provenance.

3.1 temporalProperties - unixDateRange

  • Is an one-dimensional array with two positions (Array with Integers).
  • Each position contains a unix timestamp in milliseconds.
  • The first position is the start, and the second the end.

3.1 temporalProperties - provenance

  • Provenance describes who created the temporal properties and where the data comes from.
  • Provenance for the administrative unit is described by an id (Integer) and a description (String), there is one possibility as listed below.
id description
31 temporal properties created by user

Example

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "provenance": {
                    "description": "geometric shape created by user (drawing)",
                    "id": 11
                }
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    7.569408416748048,
                    51.964154032322156
                ]
            }
        }
    ],
    "administrativeUnits": [
        {
            "name": "Earth",
            "geonameId": 6295630,
            "bbox": "not available",
            "administrativeUnitSuborder": [
                "Earth"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Europe",
            "geonameId": 6255148,
            "bbox": {
                "east": 41.73303985595703,
                "south": 27.6377894797159,
                "north": 80.76416015625,
                "west": -24.532675386662543
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Federal Republic of Germany",
            "geonameId": 2921044,
            "bbox": {
                "east": 15.0418156516163,
                "south": 47.2701236047002,
                "north": 55.0583836008072,
                "west": 5.8663152683722
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe",
                "Federal Republic of Germany"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Nordrhein-Westfalen",
            "geonameId": 2861876,
            "bbox": {
                "east": 9.46147836912997,
                "south": 50.3230119525423,
                "north": 52.5314434279375,
                "west": 5.86625035072566
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe",
                "Federal Republic of Germany",
                "Nordrhein-Westfalen"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Regierungsbezirk Muenster",
            "geonameId": 2867539,
            "bbox": {
                "east": 8.320136134018338,
                "south": 51.48083809085128,
                "north": 52.47496744895713,
                "west": 6.386696630387
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe",
                "Federal Republic of Germany",
                "Nordrhein-Westfalen",
                "Regierungsbezirk Muenster"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Kreisfreie Stadt Muenster",
            "geonameId": 3247442,
            "bbox": {
                "east": 7.774221787742527,
                "south": 51.840191151313945,
                "north": 52.0601755096113,
                "west": 7.473962942771039
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe",
                "Federal Republic of Germany",
                "Nordrhein-Westfalen",
                "Regierungsbezirk Muenster",
                "Kreisfreie Stadt Muenster"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Muenster",
            "geonameId": 6553087,
            "bbox": {
                "east": 7.774221787742527,
                "south": 51.840191151313945,
                "north": 52.0601755096113,
                "west": 7.473962942771039
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe",
                "Federal Republic of Germany",
                "Nordrhein-Westfalen",
                "Regierungsbezirk Muenster",
                "Kreisfreie Stadt Muenster",
                "Muenster"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Gievenbecker Reihe",
            "geonameId": 2920484,
            "bbox": {
                "east": 7.595547406691166,
                "south": 51.95347777399225,
                "north": 51.98109441197103,
                "west": 7.555972992188486
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe",
                "Federal Republic of Germany",
                "Nordrhein-Westfalen",
                "Regierungsbezirk Muenster",
                "Kreisfreie Stadt Muenster",
                "Muenster",
                "Gievenbecker Reihe"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        },
        {
            "name": "Gievenbeck",
            "geonameId": 8051527,
            "bbox": {
                "east": 7.595547406691166,
                "south": 51.95347777399225,
                "north": 51.98109441197103,
                "west": 7.555972992188486
            },
            "administrativeUnitSuborder": [
                "Earth",
                "Europe",
                "Federal Republic of Germany",
                "Nordrhein-Westfalen",
                "Regierungsbezirk Muenster",
                "Kreisfreie Stadt Muenster",
                "Muenster",
                "Gievenbecker Reihe",
                "Gievenbeck"
            ],
            "provenance": {
                "description": "administrative unit created by user (acceppting the suggestion of the geonames API , which was created on basis of a geometric shape input)",
                "id": 23
            }
        }
    ],
    "temporalProperties": {
        "unixDateRange": "[1600063695000,1603209224000]",
        "provenance": {
            "description": "temporal properties created by user",
            "id": 31
        }
    }
}