GeoJSON

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

GeoJSON[1] je standardni otvoren format za kodiranje kolekcija jednostavnih geografskih podešavanja uz njihove ne-prostorne atribute korišćenjem JavaScript Object Notacije. Podešavanja uključuju tačke(otuda adrese i lokacije), izlomljne linije(otuda ulice, autoputevi i granice), poligone (države, provincije, površine zemlje), i višečlane kolekcije ovih tipova. GeoJSON podešavanjima jedino nije potrebna reprezentacija entiteta fizičkih reči; mobilno rutiranje i aplikacije za navigaciju, na primer, mogu opisati njihovu pokrivenost usluga korišćenjem GeoJSON-a.[2]

Zvanična vrsta internet medija za GeoJSON je application/vnd.geo+json. Ekstenzija GeoJSON fajlova je .json, .geojson.

GeoJSON format se razlikuje od drugih GIS standarda u tome da je napisan i da je održavan ne formalnim organizacijama standarda, vec grupom Internet developera.[3]

Značajan dodatak GeoJSON-a je TopoJSON ekstenzija GeoJSON-a koja kodira geo-prostornu topologiju i koja tipično obezbeđuje manje veličine datotekama.

Istorija[уреди]

Grupa koja je radila na GeoJSON formatu i diskusije o njemu su počele u martu 2007.[4] , i specifikacija formata je završena u junu 2008.

Primeri[уреди]

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [102.0, 0.6]
      },
      "properties": {
        "prop0": "value0"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
        ]
      },
      "properties": {
        "prop1": 0.0,
        "prop0": "value0"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0],
            [100.0, 0.0]
          ]
        ]
      },
      "properties": {
        "prop1": {
          "this": "that"
        },
        "prop0": "value0"
      }
    }
  ]
}

Geometrijski primeri[уреди]

Osnovni geometrijski objekti
Tip Primer
Tačka SFA Point.svg
{
    "type": "Point", 
    "coordinates": [30, 10]
}
Izlomljena linija SFA LineString.svg
{
    "type": "LineString", 
    "coordinates": [
        [30, 10], [10, 30], [40, 40]
    ]
}
Poligon SFA Polygon.svg
{
    "type": "Polygon", 
    "coordinates": [
        [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]]
    ]
}
SFA Polygon with hole.svg
{
    "type": "Polygon", 
    "coordinates": [
        [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], 
        [[20, 30], [35, 35], [30, 20], [20, 30]]
    ]
}
Višečlani geometrijski objekti
Tip Primer
Više tačaka SFA MultiPoint.svg
{
    "type": "MultiPoint", 
    "coordinates": [
        [10, 40], [40, 30], [20, 20], [30, 10]
    ]
}
Više izlomljenih linija SFA MultiLineString.svg
{
    "type": "MultiLineString", 
    "coordinates": [
        [[10, 10], [20, 20], [10, 40]], 
        [[40, 40], [30, 30], [40, 20], [30, 10]]
    ]
}
Više poligona SFA MultiPolygon.svg
{
    "type": "MultiPolygon", 
    "coordinates": [
        [
            [[30, 20], [45, 40], [10, 40], [30, 20]]
        ], 
        [
            [[15, 5], [40, 10], [10, 20], [5, 10], [15, 5]]
        ]
    ]
}
SFA MultiPolygon with hole.svg
{
    "type": "MultiPolygon", 
    "coordinates": [
        [
            [[40, 40], [20, 45], [45, 30], [40, 40]]
        ], 
        [
            [[20, 35], [10, 30], [10, 10], [30, 5], [45, 20], [20, 35]], 
            [[30, 20], [20, 15], [20, 25], [30, 20]]
        ]
    ]
}

Podržani softver[уреди]

