Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NET     ...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETConte...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETConte...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETConte...
Presentaci´n          o                         Geodatabases                          Mini proyecto                    SIG...
Presentaci´n          o                         Geodatabases                          Mini proyecto           SIGUA.NETCon...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETConte...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETConte...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETConte...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETIntro...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETIntro...
Presentaci´n          o                         Geodatabases                          Mini proyecto            SIGUA.NETIn...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETIntro...
Presentaci´n          o                         Geodatabases                          Mini proyecto         SIGUA.NETIntro...
Presentaci´n          o                         Geodatabases                          Mini proyecto                       ...
Presentaci´n          o                         Geodatabases                          Mini proyecto               SIGUA.NE...
Presentaci´n          o                         Geodatabases                          Mini proyecto                       ...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n               o                          Geodatabases                         Mini proyecto                SI...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto            SIGUA.NETGe...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto                       ...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto          SIGUA.NETGest...
Presentaci´n          o                          Geodatabases                         Mini proyecto                       ...
Presentaci´n          o                          Geodatabases                         Mini proyecto                     SI...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                          Geodatabases                         Mini proyecto         SIGUA.NETGesti...
Presentaci´n          o                            Geodatabases                       Mini proyecto         SIGUA.NETSoluc...
Presentaci´n          o                            Geodatabases                       Mini proyecto         SIGUA.NETSoluc...
Presentaci´n          o                            Geodatabases                       Mini proyecto         SIGUA.NETSoluc...
Presentaci´n          o                            Geodatabases                       Mini proyecto         SIGUA.NETSoluc...
Presentaci´n          o                            Geodatabases                       Mini proyecto         SIGUA.NETSoluc...
Upcoming SlideShare
Loading in …5
×

Las geodatabases en el panorama del FOSS GIS. Introduccion y casos de estudio

999 views

Published on

Presentación para un seminario temático impartido en el Máster en Tecnologías de la Información Geográfica. Hablamos sobre SIG libre, geodatabases e hicimos una introducción a Postgis.

Published in: Education
  • Be the first to comment

Las geodatabases en el panorama del FOSS GIS. Introduccion y casos de estudio

  1. 1. Presentaci´n o Geodatabases Mini proyecto SIGUA.NET Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı Seminario Tem´tico a M´ster en Tecnolog´ de la Informaci´n Geogr´fica a ıas o a Universidad de Alcal´ de Henares a 2 y 3 de abril de 2013Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  2. 2. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oTendencias en el acceso a la informaci´n geogr´fica o aLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  3. 3. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oKnowledge Discovery in Databases (KDD) • El KDD analiza las bases de datos m´s voluminosas. a • El KDD puede aprovechar datos con or´ıgenes y formatos tan distintos como los existentes en el ´rea de las TIG. a • Las tareas y m´todos de “Data Mining” sirven para extraer e conocimiento a partir de las bases de datos. • La IG tiene particularidades que la hacen m´s dif´ de analizar a ıcil que los datos provenientes de otras ´reas de aplicaci´n. a oLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  4. 4. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oOpen Geospatial Consortium (OGC) Miembros OGC • Empresas distribuidoras de software: ESRI, Autodesk, Bentley Systems, Cadcorp, Intergraph, NAVTEQ, etc. • Universidades: Delft University of Technology, Harvard University, ITC University of Twente, MIT, etc. • Agencias gubernamentales: Norwegian Building Authority, US Geological Survey (USGS), etc. http://www.opengeospatial.org/ Est´ndar OGC a Documento establecido por consenso y aprobado por los miembros del OGC. Este documento provee de reglas y directrices que buscan la interoperabilidad del software geoespacial.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  5. 5. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oWKT y WKB Well-known text (WKT) WKT es uno de los est´ndares OGC m´s conocidos. WKT es un a a lenguaje de etiquetado para representar geometr´ vectoriales, ıas sistemas de referencia espacial y transformaciones. En su versi´n o binaria, el well-known binary (WKB) se utiliza para transferir dicha informaci´n rapidamente entre bases de datos y distintos tipos de o software geoespacial. POINT(53 105) MULTIPOINT(100 0, 100 100) LINESTRING(0 0, 25 100, 50 0, 75 100, 100 0) MULTILINESTRING((100 100, 75 0, 50 100, 25 0, 0 100), (0 0, 25 100, 50 0, 75 100, 100 0)) POLYGON((0 0, 100 0, 100 100, 0 100, 0 0)) POLYGON((0 0, 100 0, 100 100, 0 100, 0 0), (25 25, 25 75, 75 75, 75 25, 25 25)) MULTIPOLYGON(((125 125, 125 175, 175 175, 175 125, 125 125)), ((0 175, 0 100, 100 175, 0 175))) GEOMETRYCOLLECTION(POINT(53 105), LINESTRING(0 0, 25 100, 50 0, 75 100, 100 0), POLYGON((0 0, 100 0, 100 100, 0 100, 0 0))) Pr´ctica a Edita y crea geometr´ en OpenJump y familiarzate con el WKT. ıasLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  6. 6. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oOpen Source Geospatial Foundation (OSGeo) OSGeo apoya, financia y comercializa herramientas FOSS GIS. Adem´s, fomenta el a acceso a datos espaciales libres. http://www.osgeo.org/Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  7. 7. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oClasificaci´n de proyectos de FOSS SIG (Ramsey, 2007) oLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  8. 8. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oInfraestructuras de Datos Espaciales (IDE) Para analizar distintas posibilidades podeis echarle un vistazo a este White Paper de Opengeo.orgLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  9. 9. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETContexto tecnol´gico del FOSS SIG oGeneraci´n de informes o Las IDEs y los geoportales se centran en la difusi´n de la o informaci´n geogr´fica. Sin embargo, las mismas tecnolog´ o a ıas utilizadas por las IDE pueden utilizarse para generar modelos geogr´ficos y analizar datos “inteligentes”. La primera parte de a esta cuesti´n se puede abordar directamente en las geodatabases. oLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  10. 10. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oQu´ es una geodatabase? e Definici´n de geodatabase o Una geodatabase es una base de datos con tipos especiales para los objetos geom´tricos. Permite almacenar datos geom´tricos y e e proporciona funciones especiales, ´ ındices espaciales y lenguajes de consulta (SQL). Una base de datos espacial es a menudo utilizado como un simple contenedor de almacenamiento para los datos espaciales, pero se puede ser mucho m´s que eso. a Geodatabases relacionales • Comerciales: Oracle Spatial, SQL Server (2008), IBM DB2 Spatial, IBM Informix Spatial, MapInfo SpatialWare y ESRI ArcSDE. • Libres: MySQL Spatial, SpatiaLite y PostGIS.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  11. 11. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oOtras geodatabases alternativas (NoSQL) Definici´n de NoSQL o Seg´n nosql-database.org, es la nueva generaci´n de bases de u o datos que se distinguen por las siguientes caracter´ ısticas: • No-relacionales. • Distribuidas. • Open-source • Horizontalmente escalables. NoSQL con componente espacial • Perst, SpaceBase y ¿DB4O-spatial? • Neo4j y AllegroGraph. • MongoDB y CouchDB. • CartoDB y StormDB.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  12. 12. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oSGBD espaciales vs SIG orientados a la aplicaci´n o La relaci´n entre SIG y Sistemas Gestores de Bases de Datos o (SGBD) es cada vez m´s cercana y est´ tomando un inter´s a a e creciente. Existen varios motivos que explican dicho inter´s: e Ventajas Inconvenientes • Reducci´n de la redundancia o • Costes m´s elevados. a de datos. • Personal adicional. • Aumento de la integridad de datos. • Aumento del tiempo de desarrollo. • Independencia de datos. • Riesgo centralizado. • Seguridad de los datos. • Anonimato de los datos. • Mantenimiento eficiente. • Racionalidad excesiva. • Visi´n Corporativa. oLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  13. 13. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oPostgreSQL Qu´ es PostgreSQL? e PostgreSQL es un SGBD relacional orientado a objetos y libre. Entre sus principales ventajas podemos encontrar: • Alta concurrencia y seguridad. • Amplia variedad de tipos nativos (N´meros de precisi´n u o arbitraria, texto de largo ilimitado, direcciones IP, direcciones MAC, arrays, geometr´ etc). ıas, • Otras caracter´ ısticas (foreign keys, triggers, vistas, integridad transaccional, herencia de tablas, soporte para transacciones distribuidas, etc). • Funciones en varios lenguajes procedurales (PL/PgSQL, C, C++, Java PL/Java web, PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, PL/Tcl, PL/R, etc).Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  14. 14. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oPostGIS Qu´ es PostGIS? e PostGIS es la extensi´n espacial, FOSS y OGC, para el Sistema de o Gesti´n de Base de Datos PostgreSQL. PostGIS a˜ade funciones o n espaciales (distancia, ´rea, uni´n, intersecci´n, etc) y tipos de a o o datos espaciales a la base de datos. Esta extensi´n es similar a o ESRI ArcSDE, Oracle Spatial, MySQL-spatial, y DB2 Spatial Extender. La versi´n 2.0.0 tiene otras mejoras notables: o • 3D support. • Raster/vector support. • SQL/MM topology support. • Tiger geocoder with loader for 2010 Tiger data.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  15. 15. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oPostgreSQL y PostGIS con pgAdmin III Query 1: Hello world!! 1 SELECT version () ; 2 -- SELECT p o s t g i s _ f u l l _ v e r s i o n () ; 3 -- SELECT * FROM pg_tables WHERE schemaname = ’ public ’;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  16. 16. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oCrear una base de datos con una tabla espacial Creamos una base de datos llamada “testdb”, le a˜adimos una n nueva tabla y una columna de geometr´ ıas: Query 2: Crear una tabla1 CREATE TABLE ciudades ( id int4 , name varchar (50) ) ;2 SELECT A d dGe ome tryC olu mn ( ’ ciudades ’ , ’ the_geom ’ , 4326 , ’ POINT ’ , 2) ; A continuaci´n, se utiliza el comando INSERT para a˜adir los o n primeros registros en la tabla que acabamos de crear (buscad m´s a en geonames.org ).Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  17. 17. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETIntroducci´n a las geodatabases oConsultas b´sicas a Query 3: A˜adir registros a la tabla ciudades n1 INSERT INTO ciudades ( id , the_geom , name ) VALUES (1 , ST_GeomFromText ( ’ POINT ( -0.1257 51.508) ’ ,4326) , ’ London , England ’) ;2 INSERT INTO ciudades ( id , the_geom , name ) VALUES (2 , ST_GeomFromText ( ’ POINT ( -81.233 42.983) ’ ,4326) , ’ London , Ontario ’) ;3 INSERT INTO ciudades ( id , the_geom , name ) VALUES (3 , ST_GeomFromText ( ’ POINT (27.91162491 -33.01529) ’ ,4326) , ’ East London , SA ’) ; Query 4: Consultas b´sicas a1 SELECT * FROM ciudades ;2 -- SELECT id , ST_AsText ( the_geom ) , ST_AsEwkt ( the_geom ) , ST_X ( the_geom ) , ST_Y ( the_geom ) FROM ciudades ;3 -- SELECT p1 . name , p2 . name , ST _ Di st a nc e _S ph e re ( p1 . the_geom , p2 . the_geom ) FROM ciudades AS p1 , ciudades AS p2 WHERE p1 . id > p2 . id ;4 -- SELECT p1 . name , p2 . name , S T _ D i s t a n c e _ S p h e r o i d ( p1 . the_geom , p2 . the_geom , ’ SPHEROID [" GRS_1980 " ,6378137 ,298.257222] ’) FROM ciudades AS p1 , ciudades AS p2 WHERE p1 . id > p2 . id ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  18. 18. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oIntroducci´n o Problema En una universidad con decenas de edificios y miles de empleados se quiere optimizar la gesti´n de personal y el gasto. Los gerentes o sospechan que el gasto en limpieza parece desproporcionado en algunos departamentos. Adem´s, entre otros diversos problemas, a bromean sobre el rumor de que en los edificios pr´ximos a la o cafeter´ se hacen m´s horas extra. No obstante, no tienen un ıa a modo de analizar este tipo de situaciones. La informaci´n depende o de distintos departamentos independientes: • Cartograf´ digital de los proyectos de cada edificio (Oficina ıa t´cnica de proyectos). e • Un c´digo para denominar a cada estancia (Gesti´n de o o espacios docentes). • Un completo listado de personal (Gesti´n econ´mica). o oLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  19. 19. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oIntroducci´n (II) o Una geodatabase es un medio ideal para solucionar estos y otros posibles problemas. Analizar los datos de un modo sistem´tico a depender´ de que superemos con ´xito una serie de fases. a e Objetivos espec´ ıficos 1 Definir un modelo de base de datos (ER, OO, Graph, etc). 2 Escoger un SGBD apropiado (centenares de usuarios). 3 Implementar la base de datos e incorporar toda la informaci´n o disponible. 4 Desarrollar m´todos para responder a las preguntas espec´ e ıficas de los gestores y del p´blico en general. u 5 Publicar los informes de un modo din´mico, para que los a usuarios encuentren lo que necesitan con poco esfuerzo.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  20. 20. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oDiagrama Entidad-Relaci´n b´sico o aLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  21. 21. Presentaci´n o Geodatabases Mini proyecto SIGUA.NET Gesti´n de espacios de una corporaci´n o o Creaci´n de las tablas o CREATE TABLE Crea una nueva tabla (vac´ en la base de datos actual y admite ıa) un buen n´mero de par´metros (tablas temporales, herencia, u a valores por defecto, OIDs, restricciones, etc). El usuario que haya creado la tabla ser´ el propietario. a Query 5: Crear tablas Query 6: Crear tablas 1 CREATE TABLE Departamentos ( 1 CREATE TABLE Usos ( 2 DptoID VARCHAR (10) PRIMARY KEY , 2 CodUso VARCHAR (10) PRIMARY KEY , 3 NomDpto VARCHAR (50) NOT NULL ) ; 3 DescUso VARCHAR (50) , 4 4 GrupoUso VARCHAR (20) NOT NULL ) ; 5 CREATE TABLE Personas ( 5 6 PersId VARCHAR (20) PRIMARY KEY , 6 CREATE TABLE PuestoDeTrabajo ( 7 Apellido1 VARCHAR (30) NOT NULL , 7 PersId VARCHAR (20) NOT NULL , 8 Apellido2 VARCHAR (30) , 8 EstanId VARCHAR (20) NOT NULL , 9 Nombre VARCHAR (30) NOT NULL , 9 PerfilID VARCHAR (20) NOT NULL ,10 Ciudad VARCHAR (20) NOT NULL , 10 Perfil VARCHAR (50) NOT NULL ,11 FechaNac DATE NOT NULL , 11 PerfilGrupo VARCHAR (20) NOT NULL ) ;12 HorasExtra SMALLINT DEFAULT 0 NOT NULL ) ; Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  22. 22. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oPlugin SPIT en QGISLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  23. 23. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oDefinir claves externas Mantener la integridad referencial Los cambios en una tabla pueden implicar modificaciones en otras tablas relacionadas. En los SGBD simples esto se podr´ realizar ıa manualmente, pero esto puede generar problemas y es muy inc´modo en BD grandes. PostgreSQL controla esto o autom´ticamente mediante el uso de claves ajenas. a Query 7: A˜adir claves ajenas n 1 ALTER TABLE Estancias 2 ADD FOREIGN KEY ( coddpto ) REFERENCES Departamentos ( dptoid ) ; 3 4 ALTER TABLE Estancias 5 ADD FOREIGN KEY ( coduso ) REFERENCES Usos ( coduso ) ; 6 7 ALTER TABLE PuestoDeTrabajo 8 ADD FOREIGN KEY ( EstanId ) REFERENCES Estancias ( codigo ) ; 910 ALTER TABLE PuestoDeTrabajo11 ADD FOREIGN KEY ( PersId ) REFERENCES Personas ( PersId ) ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  24. 24. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oCarga de datos INSERT Inserta nuevas filas en una tabla. Se puede insertar una unica fila ´ especificada por expresiones de valor, o varias filas, como resultado de una consulta. Query 8: Ins´rtate en la tabla de Personas e1 INSERT INTO Personas VALUES ( ’ PersId ’ , ’ Apellido1 ’ , ’ Apellido2 ’ , ’ Nombre ’ , ’ Ciudad ’ , ’ FechaNac ’ , HorasExtra ) ; Ahora puedes comprobar: 1 Lo que sucede al introducir un registro con una clave primaria repetida en la misma tabla. 2 Lo que sucede al vulnerar las restricciones especificadas en la creaci´n de las tablas (Ej: Valores nulos o unicos). o ´Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  25. 25. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oCarga de datos masiva COPY Utilizaremos este comando para importar y exportar datos entre PostgreSQL y los ficheros del sistema. Este m´todo podr´ resultar e a m´s pr´ctico y ´gil que realizar INSERT. a a a Query 9: Ejemplo de COPY1 COPY Departamentos FROM ’ .../ Departamentos . csv ’ WITH DELIMITER ’; ’ csv header ;2 -- Ahora copia el resto de ficheros a la base de datos . ¿Importa el orden? ´ Si importas las estancias o los puestos de trabajo antes que las otras tablas te habr´ aparecido un error de regla de integridad a referencial. No se puede hacer referencia a algo que, por lo que concierne a nuestra base de datos actual, no existe.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  26. 26. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oEliminar datos de la DB DELETE Este m´todo elimina filas de una tabla que satisfagan la cl´usula e a WHERE o si no hay WHERE, se eliminar´n todas las filas de la a tabla. El resultado es una tabla v´lida, pero vac´ Es interesante a ıa. ver como afecta la existencia de claves ajenas: Query 10: Ejemplo de DELETE1 -- --- Intentamos borrar un registro en la tabla Departamentos .2 -- SELECT * FROM Departamentos WHERE dptoid = ’09.24 ’;3 -- DELETE FROM Departamentos WHERE dptoid = ’09.24 ’;4 -- --- Comprobamos la existencia de registros relacionados en otras tablas .5 -- SELECT * FROM Estancias WHERE coddpto = ’09.24 ’;6 -- --- Borramos los registros relacionados de otras tablas .7 -- DELETE FROM Estancias WHERE coddpto = ’09.24 ’;8 -- --- Finalmente podemos borrar los registros de la tabla principal .9 -- DELETE FROM Departamentos WHERE DptoId = ’09.24 ’;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  27. 27. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas a la BD El SQL es un lenguaje est´ndar de consulta de bases de datos con a un gran n´mero de alternativas a la hora de explotar una base de u datos. Existen muchos m´todos y palabras clave para filtrar, e ordenar y combinar los datos. Vamos a practicar un poco: Query 11: Ejemplos de operadores 1 SELECT * FROM Personas ; 2 -- SELECT * FROM Personas WHERE Apellido1 = ’ tu apellido ’; 3 -- SELECT Nombre , Apellido1 FROM Personas WHERE extract ( years from age ( fechanac ) ) < 35; 4 -- SELECT Nombre , Apellido1 FROM Personas WHERE extract ( years from age ( fechanac ) ) >= 50 AND extract ( years from age ( fechanac ) ) <=70; 5 -- SELECT Nombre , Apellido1 FROM Personas WHERE extract ( years from age ( fechanac ) ) BETWEEN 50 AND 70; 6 -- SELECT NomDpto FROM Departamentos WHERE NomDpto LIKE ’ %GEO %’; 7 -- SELECT DISCTINCT Perfil FROM PuestoDeTrabajo WHERE Perfil LIKE ’ %Cate %’; 8 -- SELECT * FROM Personas ORDER BY Apellido1 ; 9 -- SELECT Nombre , Apellido1 FROM Personas ORDER BY extract ( years from age ( fechanac ) ) asc LIMIT 5 OFFSET 1;1011 -- Investigad los m´ todos UNION , INTERSECT y EXCEPT eLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  28. 28. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oDistintas consultas, mismo resultado Sintaxis y rendimiento El lenguaje SQL es muy rico y PosgreSQL ofrece muchas otras posibilidades para manipular y consultar los datos. As´ pues, suele ı suceder que hay distintos modos de formular una misma pregunta a una base de datos. En ocasiones la diferencia podr´ ser a puramente sint´ctica, pero en otras situaciones unas opciones a pueden ser m´s r´pidas y eficientes que otras. a a Query 12: Ejemplo de OR1 SELECT Nombre , Apellido1 Query 13: Ejemplo de IN2 FROM Personas 1 SELECT Nombre , Apellido13 WHERE 2 FROM Personas4 Ciudad = ’ Alicante ’ OR 3 WHERE Ciudad IN5 Ciudad = ’ Elche ’ OR 4 ( ’ Alicante ’ , ’ Elche ’ , ’ Benidorm ’ , ’ Alcoy6 Ciudad = ’ Benidorm ’ OR ’ , ’ Torrevieja ’) ;7 Ciudad = ’ Alcoy ’ OR8 Ciudad = ’ Torrevieja ’;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  29. 29. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas sobre varias tablas Query 14: Ejemplo de consultas sobre varias tablas (I)1 SELECT NomDpto , Codigo2 FROM Departamentos , Estancias3 WHERE Estancias . coddpto = Departamentos . dptoid4 ORDER BY NomDpto ; Query 15: Ejemplo de consultas sobre varias tablas (II)1 SELECT COUNT ( personas . persid )2 FROM Departamentos , Estancias , PuestoDeTrabajo , Personas3 WHERE NomDpto LIKE ’ %QUIMICA %’4 AND Departamentos . dptoid = Estancias . coddpto5 AND Estancias . codigo = PuestoDeTrabajo . estanid6 AND P ue st oDeTrabajo . PersId = Personas . PersId ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  30. 30. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas sobre varias tablas Query 16: Ejemplo de consultas sobre varias tablas (III)1 SELECT NomDpto , count ( personas . persid )2 FROM Departamentos , Estancias , PuestoDeTrabajo , Personas3 WHERE personas . Horasextra BETWEEN 900 AND 10004 AND Departamentos . dptoid = Estancias . coddpto5 AND Estancias . codigo = PuestoDeTrabajo . estanid6 AND P ue st oDeTrabajo . persid = Personas . persid7 GROUP BY nomdpto8 ORDER BY count ( personas . persid ) desc ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  31. 31. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas complejas Consultas anidadas Habitualmente, necesitaremos combinar consultas sencillas para responder a preguntas m´s complejas. Existen muchos modos para a hacer esto, pero el uso de consultas anidadas es el m´s b´sico. a a Un ejemplo Si necesit´semos listar aquellos departamentos cuya superficie a media es mayor que la media de la universidad, necesitaremos anidar dos consultas: 1 La superficie media de cada departamento. 2 La superficie media de los departamentos de la universidad.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  32. 32. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas anidadas Query 17: Superficie media de cada departamento1 SELECT Departamentos . nomdpto , SUM ( ST_Area ( Estancias . geom ) ) As dptom22 FROM Departamentos , Estancias3 WHERE4 Departamentos . dptoid = Estancias . coddpto5 GROUP BY Departamentos . nomdpto6 ORDER BY dptom2 desc ; Query 18: Superficie media de los departamentos1 SELECT AVG ( dptom2 ) as supmeddptos2 FROM3 ( SELECT Departamentos . nomdpto , SUM ( ST_Area ( Estancias . geom ) ) As dptom24 FROM Departamentos , Estancias5 WHERE6 Departamentos . dptoid = Estancias . coddpto7 GROUP BY Departamentos . nomdpto8 ORDER BY dptom2 desc ) as avgm2 ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  33. 33. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas anidadas Query 19: Departamentos que superan la superficie media 1 SELECT nomdpto , dptom2 2 FROM 3 ( SELECT Departamentos . nomdpto , SUM ( ST_Area ( Estancias . geom ) ) As dptom2 4 FROM Departamentos , Estancias 5 WHERE 6 Departamentos . dptoid = Estancias . coddpto 7 GROUP BY Departamentos . nomdpto ) as dptom2 8 WHERE 9 dptom2 >10 ( SELECT AVG ( dptom2 ) as s u p e r f i c i e _ m e d i a _ d e _ l o s _ d e p a r t a m e n t o s11 FROM ( SELECT Departamentos . nomdpto , SUM ( ST_Area ( Estancias . geom ) ) As dptom212 FROM Departamentos , Estancias13 WHERE14 Departamentos . dptoid = Estancias . coddpto15 GROUP BY Departamentos . nomdpto16 ORDER BY dptom2 desc ) as avgm2 )17 ORDER BY dptom2 desc ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  34. 34. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas actualizadas Vistas Las vistas permiten personalizar la apariencia de una base de datos. Una vista se genera a partir de una selecci´n (SELECT) de o tablas (o vistas) existentes en la misma o en otras bases de datos. Una vez generada, la vista mantiene el enlace con las tablas de origen. Esto quiere decir que los cambios en los datos que afecten las tablas de origen tambi´n afectan las vistas que, de este modo, e siempre estar´n actualizadas. a Query 20: Creaci´n de una vista o1 CREATE VIEW clasUsos AS2 SELECT gid , d . dptoid , e . geom , d . nomdpto , e . codigo , u . descuso , st_area ( e . geom )3 FROM Departamentos d , Estancias e , Usos u4 WHERE5 d . dptoid = e . coddpto AND6 e . coduso = u . coduso AND7 d . nomdpto LIKE ’ %GEO %’;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  35. 35. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas espaciales Query 21: Clasificaci´n de las estancias seg´n su superficie o u 1 SELECT DISTINCT categoria , COUNT ( codigo ) 2 FROM 3 ( SELECT codigo , ’a ) enorme ’ as categoria 4 FROM Estancias 5 WHERE st_area ( geom ) >100 6 UNION 7 SELECT codigo , ’b ) grande ’ as categoria 8 FROM Estancias 9 WHERE st_area ( geom ) BETWEEN 50 AND 10010 UNION11 SELECT codigo , ’c ) nada mal ’ as categoria12 FROM Estancias13 WHERE st_area ( geom ) BETWEEN 20 AND 5014 UNION15 SELECT codigo , ’d ) estandar ’ as categoria16 FROM Estancias17 WHERE st_area ( geom ) BETWEEN 7 AND 2018 UNION19 SELECT codigo , ’e ) claustro - f´ bico ’ as categoria o20 FROM Estancias21 WHERE st_area ( geom ) < 7) as clasif22 GROUP BY categoria23 ORDER BY categoria ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  36. 36. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oConsultas espaciales Query 22: 100 estancias m´s pr´ximas a la cafeter´ a o ıa1 SELECT codigo , coduso2 FROM Estancias3 ORDER BY geom <-> st_setsrid ( st_makepoint (717185 ,4251205) ,25830) ASC4 LIMIT 100; Query 23: Despachos m´s pr´ximos a las cafeter´ a o ıas1 SELECT st_astext ( st_collect ( Estancias . geom ) )2 FROM Cafeterias , Estancias , Usos3 WHERE4 Estancias . coduso = Usos . coduso AND5 Usos . descuso = ’ Despacho ’ AND6 st_intersects (7 ( SELECT ST_Buffer ( ST_Multi ( ST_Collect ( geom ) ) ,100) FROM Cafeterias ) ,8 Estancias . geom ) ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  37. 37. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oReglas geogr´ficas a Reglas y disparadores Las reglas (“rules”) y los disparadores (“triggers”) son m´todos e que permiten automatizar procesos dentro de las bases de datos. Ya hab´is visto alg´n ejemplo de “triggers” cuando hab´is e u e atentado contra la integridad referencial de las tablas. Aparecen mensajes que os informan de que no pod´ borrar un registro, ıais puesto que hab´ registros de otras tablas relacionados con el que ıa intentabais borrar con el DELETE. De un modo similar, estos comportamientos pueden muy utiles para gestionar la informaci´n ´ o geogr´fica. Ahora veremos un ejemplo de trigger y m´s adelante a a utilizaremos una regla para solucionar un ejercicio.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  38. 38. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oReglas geogr´ficas (con un “trigger”) a Query 24: Nadie trabajar´ en... a 1 CREATE OR REPLACE FUNCTION c o m p r u e b a _ s u p e r f i c i e () 2 RETURNS trigger AS 3 $BODY$ 4 BEGIN 5 IF new . codigo 6 IN ( SELECT codigo FROM estancias WHERE st_area ( geometria ) < 6) THEN 7 RAISE EXCEPTION ’ ERROR FATAL . Intentas insertar una persona con NIF % en la estancia %, que tiene una superficie de menos de 6 metros cuadrados . ¿Quieres emparedarlo ? ’ , NEW . persid , NEW . codigo ; 8 END IF ; 9 RETURN NEW ;10 END ;11 $BODY$12 LANGUAGE plpgsql VOLATILE13 COST 100;14 ALTER FUNCTION c o m p r u e b a _ s u p e r f i c i e ()15 OWNER TO pgis ;Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  39. 39. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETGesti´n de espacios de una corporaci´n o oEjercicios libres (b´scate la vida) u 1 Teniendo en cuenta que los costes de la limpieza de la universidad dependen del uso de las estancias y de su superficie. Responde: • ¿Cu´les son 5 los departamentos con mayores necesidades? a • ¿Cuanto cuesta la limpieza de las estancias vac´ de la ıas universidad? • Indica cu´les son los departamentos que m´s “despilfarran”. a a 2 ¿Es cierto que las personas que trabajan cerca de la cafeter´ ıa (XY) hagan m´s horas extra? Prop´n una idea de c´mo a o o comprobarlo. 3 La universidad necesita mantener un registro de todas las personas que ya no trabajan all´ S´ que ser´ dif´ pero debes ı. e a ıcil dimitir ;-)Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  40. 40. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETSoluci´n experta a la gesti´n de infraestructuras o oGesti´n de espacios en la Universidad de Alicante o ¿Qu´ es SIGUA? e SIGUA es un Sistema de Informaci´n especializado en la gesti´n de o o espacios universitarios basado diferentes est´ndares y tecnolog´ a ıas FOSS. El n´cleo principal SIGUA es una geodatabase montada en u PostgreSQL, que utiliza la extensi´n PostGIS para la gesti´n y o o an´lisis de la informaci´n espacial. a o SIGUA.NET Varias instituciones han mostrado inter´s de tener su propio e SIGUA. Sin embargo, la estructura de las universidades y los datos disponibles pueden variar (cada universidad tendr´ su propio a diagrama ER). SIGUA.NET es una iniciativa para distribuir la estructura b´sica de SIGUA y que cada entidad pueda adaptarla a a sus necesidades.Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  41. 41. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETSoluci´n experta a la gesti´n de infraestructuras o oLa geodatabase de SIGUA SIGUA en cifras • 10 Esquemas. • 67 Tablas. • 104 Vistas. • 1.217 Funciones. • 24 Reglas y disparadores. • 5 Roles. • Backups diarios. • 3 API (SOAP, REST y desktop). • M´s todo lo de PostgreSQL/PostGIS. a Instalador de SIGUA.NET en GitHub https://github.com/labgeo/siguanet-dbdemoLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  42. 42. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETSoluci´n experta a la gesti´n de infraestructuras o oLa geodatabase de SIGUA.NET ¿Qu´ contiene? e SIGUA.NET proporciona lo esencial para tener una base de datos similar a la de SIGUA pero mucho m´s gen´rica y adaptable a la a e gesti´n de espacios de otras organizaciones. Adem´s de la o a estructura de la base de datos tambi´n incluye unos datos de e ejemplo para que el usuario pueda comprobar toda la funcionalidad del esquema p´blico de SIGUA. uLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  43. 43. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETSoluci´n experta a la gesti´n de infraestructuras o oInteligencia detr´s de SIGUA a Ejemplos de reglas La estructura de las bases de datos de SIGUA o la de SIGUA.NET es mucho ma compleja que la del ejemplo que hemos desarrollado en este curso, por lo que permite responder a un n´mero de u preguntas incluso mayor de lo que hemos podido imaginar para nuestro modesto ejemplo. A continuaci´n, podemos ver un par de o ejemplos interesantes de reglas y disparadores existentes en SIGUA: 1 ¿qu´ sucede al ubicar a un empleado en una estancia e demasiado peque˜a o que ya est´ abarrotada? n a 2 ¿qu´ sucede al ubicar a un empleado en una estancia cuyo uso e no es apropiado?Las geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı
  44. 44. Presentaci´n o Geodatabases Mini proyecto SIGUA.NETSoluci´n experta a la gesti´n de infraestructuras o o Gracias por vuestra atenci´n!! oLas geodatabases en el panorama del FOSS GIS Introducci´n y casos de estudio o Benito M. Zaragoz´ ı

×