Una comparativa de la extensión PostGIS y el software
ArcSDE en los procesos de modelamiento e implementación de bases de datos
espaciales
A comparative study of the PostGIS extension and ArcSDE
software in the process of modeling and implementing spatial databases
|
Andrés Víquez Víquez Escuela de Ingeniería en
Computación Instituto Tecnológico de
Costa Rica Heredia, Costa Rica |
Irene Hernández Ruiz Escuela de Informática Universidad Nacional Heredia, Costa Rica |
Fecha de recibido: 09 de octubre 2020
Fecha de aceptado: 07 de diciembre
2020
Resumen. El presente trabajo da a conocer, en primer lugar,
una noción de los principales conceptos, la evolución y retos que han
conllevado la integración de los sistemas de información geográfica (SIG) y los
sistemas gestores de bases de datos (SGBD) para la manipulación y gestión de
los datos espaciales. Seguidamente, se
desarrolla un caso de estudio para la implementación de las capacidades
espaciales en el motor de bases de datos PostgreSQL, utilizando dos estrategias
comúnmente utilizadas para el desarrollo de bases de datos espaciales: la
extensión nativa de PostGIS y una aplicación tercera, el software ArcSDE
(desarrollado por la empresa líder de sistemas de información geográfica ESRI).
Finalmente, se analizan y contrastan los resultados de ambas soluciones, de
manera que le permita al lector tener una visión general y comparativa de ambas
propuestas a través de un caso de estudio sencillo.
Palabras clave: sistema gestor de bases de datos, sistema de
información geográfica, PostGIS, ArcSDE, dato espacial, bases de datos
espaciales.
Abstract –The present work first
reveals a notion
of the main concepts, the evolution and challenges that have entailed
the integration of geographic information systems (GIS) and database management
systems (DBMS) for the manipulation and management of spatial data. Then, a
case study is developed for the implementation of spatial capabilities in
PostgreSQL database engine, using two typically strategies used for the
development of spatial databases, the native PostGIS extension and a
third-party application, ArcSDE software (developed by leading geographic
information systems company ESRI). Finally, the results of both solutions are
analyzed and contrasted, in a way that allows the reader to have a general and
comparative vision of both proposals through a simple case study.
Keywords – database management system, Geographic Information System, PostGIS,
ArcSDE, spatial data, spatial database.
En el
pasado era muy común que los sistemas de información concibieran la
representación de un dato espacial como un campo alfanumérico en una tabla en
una base de datos relacional, esto debido a que los sistemas gestores de bases
de datos (SGBDs) no fueron concebidos inicialmente para representar y manipular
datos de una manera espacial [1]. Sin embargo, con el paso del tiempo, se fue comprendiendo que esta
técnica de modelamiento limitaba el desarrollo de las aplicaciones y las
capacidades de los sistemas,
al usar este tipo de datos, tanto así que,
en la actualidad,
un sistema típico de bases de datos espaciales es un sistema comercial
ordinario de bases de datos con capacidades y funciones adicionales para
manejar datos espaciales [2].
Los
datos espaciales tradicionalmente se han utilizado para representar objetos
geográficos localizados en la superficie de la Tierra, tales como ciudades,
montañas, y ríos; sin embargo, su uso no se limita exclusivamente a lo
anterior. Estos datos se pueden utilizar
para representar fenómenos geográficos, tales como inundaciones, huracanes y
cambios climáticos; o bien datos no geográficos en otros contextos espaciales,
tales como el cuerpo humano o la distribución interna de un edificio [1].
Esto
ha dado pie a un aumento en la cantidad y la diversidad de aplicaciones que
utilizan datos espaciales. Por ejemplo, existe un caso de estudio acerca de la
idoneidad del uso de PostGIS para la consulta espacial de datos relacionados a
recursos minerales en Pakistán, recursos preciosos que son considerados claves
para el desarrollo de la economía nacional en este país [3]. Otro de los usos
en los que se encuentra presente el empleo
de PostGIS es en convertir datos a datos espaciales de un almacén de datos del
Centro de Datos e Indicadores
Ambientales de Caldas (CDIAC) en Colombia, que tiene como propósito fortalecer
la gestión ambiental del territorio, en la cual ponen a disposición del público
la información de estaciones de monitoreo, diferentes variables meteorológicas,
pluviométricas y de calidad del aire [4].
Asimismo,
en la provincia de Yunnan en China se han realizado trabajos para la
construcción de una base de datos de la calidad ambiental del suelo, mediante la integración del
motor de bases de datos Oracle y la tecnología ArcSDE, que han permitido la
integración de capacidades espaciales para proporcionar datos básicos
comprensivos y exactos para el apoyo a las decisiones científicas sobre la
contaminación del suelo, así como su prevención y restauración ecológica [5].
Este
artículo se encuentra estructurado en las siguientes secciones: la sección dos tiene la justificación del
estudio; la sección tres describe el problema por resolver; la sección cuatro se refiere a los objetivos
que se busca alcanzar con este trabajo;
la sección cinco tiene
la fundamentación teórica del estudio;
la sección seis
describe los materiales y métodos;
la sección siete
describe los resultados obtenidos y su discusión;
la sección ocho tiene
las conclusiones del trabajo realizado y,
por último, la sección nueve contiene el trabajo a futuro.
En la
actualidad,
existen diversas opciones en el mercado para el almacenamiento, manipulación y
análisis de datos espaciales. Por ejemplo, la compañía Oracle fue la primera
empresa en la industria
de bases de datos en incorporar capacidades espaciales en sus productos. En
1995, Oracle realizó un acuerdo con la empresa ESRI para llevar a cabo la
integración de Oracle 7 Spatial con dos productos de esta otra empresa: el
Spatial Database Engine (SDE) y ArcView GIS. Desde entonces, Oracle ha
desarrollado otras alianzas con otras compañías dedicadas al desarrollo de software
de sistemas de información geográfica (SIG), incluyendo Intergraph, MapInfo y
GE Smallworld, para desarrollar productos en esta misma línea. Al mismo tiempo,
Oracle también ha implementado sus propias estrategias de desarrollo interno,
que resultaron en la creación de una estructura de datos espaciales y en la
implementación de operadores espaciales mediante la extensión de SQL [2]. Una
situación similar se ha presentado con otras organizaciones clave de la industria
de bases de datos, tales como IBM, PostgreSQL, Sybase y Microsoft, que se han
asociado con otros proveedores de software SIG para desarrollar
funcionalidad espacial o han desarrollado sus propias capacidades mediante
extensiones a sus productos de bases de datos.
Esta
situación ha complicado el panorama de las instituciones gubernamentales,
organizaciones sin fines de lucro y empresas privadas, que requieren de una
infraestructura de datos espaciales (IDE) para soportar sus actividades
operativas y apoyar la toma de decisiones. Llevar a cabo la selección de una
plataforma tecnológica se vuelve una tarea compleja, puesto que no existe una
evaluación sistemática que permita comparar estos SGBD o una guía que facilite
la decisión para seleccionar algún sistema de acuerdo con las necesidades
específicas, como pueden ser el tipo de licenciamiento, cumplimiento de
estándares, características de almacenamiento y rendimiento, entre otras [6].
A
través de este artículo,
se busca realizar una comparativa que no ha sido realizada con anterioridad
entre la extensión PostGIS y el software ArcSDE, dos de las soluciones
más populares para la gestión de datos espaciales a la fecha, donde se analizan
y comparan ambos desde una perspectiva de los modelos resultantes para el
almacenamiento y gestión de los datos.
Existe
una práctica general de desarrollar repositorios de bases de datos espaciales
basándose en una arquitectura híbrida donde los datos espaciales y
convencionales se almacenan por separado [7], tal como se presenta en la Fig.1.
Fig.1.
Arquitectura de un repositorio de bases de datos débilmente acoplado.
Sin
embargo, este acercamiento sufre de varios inconvenientes. Por una parte, la
coexistencia de modelos de datos heterogéneos implica dificultades de modelaje,
así como en el uso e integración de los datos. Asimismo, existe una pérdida
parcial de funcionalidades básicas de un SGBD, tales como las técnicas de
recuperación, consultas y optimización [8].
Dichosamente,
la situación ha cambiado con la adición de extensiones espaciales a los SGBD, las cuales permiten que, en un mismo repositorio, se pueda almacenar datos
convencionales, como cadenas de caracteres, valores numéricos y fechas, con
datos no convencionales, como geometrías e imágenes, preservando todos los
mecanismos de integridad referencial ampliamente conocidos de las bases de
datos e incorporando nuevas características para la gestión de datos
espaciales, tales como almacenamiento de datos espaciales de forma nativa,
funciones espaciales, índices espaciales, entre otros. No obstante, es una
tecnología que puede ser considerada relativamente nueva y poco conocida en
ámbitos tradicionales de la computación e informática, que suelen requerir de
la intervención de profesionales de otras especialidades, tales como geógrafos,
cartógrafos, topógrafos, planificadores, entre otros.
El
problema que se plantea abarcar,
a través del caso de estudio propuesto para este artículo, es dar a conocer a la
comunidad de profesionales e investigadores de computación e informática, las
consideraciones que conlleva el diseño e implementación de bases de datos
espaciales utilizando la extensión espacial PostGIS y el software
ArcSDE, así como sus implicaciones en los modelos de datos resultantes y la
calidad de los datos.
Para
este trabajo se establecieron cuatro objetivos, los cuales se listan a continuación:
· Explicar los conceptos principales y la evolución que han
tenido las bases de datos espaciales a través de la historia.
· Contrastar el proceso de modelamiento e implementación de
bases de datos espaciales utilizando la extensión de PostGIS y el software
ArcSDE.
· Analizar las ventajas y desventajas que tienen los
modelos físicos de bases de datos espaciales que utilizan la extensión de
PostGIS y el software ArcSDE para el almacenamiento de los datos
espaciales.
· Dar a conocer a los ingenieros en el área de computación
e informática, recursos que tienen los sistemas gestores de bases de datos para
la implementación de capacidades espaciales.
Un SIG
es un sistema de información compuesto por hardware, software y
procedimientos para capturar, manejar, manipular, analizar, modelizar y representar datos georreferenciados, con el objetivo de resolver problemas de gestión
y planificación [9].
Dentro
del software que compone un SIG se encuentran las bases de datos
espaciales. Estas representan
una de las áreas dentro del manejo de datos donde se ha desarrollado
últimamente una mayor evolución. Se parte de un punto donde inicialmente no se
usaban SGBD, sin embargo, debido a la gran importancia que los SIG han cobrado,
se han ido integrando de diversas formas. En la actualidad, se emplean bases de
datos relacionales que son adaptadas para poder integrar plenamente la
información geográfica de forma óptima [10].
Una de
estas integraciones es la extensión PostGIS. PostGIS es un proyecto encabezado
por la empresa canadiense Refractions Research, que se publica bajo la Licencia
Pública General de GNU y brinda capacidades espaciales al motor de bases de
datos PostgreSQL,
al incorporar más de 300 operadores, funciones, tipos de datos e índices de
tipo espacial [11].
Por su
parte, la empresa Environmental Systems Research Institute (ESRI), líder en el
desarrollo y comercialización de software especializado en sistemas de
información geográfica, de igual forma,
ha desarrollado su propia estructura nativa y propietaria para la gestión de
datos geográficos llamada geodatabase.
Una
geodatabase es la estructura de datos nativa del software SIG ArcGIS,
que almacena elementos geográficos de distintos tipos y permite acceder y
trabajar con todos los datos geográficos en una variedad de archivos y formatos
[12] que, a través del software
ArcSDE (Spatial Database Engine),
permite que la estructura de una geodatabase de ArcGIS sea almacenada en una
base de datos relacional [13].
Este
esquema de trabajo utiliza una arquitectura de varios niveles que implementa la
lógica avanzada y comportamiento en el nivel de aplicación (ArcGIS) sobre la
capa de almacenamiento (motor de base de datos), donde la responsabilidad de la
administración de los datos espaciales es compartida entre ambas partes [14].
Su
propósito es servir como puerta de enlace entre los clientes SIG y los sistemas
gestores de bases de datos, para un fácil almacenamiento, acceso y gestión de
datos espaciales en los motores de bases de datos DB2, Informix, Oracle,
PostgreSQL y SQL Server [12], como se puede apreciar en la Fig. 2.
Fig. 2. Comunicación entre un cliente
SIG y un SGBD usando el software ArcSDE.
En la
siguiente sección,
se desarrolla un caso de estudio particular para la implementación de una base
datos espacial utilizando la extensión espacial PostGIS y el software
ArcSDE, modelos de datos que se procederán a analizar y contrastar el uno con
el otro.
El
caso de estudio consiste en el desarrollo de una base de datos catastral que
permita vincular la información de las parcelas del país (elemento geográfico)
con la de su respectivo propietario (elemento convencional).
Una
parcela es: “una
porción pequeña de terreno, de ordinario sobrante de otra mayor que se ha
comprado, expropiado o adjudicado” [15]. Es
representada como un polígono que contiene un número de finca que la identifica
de forma única, un número de derecho (documento legal), su dirección en prosa,
el uso de la tierra (comercial, residencial, industrial o desconocido) y el
cálculo del valor fiscal de la propiedad que puede ser mayor o igual a cero y
puede ser opcional.
Un
propietario es una persona física que posee número de cédula, un nombre
completo, estado civil (soltero, casado, divorciado, unión libre, viudo o
desconocido) y sexo (femenino, masculino o indefinido). El sexo y el estado
civil son opcionales y el nombre del propietario se compone de tres partes:
nombre, primer apellido y segundo apellido, siendo este último opcional en el
caso de personas extranjeras.
Por
simplicidad del modelo, se establece una restricción para que una parcela pueda
tener a lo sumo un propietario, a la vez que un propietario pueda tener varias
parcelas.
Por su
parte, el proceso de la construcción de la base de
datos se llevó a cabo en tres fases: diseño del modelo lógico, definición de la
arquitectura e implementación del modelo de datos.
Para
el diseño del modelo lógico, el primer
paso fue identificar las entidades necesarias del ámbito del problema que, en este caso, son Parcela y Propietario.
Una vez identificadas las entidades, se procedió a definir los atributos
relacionados para cada entidad, su tipo de dato y restricciones de campos
nulos, valores por defecto o valores específicos para el campo, lo cual dio como resultado la
identificación de los siguientes atributos por cada entidad:
Parcela:
·
Num_finca:
identifica de manera única una parcela.
·
Derecho:
documento legal.
·
Dirección: ubicación
geográfica en prosa.
·
Uso_tierra:
representa el uso de la tierra para la parcela.
·
Valor_fiscal:
valor fiscal declarado de la parcela.
·
Dueño:
identificador único del propietario.
Propietario:
·
Cédula:
identificador único de una persona.
·
Nombre: describe
el nombre del propietario.
·
Primer_apellido:
describe el primer apellido del propietario.
·
Segundo_apellido:
describe el segundo apellido del propietario.
·
Estadocivil:
describe el estado civil de la persona.
·
Sexo: describe
el sexo de una persona.
Las restricciones identificadas se
listan a continuación:
·
Restric_uso:
valida el uso correcto de la tierra (Parcela).
·
Restric_valorfiscal:
valida que el valor fiscal se encuentre en un rango considerable (Parcela).
·
Rest_estadocivil:
valida el estado civil de una persona (Propietario).
·
Rest_sexo:
validar el sexo de una persona (Propietario).
Para
cada una de las anteriores,
se define el tipo de restricción, sea de valores codificados (solamente acepta
ciertos valores) o un rango de valores (establecido por un límite mínimo y
máximo). Finalmente, se identifican las relaciones entre la entidad Parcela y
Propietario, sus campos de relación y la cardinalidad.
La Fig. 3 muestra las entidades resultantes,
con sus respectivos campos y restricciones, mientras que la Fig. 4 presenta las
restricciones del modelo y la Fig. 5 las relaciones entre las entidades.
Fig. 3. Entidades del modelo lógico.
Fig 4. Restricciones del modelo lógico.
Fig. 5 Relaciones
entre entidades.
El
SGBD seleccionado para el desarrollo del caso de estudio es PostgreSQL 11, en
el cual se desarrollará una versión de la base de datos utilizando la extensión
espacial de PostGIS 3.0 y otra versión utilizando el software ArcSDE
10.8.
Se
utilizaron dos herramientas CASE para llevar a cabo la implementación del
modelo de la base de datos: el Enterprise Architect, para la construcción del
modelo en el caso de ArcSDE, y el pgModeler, para la implementación usando la
extensión PostGIS.
Estas
herramientas permiten de una forma sencilla realizar el diseño físico de una
base de datos espacial, que puede ser exportado a través de un archivo XML o
SQL, para que luego sea importado e implementado en el SGBD.
A continuación,
en la Fig. 6 se
visualizan los modelos resultantes para cada caso:
Fig. 6. Modelo físico de la base de
datos en Enterprise Architect.
En la Fig. 7 se muestra el modelo físico de la base de
datos pgModeler.
Fig. 7. Modelo físico de la base de datos en
pgModeler.
Utilizando
la herramienta pgAdmin, una herramienta de código abierto para la
administración de bases de datos PostgresSQL, se puede explorar la
implementación de los modelos físicos del caso de estudio utilizando el software
ArcSDE y la extensión PostGIS.
En el
caso del software ArcSDE, se puede observar una serie de deficiencias en
el proceso que se lleva a cabo para transformar el modelo físico propietario de
ESRI, a un modelo físico estándar para una base datos relacional.
Por un
lado, se puede apreciar en la Fig. 8, que
la llave primaria es automáticamente asignada al campo objectid, un valor
autoincremental de la tabla, lo que propicia el error de que se coloque dos
veces un mismo registro con identificadores distintos, ocasionando una
duplicidad de información.
Fig. 8. Llave primaria de la tabla
parcela creada en la columna objectid.
La
relación que se creó en el modelo no se mapea en la relación entre Parcela y
Propietario como una llave foránea, permitiendo que un usuario pueda registrar
una parcela a una cédula de un propietario no existente.
En una
configuración estándar del software ArcSDE para el motor de bases de
datos PostgreSQL, las geometrías de los objetos espaciales se codifican por
defecto utilizando un tipo de dato propietario del ArcSDE, lo que complica
compartir estos datos con aplicaciones de terceros.
También se puede
observar en la Fig.9, que las
restricciones de valores codificados y los rangos de valores no son
implementados por el motor de base datos.
Esto se debe a que el cumplimiento de la integridad es delegado al software
ArcSDE, lo que permite que aplicaciones de terceros puedan corromper más
fácilmente los datos, al no implementar un mecanismo de integridad referencial
propio del motor de bases de datos.
Fig 9. Modelo físico resultante a
partir del uso del software ArcSDE.
El
modelo construido consta de dos entidades,
no obstante, en el modelo resultante de base de datos se puede observar que hay
más de dos tablas. Este excedente se debe a que el software ArcSDE
requiere de una serie de tablas adicionales para la implementación de
capacidades espaciales al motor de bases de datos PostgreSQL, lo que ocasiona
una sobrecarga al motor para escribir o recuperar la información.
Por otra parte,
el mismo modelo construido utilizando las capacidades espaciales de la
extensión espacial PostGIS genera un modelo físico mucho más limpio y
consecuente con la teoría del diseño de bases de datos. A diferencia del software
ArcSDE, las llaves primarias son establecidas en los campos Cédula y Num_Finca de las tablas Propietario y Parcela
respectivamente. Asimismo, se establecen restricciones de integridad para
garantizar que los campos Uso_tierra, Valor_fiscal, Estadocivil y Sexo se
limiten a un rango de valores que sean considerados como válidos. En el caso de
las relaciones entre tablas, se crean las llaves foráneas respectivas, que garantizan
que no se pueda crear una parcela asociada a un propietario no registrado.
Por último y no
menos importante, los datos espaciales son almacenados en un formato compatible
con los estándares de Open Geospatial Consortium (OGC), que a través de una serie
de funciones preconstruidas por la extensión PostGIS, facilitan el intercambio
de información geográfica entre aplicaciones, tal como se muestra
en la Fig. 10.
Fig. 10 Modelo físico resultante a partir del
uso de la extensión PostGIS.
A continuación,
se enumeran las principales conclusiones que se obtienen de este trabajo:
● Las deficiencias halladas con la implementación del caso
de estudio utilizando el software ArcSDE demuestran que, con el uso de
este software, es más propenso a inducir problemas en la calidad de los
datos de una base de datos espacial, que propiamente el uso de otras
alternativas para la gestión de datos espaciales, como es el caso de la
extensión PostGIS.
● La implementación de una base de datos espacial integrada
con el software ArcSDE requiere de conocimiento especializado por parte
de los desarrolladores y administradores de bases de datos, para que,
conociendo las limitantes de este software, puedan crear soluciones para
mantener la integridad referencial de los datos y crear procesos de control y
aseguramiento de calidad más exhaustivos.
● Una vez que se exporta un modelo de una base de datos
espacial utilizando el software ArcSDE a PostgreSQL, no existe una forma
rápida para resolver el problema de integridad que se genera por la exportación
del archivo. Una solución sería utilizar la integridad referencial nativa del
motor de bases de datos y realizar pruebas respectivas utilizando el software
SIG ArcGIS para garantizar su correcta implementación.
● A diferencia del software ArcSDE que comparte
responsabilidades con el motor de bases de datos para la gestión de datos
espaciales, PostGIS está pensado en que la base de datos maneje todo lo
relacionado con el almacenamiento y procesamiento de los datos espaciales, lo
que garantiza una mayor interoperabilidad con otros software SIG,
separando responsabilidades según
competa; por un lado, el motor de bases de datos como responsable de todo lo
relacionado con el almacenamiento de datos y el software SIG en lo que
compete a edición y visualización de datos espaciales.
Con base en la experiencia en esta investigación, se
planea profundizar en el desarrollo y divulgación de nuevos casos de estudio
para la aplicación de las bases de datos en otras disciplinas distintas a la
computación e informática, tales como la biología, construcción, sociología,
geología, geografía, topografía, entre otras, de manera que sea posible dar a
conocer las bondades de los SGBD para el uso y explotación de los datos
espaciales, así como crear redes de investigación interdisciplinarias que
permitan llevar estos avances tecnológicos a campos históricamente más
conservadores.
[1] E.Malinowski and E. Zimányi, "Advanced
Data Warehouse Design from Conventional to Spatial and Temporal
Applications". Berlin Heidelberg: Springer, 2008.
[2] A.Yeung, and G.B,Hall, "Spatial Database Systems: Design,
Implementation and Project Management". Springer. 2007.
[3] N.Chaudhry and M. Yousaf. "Spatial
querying of mineral resources using PostGIS". 2nd International Conference
on Advancements in Computational Sciences (ICACS), Lahore, Pakistan, 2019, pp.
1-6, doi: 10.23919/ICACS.2019.8688999. 2019
[4] R.
Melo,and R. Vilman, "Implementación de PostGIS sobre la bodega de datos
del CDIAC, que permita la espacialización y análisis de los datos ambientales
del departamento de Caldas". Trabajo Final de Graduación. Universidad
Nacional de Colombia. [Online]. Available:
https://repositorio.unal.edu.co/handle/unal/76061
[5] Y. Zhao, H. Liang, N. Zhou, J. Zhao and Y.
Zhang, "Design and Implementation of Yunnan Province Soil Environmental
Quality Database Based on ArcSDE for Oracle". International Conference on
Manufacturing Technology, Materials and Chemical Engineering 14–16 June 2019,
Wuhan, China. 2019 Available:
https://doi.org/10.1088/1757-899X/592/1/012194
[6] E. Malinowski,
"Evaluación de los sistemas de administración de bases de datos con
extensiones espaciales". Revista Ingeniería, vol.
24, no.2 ,2014.
[7] M. Worboys and M. Duckham, "GIS: A
Computing Perspective". CRC Press,2004.
[8] P. Rigaux, M. Scholl, A. Voisard, "Spatial
Databases. San Francisco": Morgan Kaufmann. 2011.
[9] M. Goodchild,
"GIS and basic research: The national center for geographic
information and analysis". Government Information Quarterly, 7(3), pp.343-355.
1990.
[10]V. Olaya,"Sistemas
de información geográfica Un libro libre de Víctor Olaya", Available:http://volaya.github.io/librosig/index.html,
2014.
[11] R. Obe, L. Hsu, "Postgis In Action",
Second Edition. Manning Publications, 2015.
[12] H. Nasser, "Learning ArcGIS
Geodatabases". Birmingham, UK.: Packt Publishing, 2014.
[13]D.Peters,"System Design Strategies".
Redlands, California: ESRI Press, 2009.
[14]DataManagement.Available:http://www.esri.com/products/arcgis-capabilities/data-management.
[15]Parcela.Available:http://buscon.rae.es/drae/srv/search?id=pN6GGbTdXDXX206hcRbC