Traducción del documento de alternativas al formato Shapefile (¡Shapefile debe morir!)

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:

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.

Aunque hay más de 80 formatos de datos vectoriales usados, sólo unos pocos pueden ser considerados como candidatos para el reemplazo de Shapefile.

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.
Creative Commons License
Esta obra está licenciada bajo una Creative Commons Attribution-ShareAlike 4.0 International License
Contribuye: On GitHub