Portada del sitio > INFORMACIÓN > Noticias > Noticias Generales > Migrar Shapefiles a Base de datos espacial

Migrar Shapefiles a Base de datos espacial

El Shapefile es un formato multiarchivo generado por varios ficheros y el numero mínimo de estos ficheros es tres:

  • .shp: Es el archivo que guarda las entidades geométricas de los objetos.
  • .shx: Es el archivo el almacena el índice de las entidades geométricas.
  • .dbf: Es la base de datos en formato dBASE donde se almacena la información de los atributos de los objetos.

Según la web de ESRI “Los shapefiles utilizan el formato de archivo dBASE (archivo .dbf) para almacenar atributos. dBASE es un formato que no es de Esri que se desarrolló a comienzos de 1980 y era, en ese momento, el formato más popular para almacenar tablas de atributos. Sin embargo, con el tiempo fueron quedando desactualizados, y hubo una cantidad de mejoras en la representación de datos, como el estándar Unicode, para admitir la mayoría de los sistemas de escritura del mundo. Este es uno de los motivos por los cuales los shapefiles no son convenientes para almacenar información en otro idioma que no sea el inglés.
Estos problemas (y más) significan que los shapefiles son una opción extremadamente deficiente para la administración de bases de datos activas. No manejan el ciclo de vida actual de la creación, edición, versión y archivado de datos.

Además el shapefile presenta las siguientes desventajas:

  1. El manejo de sus archivos físicos depende mínimamente de 3 archivos y adicionalmente puede tener archivos .prj, .sbn, .sbx, .fbn, .fbx .ain, .aih, .shp.xml.
  2. Tiene un limite de 2GB espacio en el manejo de la base de datos.
  3. Poca capacidad de almacenar información topológica.
  4. Los nombres de campos se limita a 10 caracteres.
  5. Carencia en el uso de tipos de datos como como el de fecha y hora y poca compatibilidad con las cadenas de caracteres unicode.
  6. El uso de varios usuarios en el mismo shapefile, puede causar la corrupción de los datos escritos.

Al ver que el formato de shapefiles presenta deficiencias es necesario buscar otras herramientas que nos garanticen el uso y la integridad de los datos espaciales.

Las Bases de datos espaciales permiten el almacenamiento de las geometrías de los registros dentro de una base de datos, así como proveer funcionalidades para consultar y recuperar registros que utilizan estas geometrías.

PostgreSQL es en principio una base relacional de datos, es decir que la relación entre diferentes tablas de información pueden usarse para representar hechos sobre objetos del mundo real y de esta manera almacenar información sobre ellos.

El usar postgres se ha creado una extensión Postgis para el uso de datos geográficos, en el cual se han definido una serie de funcionalidades utilizando SQL. Estas funcionalidades abarcan la mayoría de las operaciones típicas que pueden llevarse a cabo con datos geográficos:

  • Mediciones Espaciales: Para calcular la longitud de una línea, el área de un polígono, la distancia entre geometrías.
  • Funciones Espaciales: Modificar geometrías existentes para crear nuevas, es decir, operar con geometrías para obtener nuevas geometrías (intersección, buffering,…).
  • Predicados Espaciales: Devuelven un booleano (verdadero/falso) acerca de la condición de una o más geometrías espaciales. Por ejemplo, si dos geometrías interseccionan o si están dentro de un área de influencia.
  • Creación de Geometrías: Normalmente en base a una lista de coordenadas, se genera una nueva geometría.
  • Descripción de Geometrías: Devuelven información específica acerca de una geometría, por ejemplo qué punto es el centro de un círculo.

Podemos afirmar entonces que la mayoría de las operaciones complejas e interesantes como los “joins”espaciales, agregaciones, etc, se pueden expresar en una sola línea de SQL, mientras que si quisiéramos programar este tipo de operaciones para realizarlas con shapefiles, nos resultaría más costoso y con más líneas de código.

En la documentación de Geoserver recomiendan lo siguiente “Shapefiles es un formato muy común para datos geoespaciales. Pero si está ejecutando GeoServer en un entorno de producción, es mejor utilizar una base de datos espacial como PostGIS. Esto es esencial si se realizan transacciones (WFS-T). La mayoría de las bases de datos espaciales proporcionan herramientas de conversión de shapefile. Aunque hay muchas opciones para las bases de datos espaciales (consulte la sección sobre Trabajo con bases de datos), se recomienda PostGIS. Oracle, DB2 y ArcSDE también son compatibles.

Más información: