Edukira joan

GeoJSON

Wikipedia, Entziklopedia askea
GeoJSON
Jatorria
Ezaugarriak
Media motaapplication/geo+json eta application/vnd.geo+json
Deskribapena
OinarrituaJavaScript Object Notation
Ekoizpena
GaratzaileaIETF
geojson.org
GitHub: geojson

GeoJSON formatu estandar ireki bat da, ezaugarri geografiko sinpleak eta ezaugarri ez-espazialak adierazteko diseinatua. JSON formatuan oinarritzen da.

Ezaugarrien artean puntuak (helbideak eta kokapenak), lerro-kateak (kaleak, errepideak eta mugak), poligonoak (herrialdeak, probintziak, lur-zatiak) eta mota horretako parte anitzeko bildumak. GeoJSONen ezaugarriak ez dira soilik mundu fisikoko entitateak irudikatzera mugatzen; mugikorretako hornitzaileek eta interneteko nabigazio-aplikazioek, adibidez, GeoJSON erabiliz deskriba lezakete bere zerbitzu-estaldura.[1]

GeoJSON formatua ez dator bat informazio geografikoko sistemaren beste estandar batzuekin; izan ere, formatu hori idatzi zen eta mantentzen da ez arauen antolaketa formal baten bidez, baizik eta Interneteko garatzaileen lantalde baten bidez.[2]

GeoJSON-en ondorengo eratorri nabarmen bat TopoJSON da, GeoJSON-en hedapen bat da topologia geoespaziala kodetzen duena eta normalean fitxategi tamaina txikiagoak ematen dituena.

Lantaldea eta GeoJSON formatuari buruzko eztabaida 2007ko martxoan hasi zen eta formatuaren zehaztapena 2008ko ekainean amaitu zen.[3]

2015eko apirilean, Interneteko Ingeniaritzako Lan Taldeak Geographic JSONen working group sortu zuen, eta 2016ko abuztuan GeoJSON RFC 7946 gisa argitaratu zuen.[4]

Map

Hau da Miñan liburuan Ibrahima protagonistak egiten duen bidaiaren GeoJSON errepresentazioa (eta alboan mapa interaktiboa):[5]

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [-13.712222222, 9.509166666]
      },
      "properties": {
        "prop0": "value0",
        "marker-size": "small",
        "marker-color": "#F90606"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [-2.93333, 35.1667]
      },
      "properties": {
        "prop0": "value0",
        "marker-size": "small",
        "marker-color": "#F90606"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [12.484166666, 32.792222222]
      },
      "properties": {
        "prop0": "value0",
        "marker-size": "small",
        "marker-color": "#F90606"
      }
    },
    
    {
      "type": "Feature",
      "properties": {"stroke": "#F90606","stroke-width": 2},
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [-13.712222222, 9.509166666], [-9.164444444, 11.418888888], [-7.992222222, 12.645833333], [-0.05, 16.266666666], [-0.05, 16.266666666], [1.4, 18.433333333], [1.810555555, 20.437222222], [-0.666666666, 23.5], [0.166666666, 26.7], [-0.293888888, 27.874166666], [3.666666666, 32.483333333], [3.058611111, 36.776388888], [-0.633055555, 35.696944444], [-2.93333, 35.1667], [-5.803888888, 35.776666666], [-9.72694, 29.7], [-5.803888888, 35.776666666], [-2.93333, 35.1667]
        ]
      }
    },    
    {
      "type": "Feature",
      "properties": {"stroke": "#F90606","stroke-width": 2},
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [3.666666666, 32.483333333], [5.316666666, 31.95], [9.423888888, 29.9675], [9.5, 30.133333333], [12.484166666, 32.792222222], [12.729722222, 32.754444444]   
        ]
      }
    }
  ]
}

Puntuak dira hauek: [x, y] edo [x, y, z]. Definitu daitezke [longitudea, latitudea] gisa, edo [easting, northing] gisa ere bai. Altitudea, metrotan, hautazko hirugarren zenbaki bat da. Zenbaki hamartarrak dira.[6]

Adibidez, Londres (51.5074° Iparraldean, 0.1278° Mendebaldean) honela adierazten da: [-0.1278, 51.5074].

Geometriako primitiboak
Mota Adibideak
Puntua
{
    "type": "Point", 
    "coordinates": [30.0, 10.0]
}
LineString
{
    "type": "LineString", 
    "coordinates": [
        [30.0, 10.0],
        [10.0, 30.0],
        [40.0, 40.0]
    ]
}
Poligonoa
{
    "type": "Polygon", 
    "coordinates": [
        [
            [30.0, 10.0],
            [40.0, 40.0],
            [20.0, 40.0],
            [10.0, 20.0],
            [30.0, 10.0]
        ]
    ]
}
{
    "type": "Polygon", 
    "coordinates": [
        [
            [35.0, 10.0],
            [45.0, 45.0],
            [15.0, 40.0],
            [10.0, 20.0],
            [35.0, 10.0]
        ],
        [
            [20.0, 30.0],
            [35.0, 35.0],
            [30.0, 20.0],
            [20.0, 30.0]
        ]
    ]
}
Zati anitzeko geometriak
Mota Adibideak
Puntu anitzekoa
{
    "type": "MultiPoint", 
    "coordinates": [
        [10.0, 40.0],
        [40.0, 30.0],
        [20.0, 20.0],
        [30.0, 10.0]
    ]
}
MultiLine String
{
    "type": "MultiLineString", 
    "coordinates": [
        [
            [10.0, 10.0],
            [20.0, 20.0],
            [10.0, 40.0]
        ],
        [
            [40.0, 40.0],
            [30.0, 30.0],
            [40.0, 20.0],
            [30.0, 10.0]
        ]
    ]
}
Multipoligono
{
    "type": "MultiPolygon", 
    "coordinates": [
        [
            [
                [30.0, 20.0],
                [45.0, 40.0],
                [10.0, 40.0],
                [30.0, 20.0]
            ]
        ], 
        [
            [
                [15.0, 5.0],
                [40.0, 10.0],
                [10.0, 20.0],
                [5.0, 10.0],
                [15.0, 5.0]
            ]
        ]
    ]
}
{
    "type": "MultiPolygon", 
    "coordinates": [
        [
            [
                [40.0, 40.0],
                [20.0, 45.0],
                [45.0, 30.0],
                [40.0, 40.0]
            ]
        ], 
        [
            [
                [20.0, 35.0],
                [10.0, 30.0],
                [10.0, 10.0],
                [30.0, 5.0],
                [45.0, 20.0],
                [20.0, 35.0]
            ],
            [
                [30.0, 20.0],
                [20.0, 15.0],
                [20.0, 25.0],
                [30.0, 20.0]
            ]
        ]
    ]
}
Geometria bilduma
{
    "type": "GeometryCollection",
    "geometries": [
        {
            "type": "Point",
            "coordinates": [40.0, 10.0]
        },
        {
            "type": "LineString",
            "coordinates": [
                [10.0, 10.0],
                [20.0, 20.0],
                [10.0, 40.0]
            ]
        },
        {
            "type": "Polygon",
            "coordinates": [
                [
                    [40.0, 40.0],
                    [20.0, 45.0],
                    [45.0, 30.0],
                    [40.0, 40.0]
                ]
            ]
        }
    ]
}

GeoJSON lerroka (Newline-delimited)

[aldatu | aldatu iturburu kodea]

GeoJSON-en alternatiba bat da lerro bakoitzean ezaugarri geografiko bana kodetzea da, lerro-bukaerako karaktereek (edo erregistroak bereizteko beste karaktereren batzuek) erregistroen arteko bereizketa definitzen dutela

Formatu hori GeoJSON normala baino askoz eraginkorragoa izan daiteke analizatzeko, tresnek erregistro indibidualak paraleloan irakur baititzakete. Formatu hau newline-delimited JSON-en antzekoa da.

Newline-delimited JSON-en barianteak dira bese hauek:

  • GeoJSONSeq (GeoJSON Text Sequences-rako laburdura) - ezaugarriak bereizteko karaketere erregistro-bereizleekin (RS, record-separator)
  • GeoJSONL (GeoJSON Lines-erako laburdura) - ezaugarriak bereizten dira lerro bukaerako karaktereen bitartez.[7]

TopoJSON topologia kodetzen duen GeoJSON luzapen bat da. Geometriak modu diskretuan irudikatu beharrean, geometriak TopoJSON fitxategietan arku izeneko lerro-segmentu partekatuetatik lotzen dira.[8] Arkuak puntu-sekuentziak dira, eta sokak eta poligonoak, berriz, arku-sekuentziak. Arku bakoitza behin bakarrik definitzen da, baina hainbat aldiz erreferentziatu daiteke hainbat formatan erredundantzia murriztuz eta fitxategiaren tamaina txikituz.[9] Gainera, TopoJSON-ek topologia erabiltzen duten aplikazioak errazten ditu, hala nola, forma sinplifikatzea, mapen kolorazio automatikoa eta kartografiak.

TopoJSON espezifikazioaren erreferentziazko aplikazio bat erabilgarri dago komando-lerroko tresna gisa GeoJSON-etik (edo ESRI Shapefiles) TopoJSON kodetzeko eta bezeroaren aldeko JavaScript liburutegi bat TopoJSON berriro GeoJSON-era deskodetzeko. TopoJSON-ek ere TV-k babesten du 1.11 bertsiotik aurrera eta PostGIS-ek 2.1.0 bertsiotik aurrera.[10][11]

TopoJSON Schema

[aldatu | aldatu iturburu kodea]

latitude eta 0° longitude koordenatuetatik gertu dagoen GIS forma bat emanda, metadatu guztiak (Polygon, LineString, Point elements, arcs eta propietateak) dituen topojson fitxategi sinple baina baliozko eta oso bat honela definitzen da:

Topojson-en formak
{
  "type":"Topology",
  "transform":{
    "scale": [1,1],
    "translate": [0,0]
  },
  "objects":{ 
    "two-squares":{
      "type": "GeometryCollection",
      "geometries":[
        {"type": "Polygon", "arcs":[[0,1]],"properties": {"name": "Left_Polygon" }},
        {"type": "Polygon", "arcs":[[2,-1]],"properties": {"name": "Right_Polygon" }}
      ]
    },
    "one-line": {
      "type":"GeometryCollection",
      "geometries":[
        {"type": "LineString", "arcs": [3],"properties":{"name":"Under_LineString"}}
      ]
    },
    "two-places":{
      "type":"GeometryCollection",
      "geometries":[
        {"type":"Point","coordinates":[0,0],"properties":{"name":"Origine_Point"}},
        {"type":"Point","coordinates":[0,-1],"properties":{"name":"Under_Point"}}
      ]
    }
  },
  "arcs": [
    [[1,2],[0,-2]],
    [[1,0],[-1,0],[0,2],[1,0]],
    [[1,2],[1,0],[0,-2],[-1,0]],
    [[0,-1],[2,0]]
  ]
}

Erreferentziak

[aldatu | aldatu iturburu kodea]
  1. «Providing Directions» developer.apple.com.
  2. «GeoJSON Info Page» lists.geojson.org.
  3. «The GeoJSON March 2007 Archive by thread» lists.geojson.org.
  4. «Geographic JSON (geojson) -» datatracker.ietf.org.
  5. «Mapa: Konakry - Ghardaia - Sabratha - Ghardaia-Nador» query.wikidata.org (Wikidata Query Service) (Noiz kontsultatua: 2021-04-07).
  6. Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan. (August 2016). GeoJSON RFC #3.1.1. .
  7. (Ingelesez) «GeoJSONL: An optimized format for large geographic datasets» Interline Technologies 2018-09-11.
  8. topojson/topojson-specification. 11 December 2020.
  9. «topojson/topojson» GitHub.
  10. «Release/1.11.0-News – GDAL» trac.osgeo.org.
  11. «AsTopoJSON» postgis.net.

Kanpo estekak

[aldatu | aldatu iturburu kodea]
  翻译: