En el vasto universo de los datos, la información geográfica ocupa un lugar especial. Representar y compartir ubicaciones, límites y rutas de manera eficiente es crucial para mapas, aplicaciones de navegación, análisis espaciales y mucho más. Aquí es donde entra en juego GeoJSON, un formato diseñado específicamente para esta tarea.

GeoJSON es un formato de intercambio de datos geoespaciales que se distingue por ser un estándar código abierto. Esto significa que su especificación es pública y puede ser implementada y utilizada libremente por cualquiera. Su diseño se basa en JavaScript Object Notation (JSON), un formato ligero y fácil de leer tanto para humanos como para máquinas, lo que facilita su integración en una amplia gama de aplicaciones web y de escritorio.
El propósito principal de GeoJSON es representar entidades geográficas simples y sus atributos no espaciales asociados. Piensa en un punto en un mapa (una dirección), una línea que sigue una carretera, o un polígono que delimita un país. GeoJSON proporciona una estructura clara y concisa para codificar estos elementos.
Un aspecto fundamental de GeoJSON es que utiliza un sistema de referencia de coordenadas geográficas estándar: el Sistema Geodésico Mundial de 1984 (WGS 84). Las coordenadas se expresan en unidades de grados decimales, un método común y ampliamente aceptado para especificar ubicaciones en la Tierra. Esto asegura que los datos GeoJSON sean interoperables y puedan ser interpretados correctamente por diferentes sistemas y plataformas.
- ¿Qué Tipos de Datos Geográficos Soporta GeoJSON?
- Estructura Básica y Ejemplo de GeoJSON
- Validación de Archivos GeoJSON
- Historia y Evolución de GeoJSON
- Visualización y Uso de Archivos GeoJSON
- Formatos Relacionados y Alternativas: TopoJSON
- Preguntas Frecuentes sobre GeoJSON
- ¿GeoJSON es realmente código abierto?
- ¿Qué sistema de coordenadas usa GeoJSON?
- ¿Puedo incluir cualquier tipo de propiedad en un objeto Feature de GeoJSON?
- ¿Cuál es la diferencia principal entre GeoJSON y TopoJSON?
- ¿Cómo puedo abrir y visualizar un archivo GeoJSON?
- ¿Es obligatorio que un archivo GeoJSON comience con FeatureCollection?
- Conclusión
¿Qué Tipos de Datos Geográficos Soporta GeoJSON?
GeoJSON está diseñado para manejar una variedad de estructuras de datos geográficos. No se limita solo a la representación de elementos físicos del mundo, sino que también puede describir áreas de servicio, rutas de navegación, o cualquier otro concepto que tenga una dimensión espacial.
Los tipos de entidad que GeoJSON soporta incluyen:
- Puntos: Representan una ubicación única. Ejemplos comunes son direcciones específicas, puntos de interés o coordenadas exactas.
- Cadenas de texto (LineString): Representan una secuencia conectada de dos o más puntos. Son ideales para modelar carreteras, ríos, límites lineales o rutas.
- Polígonos: Representan áreas cerradas. Se utilizan para delimitar países, provincias, lagos o parcelas de tierra. Un polígono es una secuencia lineal cuyos puntos inicial y final son idénticos.
- Colecciones multiparte: Permiten agrupar múltiples geometrías del mismo tipo bajo una sola entidad. Por ejemplo, un país formado por varias islas podría representarse como un Multipolígono, o un sistema de transporte público como una colección de Cadenas de texto.
Además de estos tipos de entidad, GeoJSON define tipos de geometría específicos que son los bloques de construcción fundamentales:
PointLineStringPolygonMultiPointMultiLineStringMultiPolygon
Una lista de geometrías puede agruparse en un objeto GeometryCollection. Sin embargo, la mayoría de las veces, las geometrías se envuelven dentro de un objeto Feature. Un objeto Feature combina una geometría con un conjunto de propiedades adicionales, que son atributos no espaciales asociados a esa geometría. Por ejemplo, un Feature que representa un polígono de un país podría tener propiedades como el nombre del país, su población o su capital.
Finalmente, una colección de objetos Feature se agrupa en un objeto FeatureCollection. Este es el tipo de objeto de nivel superior más común para un archivo GeoJSON, especialmente cuando se trata de un conjunto de datos geográficos, como un mapa o una capa de información.
Estructura Básica y Ejemplo de GeoJSON
La estructura de un archivo GeoJSON sigue la sintaxis de JSON. Un archivo GeoJSON válido típicamente comienza con un objeto JSON cuya clave principal es "type". Para un conjunto de datos que contiene múltiples entidades, el valor de "type" suele ser "FeatureCollection".
Dentro de un FeatureCollection, hay una clave llamada "features", cuyo valor es un array de objetos Feature. Cada objeto Feature contiene al menos dos claves principales: "type" (con valor "Feature") y "geometry".

