Postgis Caso Practico

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 44

CURSO DE ELABORACION

DE BASE DE DATOS
“POSTGIS”
Ms. Ing. Esteban Ortega Flores
Docente
Mayo 2021
“Viajar nos permite enriquecer nuestras vidas
con nuevas experiencias, disfrutar y ser
educados, aprender a respetar las culturas
extranjeras, establecer amistades y, sobre
todo, contribuir a la cooperación internacional
y la paz en todo el mundo.”
Jules Gabriel Verne
CASO DE ESTUDIO

• Una empresa desea desarrollar


un sistema de gestión de base de
datos para administrar sus
propiedades y ofrecerlas a la
venta, actualmente la empresa
maneja sus datos en la hoja de
datos Excel, donde tienen su
dirección de la propiedad y su
código postal, como se puede
apreciar en las tablas:
CASO DE ESTUDIO

Base de datos actual:


Propiedades.xls
Ciudad código postal calle numero
Lima 15076 Los Castaños 320
Arequipa 4001 Independencia 1399
Candarave 23420 Av. Tacna 120
Arequipa 4012 Calle Yumina 118
Tacna 23003 Av. Miraflores 530

SGBD proyectado:
SE PROPONE HACER 02 BASES DE DATOS:

Bienes_Raices Mundo_real
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

• Dirigirse a Panel de Control\Sistema\Configuración avanzada del


sistema\ Variables de entorno.
• Añadir nueva Variable PATH.
• Obtener la dirección de la carpeta bin de PostgreSQL.
• Pegamos la dirección de la carpeta bin copiada del explorador
• Reiniciar el equipo
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Dirigirse a Panel
de
Control\Sistema\
Configuración
avanzada del
sistema\
Variables de
entorno.
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Dirigirse a Panel
de
Control\Sistema\
Configuración
avanzada del
sistema\
Variables de
entorno.
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Dirigirse a Panel
de
Control\Sistema\
Configuración
avanzada del
sistema\
Variables de
entorno.
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Dirigirse a Panel
de
Control\Sistema\
Configuración
avanzada del
sistema\
Variables de
entorno.
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Añadir
nueva
Variable
PATH.
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Obtener la
dirección de
la carpeta
bin de
PostgreSQL.
COPIAR
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Pegamos la
dirección
de la
carpeta bin
copiada del
explorador
CONFIGURANDO LA VARIABLE DE ENTORNO PATH

Reiniciar el
equipo
CREAMOS NUESTRA BASE DE DATOS “Bienes_Raices”

Abrimos
pgAdmin 4
(PostgreSQL)
CREAMOS NUESTRA BASE DE DATOS “Bienes_Raices”

1. Colocamos
nuestra
contraseña
2. OK
CREAMOS NUESTRA BASE DE DATOS “Bienes_Raices”

1. Databases
2. Create
3. Databases
CREAMOS NUESTRA BASE DE DATOS “Bienes_Raices”

1. Escribimos
Bienes_Raices
2. Save
AÑADIMOS LA EXTENSIÓN POSTGIS

1. Bienes_Raices
2. Extensions
3. Create
4. Extension
AÑADIMOS LA EXTENSIÓN POSTGIS

1. Escribimos
postgis
2. Save
TIPOS DE DATOS ESPACIALES

GEOMETRY GEOGRAPHY
• Generalmente usado • Menos usado
• Gran cantidad de funciones • Reducido número de funciones
• Mayor precisión para cálculo de
largas distancias.

“geom”
CREAMOS LA TABLA tbl_propiedades

1. Click derecho
Bienes_raíces
2. Query Tool
CREAMOS LA TABLA tbl_propiedades

CREATE TABLE
tbl_propiedades (
id int not null primary key,
ciudad varchar (30),
codigo_postal varchar (5),
calle varchar (30),
numero int,
geom geometry
)
CREAMOS NUESTRA BASE DE DATOS “Mundo_Real”

1. Databases
2. Create
3. Databases
CREAMOS NUESTRA BASE DE DATOS “Mundo_Real”

1. Escribimos:
Mundo_Real
2. Save
AÑADIMOS LA EXTENSIÓN POSTGIS

1. Mundo_Real
2. Extensions
3. Create
4. Extension
AÑADIMOS LA EXTENSIÓN POSTGIS

1. Escribimos
postgis
2. Save
Examinando la nueva base de datos

• Catalogs: Es donde PostgreSQL almacena información


acerca de las tablas y columnas que conforman la base
de datos.
• Event Triggers: son procesamientos definidos por el
usuario, que puedesn ser definidos en algunos de los
lenguajes procedimientales asmitidos por PostgreSQL,
que se ejecutar después de que suceda algún evento
desencadenador definido por el usuario.
• Extensiones: Son las estructuras de datos, tipos de
dato, funciones, y más; que son definidas por terceros
para extender la funcionalidad de la base de datos.
• Schemas: Un esquema es un conjunto de tablas, tipos
de datos, funciones y operadores.
CREAMOS LA TABLA tbl_ edificios

