Volver a la página principal
miércoles 24 julio 2024
36

¿Qué es geojson?

GeoJSON es un formato basado en JSON (JavaScript Object Notation) para representar datos geoespaciales. Se utiliza ampliamente para la codificación de datos estructurados en geografías, incluyendo puntos, líneas, polígonos y sus atributos. GeoJSON es popular en aplicaciones web y de software debido a su simplicidad y compatibilidad con múltiples sistemas y lenguajes de programación.

Tipos de Objetos en GeoJSON

GeoJSON define varios tipos de objetos para representar diferentes características geográficas:

1. FeatureCollection

2. Feature

3. GeometryCollection

4. Point

5. MultiPoint

6. LineString

7. MultiLineString

8. Polygon

9. MultiPolygon

Cada uno de estos tipos tiene una estructura y convenciones específicas.

1. FeatureCollection

Un FeatureCollection es un objeto GeoJSON que contiene una colección de Feature (características). Este es el contenedor principal para varios elementos geoespaciales.

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [102.0, 0.5]
      },
      "properties": {
        "name": "Dinagat Islands"
      }
    }
  ]
}

2. Feature

Un Feature es un objeto GeoJSON que representa una entidad geográfica y puede contener cualquier tipo de geometría junto con sus propiedades asociadas.

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [102.0, 0.5]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}

3. GeometryCollection

Un GeometryCollection es un objeto GeoJSON que contiene una colección de objetos de geometría.

{
  "type": "GeometryCollection",
  "geometries": [
    {
      "type": "Point",
      "coordinates": [100.0, 0.0]
    },
    {
      "type": "LineString",
      "coordinates": [
        [101.0, 0.0],
        [102.0, 1.0]
      ]
    }
  ]
}

4. Point

Un Point es un objeto GeoJSON que representa una única coordenada en el espacio geográfico.

{
  "type": "Point",
  "coordinates": [100.0, 0.0]
}

5. MultiPoint

Un MultiPoint es un objeto GeoJSON que representa múltiples puntos.

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

6. LineString

Un LineString es un objeto GeoJSON que representa una línea compuesta por varios puntos.

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

7. MultiLineString

Un MultiLineString es un objeto GeoJSON que representa múltiples líneas.

{
  "type": "MultiLineString",
  "coordinates": [
    [
      [100.0, 0.0],
      [101.0, 1.0]
    ],
    [
      [102.0, 2.0],
      [103.0, 3.0]
    ]
  ]
}

8. Polygon

Un Polygon es un objeto GeoJSON que representa una forma cerrada con límites definidos por líneas.

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

9. MultiPolygon

Un MultiPolygon es un objeto GeoJSON que representa múltiples polígonos.

{
  "type": "MultiPolygon",
  "coordinates": [
    [
      [
        [102.0, 2.0],
        [103.0, 2.0],
        [103.0, 3.0],
        [102.0, 3.0],
        [102.0, 2.0]
      ]
    ],
    [
      [
        [100.0, 0.0],
        [101.0, 0.0],
        [101.0, 1.0],
        [100.0, 1.0],
        [100.0, 0.0]
      ]
    ]
  ]
}

Convenciones de GeoJSON

Coordinadas

Las coordenadas en GeoJSON se expresan en el orden [longitud, latitud] y, opcionalmente, [longitud, latitud, altitud].

Sistema de Coordenadas

GeoJSON utiliza el sistema de coordenadas WGS 84 (EPSG:4326) por defecto. Esto asegura la compatibilidad global y la precisión geográfica.

Propiedades

Cada Feature en GeoJSON puede tener un objeto properties que contiene pares de clave-valor con información adicional sobre la entidad geográfica.

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [102.0, 0.5]
  },
  "properties": {
    "name": "Dinagat Islands",
    "population": 127152,
    "area_km2": 802.12
  }
}

ID de la Característica

Las características (Feature) pueden tener un atributo id único para identificarlas de manera individual.

{
  "type": "Feature",
  "id": "123",
  "geometry": {
    "type": "Point",
    "coordinates": [102.0, 0.5]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}

Usos Comunes de GeoJSON

GeoJSON es ampliamente utilizado en diversas aplicaciones geoespaciales, incluyendo:

1. Mapeo Web: Integración con bibliotecas como Leaflet y Mapbox para crear mapas interactivos.

2. Bases de Datos Geoespaciales: Almacenamiento y consulta de datos geográficos en bases de datos como PostgreSQL/PostGIS.

3. Intercambio de Datos: Compartir datos geoespaciales entre diferentes sistemas y plataformas.

4. Análisis GIS: Realización de análisis geoespaciales utilizando herramientas GIS.

Conclusión

GeoJSON es un formato potente y flexible para representar datos geoespaciales. Su compatibilidad con JSON lo hace accesible y fácil de usar en una variedad de aplicaciones. Con un entendimiento claro de sus tipos de objetos y convenciones, puedes aprovechar al máximo sus capacidades para tus necesidades geoespaciales.

Etiquetas:
geojson json
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer