Pasos del programa de ejemplo
| Acción
| Descripción
|
Habilitar/inhabilitar la base de datos espacial
|
- Habilitar la base de datos espacial (gseEnableDB)
- Inhabilitar la base de datos espacial (gseDisableDB)
- Habilitar la base de datos espacial (gseEnableDB)
|
- Este es el primer paso a seguir para poder utilizar DB2 Spatial
Extender. Una base de datos habilitada para operaciones espaciales
tiene una serie de tipos espaciales, una serie de funciones espaciales, una
serie de predicados espaciales, un nuevo tipo de índice y una serie de vistas
y tablas de administración.
- Este paso se suele llevar a cabo cuando ha habilitado funciones espaciales
para la base de datos equivocada. Cuando inhabilita una base de datos
espacial, elimina una serie de tipos espaciales, una serie de funciones
espaciales, una serie de predicados espaciales, un nuevo tipo de índice y una
serie de vistas y tablas de administración.
Nota: | La inhabilitación de la base de datos fallará si hay objetos creados que
dependen de los objetos creados por el procedimiento de habilitación de la
base de datos. Por ejemplo, la creación de una tabla con una columna
espacial del tipo ST_Point hará que falle la inhabilitación de la base de
datos. Esto sucede porque la tabla depende del tipo ST_Point, el
cual debe eliminar el procedimiento de inhabilitación de la base de
datos.
|
- Igual que 1.
|
Registrar sistemas de referencias espaciales
|
- Registrar el sistema de referencias espaciales para la columna LOCATION de
la tabla CUSTOMERS (gseEnableSref)
- Registrar el sistema de referencias espaciales para la columna LOCATION de
la tabla OFFICES (gseEnableSref)
- Desregistrar el sistema de referencias espaciales para la columna LOCATION
de la tabla OFFICES (gseDisableSref)
- Volver a registrar el sistema de referencias espaciales para las columnas
ZONE de la tabla OFFICES (gseEnableSref)
|
- Este paso define un nuevo sistema de referencias espaciales
(SRS) cuya finalidad es interpretar los datos espaciales de la
tabla CUSTOMERS. Un sistema de referencias espaciales incluye datos de
geometría en un formato que se puede almacenar en una columna de una base de
datos habilitada para operaciones espaciales. Después de que un SRS se
registra ante una determinada capa, las coordenadas aplicables a dicha capa se
pueden almacenar en la columna de la tabla CUSTOMERS asociada.
- Este paso define un nuevo sistema de referencias espaciales
(SRS) cuya finalidad es interpretar los datos espaciales de la
capa OFFICES. Cada capa de tabla debe tener un SRS definido. Es
posible que las capas de la tabla OFFICES necesiten un SRS asociado distinto
del de la capa de la tabla CUSTOMERS.
- Este paso sólo se lleva a cabo si el usuario especifica los parámetros de
SRS incorrectos ante la capa o columna espacial. Cuando el usuario
desregistra un SRS correspondiente a la capa de la tabla OFFICES, elimina la
definición con sus parámetros asociados.
- Este paso define un nuevo sistema de referencias espaciales
(SRS) cuya finalidad es interpretar los datos espaciales de la
capa OFFICES.
|
Crear las tablas espaciales
|
- Modificar la tabla CUSTOMERS, añadiendo la columna LOCATION
(gseSetupTables)
- Crear la tabla OFFICES (gseSetupTables)
|
- La tabla CUSTOMERS representa datos comerciales que se han almacenado en
la base de datos durante varios años. La sentencia ALTER TABLE añade
una nueva columna (LOCATION) del tipo ST_Point. Esta columna
se llenará geocodificando las columnas de dirección en un paso
posterior.
- La tabla OFFICES representa, entre otros datos, la zona de ventas
correspondiente a cada oficina de una compañía de seguros. La tabla
entera se llenará con los datos de atributo procedentes de una base de datos
que no es de DB2 en un paso posterior. Este paso incluye la importación
de datos de atributo en la tabla OFFICES procedentes del archivo SHAPE.
|
Registrar capas espaciales
|
- Registrar la columna LOCATION en la tabla CUSTOMERS como una capa
(gseRegisterLayer)
- Registrar la columna ZONE de la tabla OFFICES como una capa
(gseRegisterLayer)
| Estos pasos registran las columnas LOCATION y ZONE como capas ante DB2
Spatial Extender. Para que los programas de utilidad de DB2 Spatial
Extender (por ejemplo, el geocodificador) puedan llenar o
acceder a una columna espacial, tiene que registrarla como una capa.
|
Llenar las capas espaciales
|
- Geocodificar los datos de dirección correspondientes a la columna LOCATION
de la tabla CUSTOMERS (gseRunGC)
- Cargar la tabla OFFICES utilizando la modalidad de agregación
(gseImportShape)
- Cargar la tabla HAZARD_ZONE utilizando la modalidad de creación
(gseImportShape)
|
- Este paso lleva a cabo una geocodificación de proceso por lotes invocando
el programa de utilidad del geocodificador. La geocodificación de
proceso por lotes se suele realizar cuando una parte significativa de la tabla
se tiene que geocodificar o se tiene que volver a geocodificar.
- Este paso carga la tabla OFFICES con datos espaciales existentes en el
formato de un archivo SHAPE. Puesto que la tabla OFFICES existe y la
capa OFFICES/ZONE está registrada, el programa de utilidad de carga agregará
los nuevos registros a una tabla existente.
- Este paso carga la capa HAZARD_ZONE con datos espaciales existentes en
el formato de un archivo SHAPE. Puesto que ni la tabla ni la capa
existen, el programa de utilidad creará la tabla y registrará la capa antes de
que se carguen los datos.
|
Habilitar índices espaciales
|
- Habilitar el índice espacial para la columna LOCATION de la tabla
(gseEnableIdx)
- Habilitar el índice espacial para la columna ZONE de la tabla OFFICES
(gseEnableIdx)
- Habilitar el índice espacial para la columna LOCATION de la tabla OFFICES
(gseEnableIdx)
- Habilitar el índice espacial para la columna BOUNDRY de la tabla
HAZARD_ZONE (gseEnableIdx)
| Estos pasos habilitan el índice espacial para las tablas CUSTOMERS,
OFFICES y HAZARD_ZONE.
|
Habilitar la geocodificación automática
|
- Habilitar la geocodificación automática para las columnas LOCATION y
ADDRESS de la tabla CUSTOMERS (gseEnableAutoGC)
| Esta paso activa la invocación automática del geocodificador. La
geocodificación automática permite que las columnas LOCATION y ADDRESS de la
tabla CUSTOMERS estén sincronizadas entre sí para futuras operaciones de
inserción y actualización.
|
Insertar/actualizar la tabla CUSTOMERS
|
- Insertar algunos registros con otra calle (gseInsDelUpd)
- Actualiza algunos registros con una dirección nueva
(gseInsDelUpd)
| Estos pasos demuestran una inserción y actualización en la columna
LOCATION de la tabla CUSTOMERS. Una vez habilitada la geocodificación
automática, la información procedente de la columna ADDRESS se geocodifica
automáticamente cuando se inserta o actualiza en la columna LOCATION.
Este proceso se ha habilitado en el paso anterior.
|
Inhabilitar la geocodificación automática
|
- Inhabilitar la geocodificación automática para la capa CUSTOMERS
(gseDisableAutoGC)
- Inhabilitar el índice espacial para la capa CUSTOMERS
(gseDisableIdxCustomersLayer)
| Estos pasos inhabilitan la invocación automática del geocodificador y del
índice espacial como preparación para el siguiente paso (el siguiente
paso incluye una nueva geocodificación de la tabla CUSTOMERS
entera). Si está cargando gran cantidad de geodatos, se
recomienda inhabilitar el índice espacial antes de cargar los datos y luego
habilitarlo una vez finalizada la carga.
|
Volver a geocodificar la tabla CUSTOMERS
|
- Geocodificar de nuevo la capa CUSTOMERS con un nivel de precisión más bajo
- 90% en lugar de 100% (gseRunGC)
- Volver a habilitar el índice espacial para la capa CUSTOMERS
(gseEnableIdx)
- Volver a habilitar la geocodificación automática con un nivel de precisión
más bajo - 90% en lugar de 100%
(gseEnableAutoGC)
| Estos pasos ejecutan de nuevo el geocodificador en modalidad de proceso
por lotes, vuelven a habilitar la geocodificación automática con un nuevo
nivel de precisión y vuelven a habilitar el índice espacial y la
geocodificación automática. Esta acción se recomienda cuando el
administrador espacial advierte un alto nivel de errores en el proceso de
geocodificación. Si el nivel de precisión se define en 100%, es
posible que no pueda geocodificar una dirección porque no encuentra una
dirección correspondiente en los datos de referencia. Al reducir el
nivel de precisión, el geocodificador tiene más probabilidades de encontrar
datos coincidentes. Una vez se ha vuelto a geocodificar la tabla en
modalidad de proceso por lotes, tanto la geocodificación automática como el
índice espacial se vuelven a habilitar para facilitar el mantenimiento
incremental del índice espacial y de la columna espacial para futuras
operaciones de inserción y actualización.
|
Crear una vista y registrar sus columnas espaciales como capas de vista
|
- Crear una vista, HIGHRISK_CUSTOMERS, basada en la unión de la tabla
CUSTOMERS y la tabla HAZARD_ZONE (gseCreateView)
- Registrar las columnas espaciales de la vista como capas
(gseRegisterLayer)
| Estos pasos crean una vista y registran sus columnas espaciales como
capas de vista.
|
Realizar análisis espacial
|
- Buscar la distancia media de los clientes de cada oficina
(ST_Within, ST_Distance)
- Buscar el ingreso y la prima media por cliente para cada oficina
(ST_Within)
- Buscar clientes que no están cubiertos por ninguna oficina existente
(ST_Within)
- Buscar el número de zonas peligrosas que solapa cada zona de oficinas
(ST_Overlaps)
- Buscar la oficina más cercana a la ubicación de un determinado cliente,
suponiendo que la oficina se encuentra en el centro de la zona de oficinas
(ST_Distance, ST_Centroid)
- Buscar clientes cuya ubicación es cercana al límite de una determinada
zona peligrosa (ST_Buffer, ST_Overlaps)
- Buscar aquellos clientes de alto riesgo que están cubiertos por una
determinada oficina
(Todos los pasos utilizan gseRunSpatialQueries)
| Estos pasos realizan un análisis espacial utilizando las funciones y
predicados espaciales en lenguaje SQL de DB2. El optimizador de
consultas de DB2 aprovecha el índice espacial de las columnas espaciales para
mejorar el rendimiento de las consultas siempre que es posible.
|
Exportar capas espaciales a archivos
| Exportar la capa highRiskCustomers (gseExportShape)
| El paso muestra un ejemplo de exportación de los resultados de su
consulta a un archivo SHAPE. Al exportar los resultados de la consulta
a otro formato de archivo se permite que la información sea utilizada por una
herramienta de otro proveedor (por ejemplo, ESRI
ArcInfo).
|