GeoJSON

De Departamento de Informatica
Saltar a: navegación, buscar

Es un formato estándar abierto basado en JSON, diseñado para representar características geográficas simples, junto con sus atributos no espaciales.

Contenido

Estructura

Su estructura consiste siempre en un solo objecto JSON. Este objecto GeoJSON puede representar una geometría (Geometry), característica (Feature) o colección de características (FeatureCollection).

Ejemplos

  • Geometry:
{
  "type": "Point",
  "coordinates": [102.0,0.5]
}
  • Feature:
{
  "type": "Feature",
  "geometry": {
     "type": "Point",
     "coordinates": [102.0,0.5]
  },
  "properties": {
    "prop0": "value0"
  }
}
  • FeatureCollection:
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [102.0,0.5]
      },
      "properties": {
        "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 ]
          ]
        ]
      }
    }
  ]
}

El Objecto Geometría (Geometry Object)

El Objecto geometría está compuesto por un campo llamado type y, salvo en el tipo GeometryCollection, un campo coordinates.

Posiciones

Es el elemento básico de un geometry object. Una posición es representada por un arreglo de números; en el caso de coordenadas bidimensionales deben seguir el orden [longitud, latitud].

Tipos de Geometría

  • Point

El valor de coordinates debe ser una única posición. Ejemplo:

{
  "type": "Point",
  "coordinates": [ 100.0, -50.0 ]
}
  • LineString

El valor de coordinates debe ser un arreglo de 2 o más posiciones. Ejemplo:

{
  "type": "LineString",
  "coordinates": [ [ 100.0, -50.0 ], [ 150.0, -50.0 ] ]
}
  • Polygon

El valor de coordinates debe ser un arreglo de LineString circulares —o LineRing es un tipo especial de LineString que contiene al menos 4 posiciones y en donde la primera es igual a la última—. Ejemplo

{
   "type": "Polygon",
   "coordinates": [
     [ [ 100.0, 0.0 ], [ 101.0, 0.0 ], [ 101.0, 1.0 ], [ 100.0, 1.0 ], [ 100.0, 0.0 ] ]
   ]
}

En caso de que el polígono este compuesto por más de un LineRing, el primero debe ser el aro exterior y los demás los interiores o agujeros.

  • MultiPoint

El valor de coordinates debe ser una arreglo de posiciones. Ejemplo:

{
  "type": "MultiPoint",
  "coordinates": [ [ 100.0, -50.0 ], [ 150.0, -50.0 ] ]
}
  • MultiLineString

El valor de coordinates debe ser una arreglo de coordenadas de LineString. Ejemplo:

{
  "type": "MultiLineString",
  "coordinates": [
     [ [ 100.0, -50.0 ], [ 150.0, -50.0 ] ],
     [ [ 50.0, -50.0 ], [ 100.0, -100.0 ] ]
  ]
}
  • MultiPolygon

El valor de coordinates debe ser una arreglo de coordenadas de Polygon. Ejemplo:

{
   "type": "Polygon",
   "coordinates": [
     [ [ 100.0, 0.0 ], [ 101.0, 0.0 ], [ 101.0, 1.0 ], [ 100.0, 1.0 ], [ 100.0, 0.0 ] ],
     [ [ 50.0, 100.0 ], [ 51.0, 100.0 ], [ 51.0, 101.0 ], [ 50.0, 101.0 ], [ 50.0, 100.0 ] ]
   ]
}
  • GeometryCollection

En este tipo de geometría el atributo coordinates es reemplazado por geometries, cuyo valor es un arreglo de geometry objects. Ejemplo:

{
   "type": "GeometryCollection",
   "geometries": [
     {
       "type": "Polygon",
       "coordinates": [
         [ [ 100.0, 0.0 ], [ 101.0, 0.0 ], [ 101.0, 1.0 ], [ 100.0, 1.0 ], [ 100.0, 0.0 ] ]
       ]
     },
     {
       "type": "Point",
       "coordinates": [ 100.0, -50.0 ]
     }
   ]
}

NOTA: Aunque en algunos tipos el campo coordinates tiene la misma estructura, su representación gráfica es distinta.

Fuentes

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas