Geo JSON | |
---|---|
Extensión | ..json, .geojson |
tipo MIME | aplicación/vnd.geo+json |
Desarrollador | Consejo de Ingeniería de Internet |
Tipo de formato | formato de archivo SIG |
Expandido desde | JSON |
formato abierto ? | Sí |
Sitio web | geojson.org |
GeoJSON es un formato abierto para almacenar estructuras de datos geográficos basados en JSON .
El formato puede almacenar tipos primitivos para describir objetos geográficos, tales como: puntos (direcciones y ubicaciones), líneas (calles, carreteras, fronteras), polígonos (países, estados, parcelas de tierra). También se pueden almacenar los llamados multitipos, que son la unión de varios tipos primitivos.
El formato GeoJSON se diferencia de otros estándares GIS en que no fue escrito ni mantenido por ninguna organización de estándares, sino por un grupo de trabajo de desarrolladores.
Un desarrollo posterior de GeoJSON es TopoJSON , una extensión de GeoJSON que codifica la topología geoespacial y, por lo general, proporciona tamaños de archivo más pequeños.
El formato GeoJSON comenzó a ser discutido por el grupo de trabajo en marzo de 2007 [1] y la especificación final del estándar estuvo lista en junio de 2008.
Tipos | Ejemplos | |
---|---|---|
punto | { "tipo" : "Punto" , "coordenadas" : [ 30 , 10 ] } | |
LineString | { "tipo" : "LineString" , "coordenadas" : [ [ 30 , 10 ], [ 10 , 30 ], [ 40 , 40 ] ] } | |
Polígono | { "tipo" : "Polígono" , "coordenadas" : [ [[ 30 , 10 ], [ 40 , 40 ], [ 20 , 40 ], [ 10 , 20 ], [ 30 , 10 ]] ] } | |
{ "tipo" : "Polígono" , "coordenadas" : [ [[ 35 , 10 ], [ 45 , 45 ], [ 15 , 40 ], [ 10 , 20 ], [ 35 , 10 ]], [[ 20 , 30 ], [ 35 , 35 ], [ 30 , 20 ], [ 20 , 30 ]] ] } |
Tipos | Ejemplos | |
---|---|---|
multipunto | { "tipo" : "MultiPunto" , "coordenadas" : [ [ 10 , 40 ], [ 40 , 30 ], [ 20 , 20 ], [ 30 , 10 ] ] } | |
MultiLineString | { "tipo" : "MultiLineString" , "coordenadas" : [ [[ 10 , 10 ], [ 20 , 20 ], [ 10 , 40 ]], [[ 40 , 40 ], [ 30 , 30 ], [ 40 , 20 ], [ 30 , 10 ]] ] } | |
multipolígono | { "tipo" : "MultiPolygon" , "coordenadas" : [ [ [[ 30 , 20 ], [ 45 , 40 ], [ 10 , 40 ], [ 30 , 20 ]] ], [ [[ 15 , 5 ], [ 40 , 10 ], [ 10 , 20 ], [ 5 , 10 ], [ 15 , 5 ]] ] ] } | |
{ "tipo" : "MultiPolygon" , "coordenadas" : [ [ [[ 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 ]] ] ] } |
GeoJSON es compatible con muchos paquetes de software de mapas y GIS , incluidos OpenLayers , [2] Leaflet , MapServer , [3] software Geoforge , [4] GeoServer , [5] GeoDjango , [6] GDAL , [7] Safe Software FME , [ 8] y CartoDB . [9] Además, puede usar GeoJSON con PostGIS [10] y Mapnik , [11] , ambos funcionan con el formato usando la biblioteca GDAL OGR. Servicios en línea Bing Maps , Yahoo! y Google también admiten GeoJSON en sus API.
La API de Javascript de Google Maps v3 admite directamente la integración de capas de datos GeoJSON [12] desde el 19 de marzo de 2014. [13]
GitHub también es compatible con GeoJSON [14] y la exportación Potrace GeoJSON .
TopoJSON es una evolución de GeoJSON. En lugar de representar características geográficas de forma aislada, TopoJSON las une en entidades únicas llamadas arcos [ 15 ]. Los arcos son una secuencia de puntos, mientras que las líneas y los polígonos son una secuencia de arcos. Cada arco se define solo una vez, pero se puede usar varias veces en varias formas, lo que reduce la redundancia y el tamaño del archivo.
La especificación para el formato TopoJSON está alojada en GitHub [16] .
Un ejemplo de una descripción de un objeto ubicado cerca de las coordenadas del paralelo cero y latitud cero. Simple, pero contiene todos los tipos de geometría necesarios: Polígonos ( Polygon ), Líneas ( LineString ), Puntos ( Point ), Arcos ( arcs ) y Descripciones :
{ "tipo" : "Topología" , "transformar" : { "escala" : [ 1 , 1 ], "traducir" : [ 0 , 0 ] }, "objetos" : { "dos cuadrados" : { "tipo" : "GeometryCollection" , "geometrías" : [ { "tipo" : "Polígono" , "arcos" : [[ 0 , 1 ]], "propiedades" : { "nombre" : "Left_Polygon" }}, { "tipo" : "Polygon" , "arcs" : [[ 2 , - 1 ]], "properties" : { "name" : "Right_Polygon" }} ] }, "one-line" : { "type" : "GeometryCollection" , "geometrías" : [ { "tipo" : "LineString" , "arcos" : [ 3 ], "propiedades" : { "nombre" : "Under_LineString" }} ] }, "dos lugares" : { "tipo" : "GeometryCollection" , "geometrías" : [ { "tipo" : "Punto" , "coordenadas" : [ 0 , 0 ], "propiedades" : { "nombre" : "Punto_Origen" }}, { "tipo" : "Punto " , "coordenadas" : [ 0 , - 1 ], "propiedades" : { "nombre" : "Under_Point" }} ] } }, "arcos" : [ [[ 1 , 2 ],[ 0 , - 2 ]] , [[ 1 , 0 ],[ - 1 , 0 ],[ 0 , 2 ],[ 1 , 0 ]], [[ 1 , 2 ],[ 1 , 0 ],[ 0 , - 2 ],[ - 1 , 0 ]], [[ 0 , - 1 ],[ 2 , 0 ]] ] }