Documento escrito inicialmente por: Jachym Cepicky |
Enlace del documento original: http://switchfromshapefile.org |
Cambiar desde Shapefile
ESRI Shapefile es es un formato de archivo antiguo para almacenar datos vectoriales geoespaciales. Ha existido desde principios de los años noventa. Se sigue utilizando como el formato de datos vectoriales de intercambio más común.
La industria de TI geoespacial ha dado un gran paso desde entonces, pero Shapefile sigue siendo el formato de archivo más común para compartir datos vectoriales.
Shapefile fue un gran formato en su momento y el hecho de que aún se utiliza hoy en día, prueba que su diseño fue verdaderamente eterno.
Sin embargo, creemos que el tiempo del Shapefile ha pasado y nosotros, la industria de TI geoespacial, lo reemplazará con conceptos más modernos. Shapefile es ahora un formato anticuado y debería abandonarse en el futuro para compartir datos de vectores geoespaciales.
Leer más:
El lado bueno
No todas las características de Shapefile lo hacen un formato malo (o no moderno). Hay un par de características, por las que Shapefile sigue ganando a la mayoría de los otros formatos:
- Es formato abierto. Incluso propietario, la especificación es abierta e implementado ampliamente.
- Shapefile es por mucho el formato más soportado. Si cualquier otro formato falla, Shapefile siempre es compatible
- Para la mayoría de los casos, parece ser suficientemente bueno.
- Parece ser relativamente eficiente – el archivo resultante, incluso sin comprimir – es relativamente pequeño, comparada con otros formatos principalmente basados en texto.
Shapefile es un mal formato
¿Por qué Shapefile es tan malo? Aquí hay varias razones por las que Shapefile es un mal formato y debería evitar su uso:
- Es formato multiarchivo. No puedes compartir un solo archivo, siempre tienes que enviar al menos 3 o comprimirlos juntos.
- Los nombres de los atributos están limitados a 10 caracteres. Si necesita nombres de atributo más largos, se pierde.
- Sólo 255 atributos. El archivo DBF no permite almacenar más de 255 campos de atributos.
- Tipos de datos limitados. Los tipos de datos están limitados a flotación, enteros, fecha y texto con un máximo de 254 caracteres.
- Juego de caracteres desconocido. No hay forma de especificar el juego de caracteres utilizado en la base de datos.
- Limitado a 2GB de tamaño de archivo. Incluso si algunas herramientas son capaces de sobrepasar este límite, pero nunca pueden exceder los 4GB de datos.
- Sin topología en los datos. No hay manera de describir las relaciones topológicas en el formato.
- Tipo de geometría única por archivo. No hay manera de guardar entidades de geometría mixta.
- Las estructuras de datos más complejas son imposibles de guardar. Es formato de “tabla plana”.
- Añadir más …
Formato multiarchivo
El archivo Shapefile utiliza al menos 3 archivos, pero hay hasta 10 extensiones de archivo adicionales, que se pueden distribuir junto con el archivo Shapefile. Casi todos los paquetes de software geoespacial están agregando su propia extensión para tratar de superar algunos de los límites que tiene el Shapefile.
Esto es muy poco práctico para la distribución de los datos. Por lo general, el usuario tiene que comprimir todos los archivos y descomprimirlo al final de la cadena de distribución.
10 carácteres de nombres de atributos
Los nombres de los atributos están limitados a 10 caracteres como máximo. Los nombres más largos generalmente se acortan automáticamente. Esto limita a algunas aplicaciones y conduce a una mala disposición de los datos.
255 campos de atributos
Sólo puede haber 255 campos de atributo en el archivo de base de datos. Para algunas aplicaciones esto es especialmente limitante en combinación con la estructura de tabla plana.
Soporte pobre para tipos de datos de atributos
Se admiten tipos de datos de cadena de caracteres, tipo flotante, enteros, de fecha y de caracteres. Pero los números de coma flotante se almacenan como texto, no hay soporte para números enteros grandes (por lo que el formato no es utilizable, se tienen datos con identificadores enteros grandes, como cartografía catastral) y el texto está limitado sólo a 254 caracteres.
No hay soporte para campos de datos más avanzados, blobs, etc.
Juego de caracteres desconocido
Actualmente existe una forma de especificar el juego de caracteres utilizado en la base de datos. La mayoría de las aplicaciones están utilizando las antiguas codificaciones de datos Windows* o ISO-*, pero hoy en día estamos utilizando UTF-8. Todavía no hay forma de especificar esto en la cabecera del fichero.
El soporte para caracteres Unicode también es muy limitado.
Tamaño límite de 2GB
El tamaño de los archivos de componentes .shp y .dbf no puede exceder los 2 GB. El driver GDAL Shapefile supera este límite, pero
El formato Shapefile usa explícitamente offsets de 32 bits y por lo tanto no puede superar los 8GB (en realidad utiliza offsets de 32 bits a palabras de 16bit), pero la implementación de shapefile OGR tiene una limitación de 4GB.
Sin embargo, para la compatibilidad con otras implementaciones de software, no se recomienda utilizar un tamaño de archivo superior a 2 GB para los archivos. SHP y. DBF.
Así que 4GB es todo lo que puedes tener en un único archivo Shapefile. Esto suena suficiente, pero no para todos los casos.
Formato no topológico
Shapefile es un formato sencillo. No hay manera de almacenar relaciones geométricas más complejas.
Sin geometría mixta
Cada archivo puede ser sólo uno de los formatos de geometría soportados (Punto, Línea, Polígono y otros). No es posible la geometría mixta.
Estructura de datos plana
La estructura de datos se limita a tablas planas sin jerarquías, relaciones o estructura de árbol.
¿Sabes sobre otro tema? Envíenos más!
¿Conoce más límites o quiere ampliar los existentes una vez? Por favor, hágalo a través de solicitud o comentario en el repositorio.
Alternativas
¿Cuáles son las alternativas para el archivo Shapefile? Para ser honesto, ningún formato alternativo se apoderó de la hegemonía de Shapefiles. Algunos de los formatos casi asumieron el control (KML, GML, GeoJSON), pero su uso fue limitado sólo para casos de uso relativamente restringido.
Lista de algunas alternativas de Shapefile
OGC GeoPackage
OGC GeoPackage es uno de los formatos más prometedores, diseñado para las aplicaciones modernas de hoy en día. GeoPackage es publicado como estándar por el Open Geospatial Consortium.
Características
- SQLite como motor
- Basado en un archivo simple
- Vectores, raster
- Extensiones oficiales
- Compatible con muchos paquetes de software
Descripción
GeoPackage es un formato abierto, basado en estándares, independiente de la plataforma, portable, autodescriptivo y compacto para la transferencia de información geoespacial.
El Estándar de codificación de GeoPackage describe un conjunto de convenciones para almacenar lo siguiente dentro de una base de datos SQLite:
- entidades vectoriales
- conjunto de matrices de teselas de imágenes y mapas ráster en varias escalas
- atributos (datos no espaciales)
- extensiones
Ya hay publicadas extensiones para GeoPackage, que hacen que este formato sea aún más potente.
GeoPackage es ahora (2017) soportado en la mayoría de los paquetes de software.
Creemos que GeoPackage es el candidato para el reemplazo de Shapefile.
OGC GML
Another OGC Standard.
Características
- Basado en XML
- Sólo vectores
- Jerarquías
- Gracias a INSPIRE, soportado en la mayoría de los paquetes de software
Descripción
GML fue elegido como el formato de datos vectoriales de distribución principal de la iniciativa europea INSPIRE. Es un formato muy complejo, pero su uso es difícil en la práctica diaria. Uno de los problemas es que, para poder procesar el archivo de datos, tiene que ser cargado en la memoria del ordenador, lo que dificulta enormemente su uso en grandes conjuntos de datos vectoriales.
Actualmente, GML se utiliza con frecuencia para los conjuntos de datos abiertos, ya que es tecnología neutral y compatible con el estándar OGC.
ESRI GeoDatabase
En su nivel más básico, una geodatabase ArcGIS es una colección de conjuntos de datos geográficos de varios tipos mantenidos en una carpeta común del sistema de archivos, una base de datos de Microsoft Access o un DBMS relacional multiusuario (como Oracle, Microsoft SQL Server, PostgreSQL, Informix o IBM DB2).
Características
- estructura de datos nativa para ArcGIS
- basado en archivos (o en bases de datos)
- modelos de datos complejos
- proprietario, formato cerrado
Descripción
GeoDatabase se utiliza muy a menudo en el entorno ArcGIS como el principal formato de intercambio de datos. Sus características son muy complejas y avanzadas.
Por otra parte, es un formato cerrado propietario, que se utiliza exclusivamente en el entorno de los productos ESRI, no implementado en otros paquetes de software.
SpatiaLite
SpatiaLite es una base de datos popular, basada en archivos de almacenamiento de datos.
Características
- Basado en archivos
- Base de datos SQL
- Entidades Simples OGC
Descripción
SpatiaLite es una librería de código abierto diseñada para extender el núcleo de SQLite y soportar capacidades SQL espaciales completas. SQLite es intrínsecamente simple y ligero:
-
- una librería ligera que implementa el motor SQL completo
- implementación SQL estándar: casi completa SQL-92
- una base de datos completa corresponde simplemente a un único archivo monolítico (sin límite de tamaño)
- cualquier archivo DB puede intercambiarse de forma segura a través de diferentes plataformas, ya que la arquitectura interna es universalmente portátil.
Para nosotros, SpatiaLite parece ser la segunda mejor opción después de la posibilidad de GeoPackage. Estan construídos sobre la misma tecnología, que es SQLite.
Comparado con GeoPackage, carece de soporte para extensiones y soporte para datos raster – eso ciertamente no es una característica imprescindible, pero es bueno, si tenemos esto en cuenta.
CSV
Algunas personas tienden a usar archivos separados por comas para almacenar datos vectoriales.
Características
- Simple
Descriptción
Las personas que no trabajan con tecnologías geoespaciales, el CSV es muy popular, pero para la mayoría de las aplicaciones geoespaciales es un formato no utilizable.
Por lo menos dos razones para no usar CSV como reemplazo de Shapefile: No está estandarizado (hay muchos dialectos), el soporte para datos geoespaciales no puntuales es complejo.
OGC KML
Provisto originalmente por Google OGC KML solía ser un formato de datos vectorial muy popular.
Características
- basado en archivos
- XML
- Combina la geometría con la cartografía
- Soporta sólo el sistema de coordenadas WGS-84
Descripción
Algunos años atrás, el formato KML era muy popular, pero llegó a su límite en la comunidad geoespacial. Debido a que se basa en XML, no es adecuado para conjuntos de datos más grandes. Combina la cartografía con la geometría de los datos en un solo archivo, lo que no parece ser una buena solución. Y oficialmente sólo soporta el sistema de referencia coordenada WGS-84.
GeoJSON
GeoJSON es formato comunitario, basado en el popular formato de intercambio de datos JSON.
Características
- Formato JSON
- Basado en archivos
- Puede manejar datos complejos
- El tamaño del archivo crece rápidamente
Descripción
GeoJSON es un formato de texto muy simple, legible por humanos. Aunque fue diseñado sólo para soportar WGS-84, también es posible usarlo para otros sistemas de referencia de coordenadas. Puede manejar características de datos vectoriales complejas y construir modelos jerárquicos de datos complejos.
El problema con GeoJSON es que el archivo crece muy rápido con el número de pares de coordenadas almacenados. La indexación y otras funciones avanzadas tampoco son posibles.
Última modificación: 2017-10-02
Creado inicialmente por: Jachym Cepicky
Traducción al español por: Samuel Mesa. Ajustes por: Germán Carrillo. Gracias a GeoTux.
Esta obra está licenciada bajo una Creative Commons Attribution-ShareAlike 4.0 International License
Contribuye: On GitHub
1 Respuesta
[…] GeoTux cumplió 10 años y lo celebramos con un post conmemorativo. Samuel tradujo al español el documento de alternativas al Shapefile y compartió cómo publicar un servicio de teselas con Metatiles y GitHub y cómo generar metadatos […]