La clave "geometry" contiene un objeto que describe la forma espacial. Este objeto tiene una clave "type" (indicando el tipo de geometría, como "Point", "LineString", "Polygon", etc.) y una clave "coordinates", que es un array que define la ubicación o forma de la geometría utilizando pares de grados decimales (longitud, latitud).
Además de "type" y "geometry", un objeto Feature puede tener una clave "properties". Esta clave contiene otro objeto JSON donde se almacenan todos los atributos no espaciales asociados a esa entidad. Por ejemplo, el nombre de una calle, la población de una ciudad, o cualquier otro dato relevante.
Veamos un ejemplo simplificado de un archivo GeoJSON que contiene un punto, una línea y un polígono:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [102.0, 0.5]
},
"properties": {
"nombre": "Punto de Ejemplo"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[102.0, 0.0],
[103.0, 1.0],
[104.0, 0.0],
[105.0, 1.0]
]
},
"properties": {
"ruta_id": "R123",
"distancia_km": 5.7
}
},
{
"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": {
"area_tipo": "Parque",
"superficie_ha": 100
}
}
]
}Este ejemplo ilustra cómo se representan diferentes tipos de geometrías y cómo se asocian propiedades a cada una de ellas dentro de una FeatureCollection.
Validación de Archivos GeoJSON
Para que un archivo GeoJSON sea útil y pueda ser procesado por diferentes aplicaciones, debe ser válido según la especificación. La validación asegura que la estructura del JSON sea correcta y que los tipos y formatos de las geometrías y propiedades cumplan con las reglas de GeoJSON.
Aplicaciones como ArcGIS Online o ArcGIS Enterprise, al importar un archivo GeoJSON, realizan esta validación. Si el archivo no cumple con la estructura esperada, como no comenzar con "type": "FeatureCollection" para un conjunto de entidades, la aplicación reportará un error.
Una validación típica verifica:
- Que el documento sea un objeto JSON válido.
- Que contenga una clave
"type"en el nivel superior con un valor reconocido (FeatureCollection,Feature, o un tipo de geometría). - Si es un
FeatureCollection, que contenga una clave"features"cuyo valor sea un array. - Si es un
Feature, que contenga una clave"geometry"y opcionalmente"properties". - Que los objetos de geometría tengan un
"type"válido y la estructura de"coordinates"correspondiente a ese tipo (por ejemplo, un array de dos números para unPoint, un array de arrays de números para unLineStringoPolygon). - Que las coordenadas estén en el formato correcto (grados decimales).
La validación es un paso crucial para garantizar la interoperabilidad y el correcto funcionamiento de los datos geoespaciales en diferentes plataformas y herramientas.
Historia y Evolución de GeoJSON
El desarrollo de GeoJSON comenzó en marzo de 2007 con un grupo de trabajo y discusiones en la comunidad. La especificación inicial se finalizó en junio de 2008. Este fue un esfuerzo comunitario para crear un formato de datos geoespaciales simple y basado en estándares web modernos como JSON.
Con el tiempo, su uso se popularizó, especialmente en aplicaciones web debido a su compatibilidad nativa con JavaScript. Dada su creciente relevancia, la Internet Engineering Task Force (IETF) fundó el grupo de trabajo Geographic JSON en abril de 2015 para formalizar el formato.

Este esfuerzo culminó en la publicación de GeoJSON como la especificación RFC 7946 en agosto de 2016. La publicación como RFC (Request for Comments) por parte de la IETF le otorgó un estatus de estándar de Internet, consolidando su posición como un formato de intercambio geoespacial reconocido y recomendado a nivel mundial.
Visualización y Uso de Archivos GeoJSON
Dado que GeoJSON es un formato basado en texto plano y JSON, puede ser abierto y examinado con cualquier editor de texto. Sin embargo, para visualizar los datos geográficos que contiene (ver los puntos, líneas y polígonos en un mapa), se requiere software o herramientas específicas.
Existen numerosas herramientas en línea y aplicaciones de escritorio que permiten visualizar archivos GeoJSON. Un ejemplo mencionado es GeoJSON Map Viewer, una herramienta web que permite cargar un archivo GeoJSON (desde el ordenador o Google Drive), validar su estructura y mostrar las geometrías en un mapa (como Google Maps).
Estas herramientas de visualización a menudo también ofrecen funcionalidades adicionales, como la inspección de las propiedades asociadas a cada entidad, la capacidad de aplicar estilos visuales a las geometrías o la conversión de otros formatos geoespaciales populares (como KML, KMZ, GPX, WKT, WKB, Shapefile, etc.) a GeoJSON. Esto subraya la versatilidad y el rol central que GeoJSON ha adquirido en el ecosistema de datos geoespaciales.
Formatos Relacionados y Alternativas: TopoJSON
Aunque GeoJSON es un formato estándar y ampliamente utilizado, existen variaciones y formatos alternativos que buscan abordar necesidades específicas o mejorar ciertos aspectos.
Una variante interesante es el GeoJSON delimitado por nueva línea (Newline-delimited GeoJSON). En lugar de tener un único objeto FeatureCollection con un array de Features, este formato codifica una entidad geográfica por línea. Cada línea es un objeto JSON válido que representa una Feature, y las líneas se separan por caracteres de salto de línea o separadores de registro. Formatos como GeoJSONSeq (usando caracteres separadores de registro) y GeoJSONL (usando saltos de línea) caen en esta categoría. La principal ventaja de este enfoque es que puede ser mucho más eficiente para procesar grandes conjuntos de datos, ya que las herramientas pueden leer y analizar registros individuales en paralelo.
Otra alternativa importante es TopoJSON. TopoJSON es una extensión de GeoJSON que se enfoca en codificar la Topología de los datos geográficos. A diferencia de GeoJSON, que representa cada geometría de forma discreta (por ejemplo, un polígono se define por su propia secuencia de coordenadas, incluso si comparte un borde con otro polígono), TopoJSON descompone las geometrías en segmentos de línea compartidos llamados 'arcos'.
En TopoJSON, los arcos son secuencias de puntos. Las líneas y los polígonos se definen entonces como secuencias de referencias a estos arcos. Un arco se define solo una vez, pero puede ser referenciado múltiples veces por diferentes formas que comparten ese borde. Esto tiene dos beneficios principales:
- Reducción del tamaño del archivo: Al evitar la duplicación de coordenadas para bordes compartidos, los archivos TopoJSON son a menudo considerablemente más pequeños que sus equivalentes GeoJSON, especialmente para datos con muchas fronteras compartidas (como mapas administrativos).
- Facilita operaciones topológicas: Codificar explícitamente la topología permite realizar operaciones como simplificación de formas que preservan los límites compartidos, coloración automática de mapas (donde los países vecinos no tienen el mismo color), o la creación de cartogramas de manera más sencilla y precisa.
TopoJSON tiene su propia especificación y herramientas asociadas. Existe una implementación de referencia como herramienta de línea de comandos para convertir de GeoJSON (o Shapefiles) a TopoJSON, y una biblioteca JavaScript para decodificar TopoJSON de vuelta a GeoJSON en el cliente. TopoJSON también es compatible con herramientas geoespaciales populares como OGR (a partir de la versión 1.11) y PostGIS (a partir de la versión 2.1.0), lo que demuestra su adopción en el ámbito GIS profesional.

