Spatial DataBlade de IBM Informix integra un sistema de información geográfica (SIG) en el kernel del Servidor dinámico de Informix (IDS). El módulo Spatial DataBlade de Informix implementa el Consorcio geoespacial abierto, Inc. (OGC), la especificación SQL 3 de los tipos de datos definidos por el usuario (UDT), las columnas capaces de almacenar datos espaciales tales como la ubicación de un hito, una calle o parcela de tierra.
Una geodatabase de un sistema de administración de bases de datos Informix almacena los datos espaciales en los tipos de datos Spatial DataBlade de Informix. En consecuencia, es preciso registrar Spatial DataBlade para que sea posible crear una geodatabase en una base de datos Informix.
Para obtener más información acerca de Spatial DataBlade de Informix y su instalación, consulte la Guía del usuario de Spatial DataBlade de IBM Informix. La Guía de instalación y registro del módulo DataBlade también describe cómo registrar los módulos DataBlade.
Cómo funciona Spatial DataBlade de IBM
Una vez que Spatial DataBlade de Informix está instalado, puede crear tablas habilitadas espacialmente que incluyan columnas espaciales. Estas se denominan clase de entidad en ArcGIS. Las entidades geográficas se pueden introducir en las columnas espaciales. Spatial DataBlade de Informix convierte datos espaciales en su formato de almacenamiento a partir de uno de tres formatos externos:
- Representación de texto conocido (WKT)
- Representación binaria conocida (WKB)
- Representación de forma de Esri
Las geodatabases en bases de datos de Informix utilizan la representación de forma de Esri.
La tabla de referencia espacial
El sistema de referencia espacial identifica la matriz de transformación de coordenadas para cada geometría. La geometría es el término adoptado por OGC para referirse a los datos espaciales de dos dimensiones. Todos los sistemas de referencia espacial conocidos por la base de datos se almacenan en la tabla spatial_references. La tabla spatial_references almacena un registro de cada referencia espacial en la base de datos.
Las funciones internas utilizan los parámetros de un sistema de referencia espacial para trasladar y escalar cada coordenada de punto flotante de la geometría en enteros positivos antes de almacenarlas. En la recuperación, las coordenadas se restablecen al formato de punto flotante externo.
Las coordenadas de punto flotante se convierten en enteros sustrayendo los valores falsos x e y, que se trasladan al origen falso, luego se escalan multiplicándolos por las unidades x, se agrega media unidad y se trunca el resto.
Se trabaja con las coordenadas opcionales z y las medidas de manera similar, con la excepción de que se trasladan con valores z y m falsos y se escalan con unidades z y m respectivamente.
SRID, la clave principal spatial_references, contiene un único número para cada sistema de referencia espacial.
El sistema de referencia espacial se asigna a una geometría durante su construcción. El sistema de referencia espacial debe existir en la tabla spatial_references. Todas las geometrías en una columna deben tener el mismo sistema de referencia espacial.
Cuando crea una clase de entidad, ArcGIS busca la tabla spatial_references en un intento de localizar un sistema de referencia espacial coincidente. Si se encuentra una, se asigna el SRID a una clase de entidad. En caso contrario, ArcGIS agrega un nuevo sistema de referencia espacial en la tabla spatial_references y se lo asigna a la clase de entidad.
Cuando importa datos a la clase de entidad desde otra fuente de datos, por ejemplo, una cobertura o shapefile, las coordenadas de los datos deben ajustarse dentro de la extensión del sistema de referencia espacial. Cada entidad que se encuentra por fuera de la extensión del sistema de referencia espacial se rechaza.
Clases de entidad en una base de datos Informix
Una tabla espacial de Informix puede incluir una o más columnas espaciales, pero ArcGIS solo puede utilizar una columna espacial en una clase de entidad. Las columnas espaciales se definen con uno de los UDT de Spatial DataBlade de Informix. Una columna espacial solo puede aceptar datos del tipo requerido por la columna espacial. Por ejemplo, una columna ST_Polygon rechaza enteros, caracteres e incluso otros tipos de geometría no poligonal.
Cuando ArcGIS crea una clase de entidad en Informix, también crea una columna Id. de objeto. El Id. de objeto es la columna de entero, exclusiva y no nula que necesitan los clientes de ArcGIS para hacer un seguimiento de los conjuntos de selección.
ArcGIS también agrega un registro a la tabla geometry_columns cuando crea una clase de entidad en una geodatabase de Informix. Las aplicaciones que utilizan Spatial DataBlade de Informix se encargan de introducir un registro en la tabla geometry_columns cada vez que agregan una columna espacial a la base de datos.
Pautas para utilizar tablas de Informix existentes con ArcGIS
Cualquier aplicación distinta de ArcGIS puede crear tablas con columnas espaciales en Informix. ArcGIS ha sido diseñado para utilizar tablas con columnas espaciales creadas por otras aplicaciones o mediante SQL (algunas veces denominadas tablas de terceros) siempre que las tablas cumplan ciertos requisitos previos, que incluyen lo siguiente:
- La tabla debe tener una columna de entero, exclusiva y no nula que mantenga la base de datos para utilizarla como columna Id. de objeto.
- La tabla no puede contener columnas de un tipo definido por el usuario, excepto una columna ST_Geometry.
- La tabla solamente puede contener una columna ST_Geometry. Si quiere acceder a los datos de una tabla que contiene más de una columna ST_Geometry, cree una vista de la tabla que incluya una columna ST_Geometry solamente.
- La tabla solamente debe contar con un Id. de referencia espacial para todos los registros de la tabla.
- Si desea registrar la tabla con la geodatabase, debe ser el propietario de la tabla. Cuando la tabla se registra con la geodatabase, ArcGIS agrega su propia columna Id. de objeto y mantiene los valores en la columna.