Está en la página 1de 4

BASES DE DATOS AVANZADAS

TALLER BASES DE DATOS ESPACIALES

Herramientas a utilizar:
 Motor de base de datos: Postgres con módulo PostGIS para manejo de
datos espaciales
 Quantum GIS: Herramienta tecnológica de sistema de información
geográfica de código abierto.

Parte 1 - Cargue de datos en GIS.

Usar la herramienta pgAdmin III para hacer conexión con el servidor de bases de
datos Postgre SQL 9.0 (localhost:5432), acceder a la base de datos mapas, hacer
una lista de las tablas que aparecen en esquema public. Utilizar el usuario
postgres y la contraseña unal2013. ¿qué campos en común encuentra en las
tablas? ¿qué explicación puede tener este(os) campo(os) en común?

Abrir en el escritorio el programa Quantum GIS Desktop (1.8.0), una vez dentro,
utilice el menú capas -> Añadir capas PostGIS

Utilizar la opción conectar, para establecer conexión con los datos geográficos
almacenados en la BD mapas (utilizar usuario y contraseña anteriores). Con el
listado de datos disponibles, cargar uno por uno utilizando la opción Añadir, al
agregar cada conjunto de datos posteriormente se selecciona el sistema de
coordenadas, utilizar el sistema de referencia WGS84.
Al cargar cada una de las capas, asignar transparencias a su representación para
poder ver aquellas que se sobreponen unas con otras.

Parte 2 – Creación polígono de Bogotá

Utilizar el siguiente script para generar un dato geográfico de la zona urbana de


Bogotá:

CREATE TABLE gps_zona_control


(
id_control serial,
nombre_zona character varying,
geometria geometry,
CONSTRAINT gps_zona_control_pkey PRIMARY KEY (id_control),
CONSTRAINT enforce_dims_geometria CHECK (st_ndims(geometria) = 2),
CONSTRAINT enforce_geotype_geometria CHECK (geometrytype(geometria) =
'MULTIPOLYGON'::text OR geometria IS NULL),
CONSTRAINT enforce_srid_geometria CHECK (st_srid(geometria) = (-1))
)
WITH (
OIDS=FALSE
);

INSERT INTO gps_zona_control (nombre_zona, geometria) values


('Bogota', geomfromewkt('SRID=-1;MULTIPOLYGON(((-74.203590445457 4.6003193159409,-
74.211143546042 4.6352245632818,-74.176124625144 4.6489124256836,-74.152778677881
4.6735499074093,-74.161018423972 4.6968178450103,-74.17955785268 4.7084515229335,-
74.153465323387 4.736508415397,-74.119819693508 4.7406142067775,-74.079994254054
4.7782494881807,-74.03604894155 4.8042508402048,-74.008583121238 4.8097246828656,-
74.006523184713 4.77961800503,-74.014076285298 4.7631956226754,-74.013389639793
4.7604585207802,-74.002403311671 4.7159790932416,-74.009269766743 4.6886057201873,-
74.020256094873 4.6756029918563,-74.043602042136 4.6598625241919,-74.056648306782
4.61058574336,-74.051841788227 4.5852616213989,-74.063514761863 4.5565142331991,-
74.062828116358 4.5168135707107,-74.077247672015 4.4901170745336,-74.104713492327
4.4777952849413,-74.130119376124 4.492170685917,-74.151405386862 4.4997005448281,-
74.157585196437 4.5270811925291,-74.164451651508 4.5592521293335,-74.18917088979
4.5626744848297,-74.224189810689 4.5825238246264,-74.203590445457
4.6003193159409)))'))
La ejecución de scripts en postgres puede ser ejecutada a través de la opción
ejecutar consultas SQL arbitrarias (abre una nueva ventana)

¿Qué características tiene el nuevo dato geográfico creado?. Cargue el nuevo


dato como una nueva capa de Quantum GIS; utilice los comandos de acercar y
alejar zoom para visualizar el área de Bogotá, mostrando cada una de capas
cargadas.

Parte 3 – Uso de funciones de análisis

Para esta parte serán utilizados los datos de la tabla gps_ultima_ubicacion, que
contiene registros de ubicación geográfica de vehículos de transporte público.

Cree una consulta de selección simple sobre la tabla gps_ultima_ubicación, allí,


seleccione el id_vehiculo de algún registro cuya ubicación esté en Bogotá.

Ejecute la siguiente consulta utilizando como parámetro el id_vehiculo identificado


enel paso anterior

select intersects(
(select geometria from gps_ultima_ubicacion where id_vehiculo=[id_vehiculo]),
(select geometria from gps_zona_control where id_control=1));

¿Qué tipo de dato retorna este script? ¿Qué indica el resultado de la ejecución de
la función intersects?.
Utilice el siguiente script para generar un listado de los vehículos ubicados dentro
del área delimitada para Bogotá:

select id_vehiculo from gps_ultima_ubicacion where NOT intersects (geometria, (select geometria
from gps_zona_control where id_control=1))

Genere un nuevo script similar para generar un listado de los barrios ubicados en
la zona metropolitana de Bogotá

Para el listado de vehículos ubicados en Bogotá, generar una consulta que genere
el barrio de la ubicación actual de cada vehículo.

Elaborado por:
Gabriel Bustos Quiroga
Paulo César Fuentes Alarcón
Andrés Felipe Guerrero Ramírez
Bases de Datos Avanzadas
Maestría de Ingeniería de Sistemas y Computación
Universidad Nacional de Colombia
Abril de 2013

También podría gustarte