GeoJSON vs. TopoJSON: Una Comparación Rápida
| Característica | GeoJSON | TopoJSON |
|---|---|---|
| Base | JSON | Extensión de JSON (con estructura topológica) |
| Representación | Geometrías discretas | Geometrías construidas a partir de arcos compartidos |
| Tamaño de archivo | Puede ser grande con bordes compartidos | Generalmente más pequeño para datos con topología |
| Topología | No codificada explícitamente | Codificada explícitamente (arcos compartidos) |
| Complejidad | Más simple | Más compleja |
| Casos de uso | Intercambio general de datos, aplicaciones web simples | Mapas con muchas fronteras compartidas, análisis topológico, visualización web optimizada |
| Herramientas | Amplio soporte | Soporte creciente (OGR, PostGIS, bibliotecas específicas) |
Preguntas Frecuentes sobre GeoJSON
Aquí respondemos algunas preguntas comunes sobre el formato GeoJSON:
¿GeoJSON es realmente código abierto?
Sí, GeoJSON es un estándar de intercambio de datos geoespaciales de código abierto. Su especificación es pública (formalizada en el RFC 7946 de la IETF) y no está ligada a ningún software o empresa específica.
¿Qué sistema de coordenadas usa GeoJSON?
GeoJSON utiliza el Sistema Geodésico Mundial de 1984 (WGS 84) como su sistema de referencia de coordenadas predeterminado. Las coordenadas se expresan en grados decimales.
¿Puedo incluir cualquier tipo de propiedad en un objeto Feature de GeoJSON?
Sí, la sección "properties" de un objeto Feature es un objeto JSON estándar. Puedes incluir cualquier clave-valor JSON válido (cadenas de texto, números, booleanos, arrays, objetos anidados) para describir los atributos no espaciales de la entidad geográfica.
¿Cuál es la diferencia principal entre GeoJSON y TopoJSON?
La diferencia clave es cómo representan las geometrías. GeoJSON las representa de forma independiente, mientras que TopoJSON codifica la Topología al definir geometrías basadas en arcos compartidos. Esto reduce la redundancia y facilita operaciones topológicas en TopoJSON.
¿Cómo puedo abrir y visualizar un archivo GeoJSON?
Puedes abrir el archivo con un editor de texto para ver el código JSON. Para visualizar las geometrías en un mapa, necesitas una herramienta de visualización de GeoJSON, como GeoJSON Map Viewer en línea, software GIS de escritorio (QGIS, ArcGIS) o bibliotecas de mapeo web (Leaflet, Mapbox GL JS) que soporten el formato.
¿Es obligatorio que un archivo GeoJSON comience con FeatureCollection?
No estrictamente. Un archivo GeoJSON válido puede ser un objeto FeatureCollection, un objeto Feature, o incluso directamente un objeto de geometría (como un Point, LineString, etc.). Sin embargo, para conjuntos de datos que contienen múltiples elementos, FeatureCollection es el tipo de nivel superior recomendado y el más común.
Conclusión
GeoJSON se ha consolidado como un pilar en el intercambio de datos geoespaciales, especialmente en el ámbito de las aplicaciones web y los sistemas que valoran la simplicidad y la interoperabilidad. Su base en JSON lo hace accesible y fácil de integrar. Al ser un estándar código abierto basado en WGS 84, promueve un ecosistema de herramientas y plataformas compatibles.
Aunque existen alternativas como TopoJSON que ofrecen optimizaciones para casos de uso específicos (reducción de tamaño, manejo de Topología), GeoJSON sigue siendo el formato de facto para muchas tareas de intercambio de datos geográficos debido a su simplicidad y amplio soporte. Entender GeoJSON es un paso fundamental para cualquiera que trabaje con datos espaciales en la era digital.
Si quieres conocer otros artículos parecidos a GeoJSON: El Estándar Abierto para Datos Geoespaciales puedes visitar la categoría Bases de datos.

Aprende mas sobre MySQL