1. Click derecho
Mundo_Real
2. Query Tool
CREAMOS LA TABLA tbl_edificios

CREATE TABLE tbl_edificios (


id int not null primary key,
nombre varchar (30),
tipo varchar (10),
direccion varchar (30),
geom geometry
)
CREAMOS LA TABLA tbl_referencias

1. Click derecho
Mundo_Real
2. Query Tool
CREAMOS LA TABLA tbl_referencias

CREATE TABLE tbl_referencias (


id varchar (7) not null primary
key,
nombre varchar (30),
tipo varchar (15),
geom geometry
)
Desarrollando sentencias de inserción de objetos GIS

INSERT INTO tbl_propiedades (id, ciudad, codigo_postal, calle, numero)


-- Inserta en tbl_propiedades y en sus campos id, ciudad, código…
VALUES (1, ‘Tacna’, ‘23003’, ‘Av. Miraflores’, 530);
-- los valores 1 Tacna, 23003…

Notación entendible: POINT, LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON


Ejemplo: POINT (-18.02201 -70.24764)

INSERT INTO public.tbl_propiedades(


id, ciudad, codigo_postal, calle, numero, geom)
VALUES (1, 'Tacna', '23003', 'Av. Miraflores', 530, ST_GeomFromText ('POINT(-
18.02201 -70.24764)'));
-- los valores 1 Tacna, 23003… y el punto
Obteniendo datos de fuentes externas: OSM

• Navegar a http://www.openstremap.org
• Presionar el botón Exportar
• Hacer clic en enlace Descargas de Geofabrik
• Ingresar a la región South America
• En la supregión Perú seleccionar el enlace .shp.zip
Obteniendo datos de fuentes externas: SHP

• Crear una carpeta llamada “peru-latest-free.shp“ en la unidad C y


Descomprimir en esta (C:\peru-latest-free.shp) los archivos descargados
• Abrir consola de línea de comando.
• Navegar hacia la carpeta descomprimida.
• En CMD Ejecutar el comando:
• shp2pgsql -g geom C:\peru-latest-free.shp\gis_osm_buildings_a_free_1.shp
tbl_temp > edificios.sql
• Abrir el archivo edificios.sql con WordPad.
• Cortar la sentencia CREATE, ALTER TABLE, SELECT y un par de INSERT.
• Pegar y ejecutar el script en PgAdmin 4.
• Truncar tabla tbl_temp.
Obteniendo datos de fuentes externas: SHP vía IU

• Navegar en el explorador de Windows y buscar postgisgui:


• C:\Program Files\PostgreSQL\12\bin\postgisgui
• Ejecutar el programa shp2pgsql-gui.exe.
• Configurar la conexión con el servidor.
• Seleccionar archivos shape:

• Hacer clic en import


Obteniendo datos de fuentes externas: SHP vía IU

• Navegar en el explorador de Windows y buscar


postgisgui:
• C:\Program Files\PostgreSQL\12\bin\postgisgui
• Ejecutar el programa shp2pgsql-gui.exe.
• Configurar la conexión con el servidor.

• 1. View connection
details
• Llenamos con nuestros
datos
• ok
Obteniendo datos de fuentes externas: SHP vía IU

1. Add File
2. Buscamos los datos descargados
3. Seleccionamos los archivos de interés
4. Open
Obteniendo datos de fuentes externas: SHP vía IU

1. Cambiaremos al modo Append (esto


se hace para que el programa no cree
otra tabla, si no que utilice el que
tiene creado)
2. Cambiamos los nombres a las tablas
3. Import
Ordenando las nuevas tablas

• Abrir PgAdmin 4
• Insertar los valores de tbl_temp a tbl_edificios
INSERT INTO tbl_edificios(id, nombre, tipo, geom)
(
SELECT osm_id, name, type, geom
FROM tbl_temp
);
• Editar la estructura de las tablas tbl_vialidades y tbl_referencias:
• Eliminar todas las columnas excepto osm_id, fclass, name y geom.
• Cambiar los nombres de las columnas a id, tipo, nombre y geom.
• Salvar los cambios.
• Agregar una nueva llave primaria sobre el campo id.
Nota: Para modificar el tipo de campo utilice el siguiente comando en query:
ALTER TABLE tbl_edificios ALTER COLUMN id TYPE varchar(10)
Para saber que registros se repiten

SELECT ID, COUNT(*)


FROM tbl_referencias
GROUP BY ID
HAVING COUNT(*) > 1
Para Eliminar registros que se repiten

DELETE FROM tbl_referencias


WHERE ID IN
(
SELECT ID
FROM tbl_referencias
GROUP BY ID
HAVING COUNT(*) > 1
);
RESUMEN

• Integrar datos espaciales a nuestras sentencias SQL utilizando una


notación entendible.
• Indicar el Sistema Espacial de referencia de nuestros datos.
• Descargar datos libre acceso de OpenstreetMap.
• Insertar archivos shape a nuestras tablas.
• Insertar registros a una tabla desde una selección.
• Eliminar registros duplicados
• Crear llaves primarias

También podría gustarte