GeoJSON je podržan brojnim mapnim i GIS softver paketima, uključujući i OpenLayers,[5] Leaflet, MapServer,[6] Geoforge software,[7] GeoServer,[8] GeoDjango,[9] GDAL,[10] Safe Software FME,[11] i CartoDB.[12] Takođe je moguće koristiti GeoJSON sa PostGIS[13] i Mapnik,[14] od kojih oba mogu da podrže format preko GDAL OGR biblioteke za konverziju. Bing Maps, Yahoo! i Google takođe podržavaju GeoJSON u njihovim API uslugama.


The Google Maps Javascript API v3 direktno podržava integraciju GeoJSON slojeva podataka [15] kao što od 19. marta 2014. godine [16]

GitHub takođe podržava GeoJSON renderovanje[17] i Potrace GeoJSON eksport.

TopoJSON[уреди]

TopoJSON je ekstenzija GeoJSON-a koja kodira topologiju. Radije nego predstavljanje geometrije diskretno, geometrije u TopoJSON datotekama su prošivene zajedno iz deljene linije segmenata zvane "arcs".[18] Arcs su sekvence tačaka, dok su izlomljene linije i poligoni definisani kao sekvence arcs-ova. Svaki arc je definisan samo jednom, ali moze da se referiše više puta koristeći različite oblike, odatle redudansa redukovanja, i smanjenje veličine datoteke. [19] Pored toga, TopoJSON olakšava aplikacije koje koriste topologiju, kakve su pojednostavljenje topološko-sačuvljivih oblika, automatsko bojenje mapa, i kartogrami.

Referenca implementacije specifikacije TopoJSON-a je dostupna kao alatka komandne linije za kodianje TopoJSON-a iz GeoJSON-a (ili ESRI Shapefiles) i kao biblioteka JavaScript na klijentskoj strani koja dekodira TopoJSON nazad u GeoJSON. TopoJSON je takođe podržan od strane popularne OGR alatke od verzije 1.11[20] i PostGIS od verzije 2.1.0.[21]

Reference[уреди]

  1. ^ The GeoJSON Format Specification
  2. ^ iOS Location and Maps Programming Guide
  3. ^ The GeoJSON Discussion List
  4. ^ March 2007 Archives by thread
  5. ^ „Архивирана копија”. Архивирано из оригинала на датум 16. 03. 2010. Приступљено 22. 09. 2014. 
  6. ^ Template-Driven Output — MapServer 6.4.1 documentation
  7. ^ Documentation - Leaflet - a JavaScript library for mobile-friendly maps
  8. ^ „Codehaus[[Категорија:Ботовски наслови]]”. Архивирано из оригинала на датум 13. 12. 2009. Приступљено 22. 09. 2014.  Сукоб URL—викивеза (помоћ)
  9. ^ „Архивирана копија”. Архивирано из оригинала на датум 17. 03. 2010. Приступљено 22. 09. 2014. 
  10. ^ „GeoJSON[[Категорија:Ботовски наслови]]”. Архивирано из оригинала на датум 15. 04. 2009. Приступљено 22. 09. 2014.  Сукоб URL—викивеза (помоћ)
  11. ^ „Архивирана копија” (PDF). Архивирано из оригинала (PDF) на датум 24. 07. 2008. Приступљено 22. 09. 2014. 
  12. ^ CartoDB.js — CartoDB Docs
  13. ^ „Архивирана копија” (PDF). Архивирано из оригинала (PDF) на датум 01. 06. 2010. Приступљено 22. 09. 2014. 
  14. ^ „Архивирана копија”. Архивирано из оригинала на датум 02. 05. 2009. Приступљено 22. 09. 2014. 
  15. ^ Data Layer: Simple - Google Maps JavaScript API v3 — Google Developers
  16. ^ Google Developers Blog: Maps made easier: GeoJSON in the JavaScript Maps API
  17. ^ There's a map for that · GitHub
  18. ^ topojson/topojson-specification · GitHub
  19. ^ Home · mbostock/topojson Wiki · GitHub
  20. ^ GDAL/OGR 1.11.0 Release Notes
  21. ^ PostGIS AsTopoJSON

Izvori[уреди]