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.

De SIOSE a PostGIS en cuatro sesiones

4,319 views

Published on

Diapositivas para una clase de SIG y Ordenación del Territorio. Se explora el potencial de PostgreSQL, PostGIS y Xpath para explorar y reclasificar la base de datos del SIOSE.

Published in: Education
  • Muy bueno Benito, lo recomiendo a mis colegas de la universidad porque es un marerial docente de calidad y planteado desde la complicada realidad de tener que adaptar los datos del SIOSE a un proyecto de trabajo real a una escala determinada y a una aplicación temática concreta. Gracias
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

De SIOSE a PostGIS en cuatro sesiones

  1. 1. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı Laboratorio de Geom´atica Instituto Interuniversitario de Geograf´ıa Universidad de Alicante Marzo de 2014 ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  2. 2. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG En los pr´oximos d´ıas ver´eis que... 1 Analista SIG + skills = trabajo (ver indeed.com). 2 No se pueden abarcar todos los “skills” en tan poco tiempo. 3 Hay un nivel por debajo de los SIG y por qu´e merecer´ıa la pena aprender sobre ´el. 4 Existen elementos comunes en los SIG que, si los entend´eis, hacen que os resulte sencillo trabajar con cualquier SIG. 5 Acceder a servicios de IG puede resultar esencial. Por ejemplo, para no tener que clasificar los usos del suelo de un municipio, con vuestros propios medios. 6 Empezar a trabajar con geodatabases y SQL no es nada m´ıstico. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  3. 3. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG Objetivos 1 Adquirir vocabulario b´asico del mundo de las TIG (geodatabase, SGBD, SQL, OGC, est´andares e interoperabilidad, etc). 2 Evaluar el SIOSE como origen de datos para an´alisis SIG. 3 Importar, procesar y consultar informaci´on geogr´afica con PostGIS. 4 Elaborar una reclasificaci´on de los usos del suelo SIOSE que utilizaremos en el proyecto de la asignatura. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  4. 4. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG Knowledge Discovery in Databases (KDD) • Bases de datos enormes • M´ultiples or´ıgenes y formatos • Datos → Informaci´on → Conocimiento → Sabidur´ıa • La IG es m´as compleja ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  5. 5. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG Infraestructuras de Datos Espaciales (IDE) Para analizar distintas posibilidades pod´eis echarle un vistazo a este White Paper de Opengeo.org ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  6. 6. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG Open 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´andar OGC 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. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  7. 7. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG WKT y WKB Well-known text (WKT) WKT es uno de los est´andares OGC m´as conocidos. WKT es un lenguaje de etiquetado para representar geometr´ıas vectoriales, sistemas de referencia espacial y transformaciones. En su versi´on binaria, el well-known binary (WKB) se utiliza para transferir dicha informaci´on r´apidamente entre bases de datos y distintos tipos de 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´actica Crea geometr´ıas en OpenJump y familiar´ızate con el WKT. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  8. 8. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG Open Source Geospatial Foundation (OSGeo) OSGeo apoya, financia y comercializa herramientas FOSS GIS. Adem´as, fomenta el acceso a datos espaciales libres. http://live.osgeo.org/en/index.html/ ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  9. 9. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG Portable GIS De un modo similar a PortableApps, se distribuyen los FOSS GIS m´as populares. Funciona sobre Windows... http://www.archaeogeek.com/blog/2012/09/12/ portable-gis-v3-released/ ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  10. 10. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on El peque˜no gran mundo de las TIG La importancia del SQL. El primer paso ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  11. 11. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Introducci´on a las geodatabases Qu´e es una geodatabase? Definici´on de geodatabase Una geodatabase es una base de datos con tipos especiales para los objetos geom´etricos. Permite almacenar datos geom´etricos y proporciona funciones especiales, ´ındices espaciales y lenguajes de consulta (SQL). Una base de datos espacial es a menudo utilizada como un simple contenedor de almacenamiento para los datos espaciales, pero puede ser mucho m´as que eso. 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. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  12. 12. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Introducci´on a las geodatabases SGBD espaciales vs SIG orientados a la aplicaci´on La relaci´on entre SIG y Sistemas Gestores de Bases de Datos (SGBD) es cada vez m´as cercana y est´a tomando un inter´es creciente. Existen varios motivos que explican dicho inter´es: Ventajas • Reducci´on de la redundancia de datos. • Aumento de la integridad de datos. • Independencia de datos. • Seguridad de los datos. • Mantenimiento eficiente. • Visi´on Corporativa. Inconvenientes • Costes m´as elevados. • Personal adicional. • Aumento del tiempo de desarrollo. • Riesgo centralizado. • Anonimato de los datos. • Racionalidad excesiva. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  13. 13. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Introducci´on a las geodatabases PostgreSQL Qu´e es PostgreSQL? 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´umeros de precisi´on arbitraria, texto de largo ilimitado, direcciones IP, direcciones MAC, arrays, geometr´ıas, etc). • 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). ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  14. 14. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Introducci´on a las geodatabases PostGIS Qu´e es PostGIS? PostGIS es la extensi´on espacial, FOSS y OGC, para el Sistema de Gesti´on de Base de Datos PostgreSQL. PostGIS a˜nade funciones espaciales (distancia, ´area, uni´on, intersecci´on, etc) y tipos de datos espaciales a la base de datos. Esta extensi´on es similar a ESRI ArcSDE, Oracle Spatial, MySQL-spatial, y DB2 Spatial Extender. La versi´on 2.0.0 tiene otras mejoras notables: • 3D support. • Raster/vector support. • SQL/MM topology support. • Tiger geocoder with loader for 2010 Tiger data. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  15. 15. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Introducci´on a las geodatabases PostgreSQL y PostGIS con pgAdmin III Query 1: Hello world!! 1 SELECT version (); 2 -- SELECT postgis_full_version (); 3 -- SELECT * FROM pg_tables WHERE schemaname = ’public ’; ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  16. 16. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Presentaci´on ¿Qu´e es el SIOSE? SIOSE es el Sistema de Informaci´on sobre Ocupaci´on del Suelo de Espa˜na, cuyo objetivo es integrar la informaci´on de las Bases de Datos de coberturas y usos del suelo de las Comunidades Aut´onomas y de la Administraci´on General del Estado (ver Web). Antecedentes • Protocolo firmado entre los Ministerios de Defensa, Fomento y Medio Ambiente para la obtenci´on de coberturas del territorio espa˜nol con im´agenes de sat´elite de alta y media resoluci´on en octubre de 2005 dentro del marco del Plan Nacional de Teledetecci´on (PNT). • CLC1990, CLC2000 y tambi´en CLC2006 • Directiva INSPIRE (2007/2/EC) ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  17. 17. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Objetivos ¿Qu´e pretende el SIOSE? • Evitar las duplicidades. • Reducir costes de producci´on y mantenimiento. • Integrar la informaci´on procedente de las Comunidades Aut´onomas. • Cumplir con los requerimientos de la UE. • Definir metodolog´ıas consensuadas y armonizadas. • Obtener un modelo de datos normalizado (OGC, ISO) orientado a objetos, en lenguaje UML. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  18. 18. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Caracter´ısticas b´asicas Una descripci´on breve • SIG con una ´unica capa de pol´ıgonos. • Escala de Referencia: 1: 25.000. • Sistema Geod´esico de Referencia: ETRS 89. • Proyecci´on UTM: husos 28, 29, 30 y 31. • Unidad m´ınima de superficie a representar, dependiendo de las clases (0,5-2 ha). • Periodicidad de actualizaci´on: 5 a˜nos. • Metadatos estandarizados (NEM, CSG e ISO). • Im´agenes de referencia SPOT5, Landsat5 TM y ortofotos PNOA. • Varios usos, una cobertura (ver documentaci´on). ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  19. 19. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Descarga del SIOSE Desde el CNIG • SIOSE Comunidad Valenciana 2005 • Shapefile + Tabla plana o *.mdb • Descarga libre con usuario y contrase˜na • Link al Centro de Descargas Desde el ICV • SIOSE por municipios 2009 • Shapefile + *.mdb • Descarga libre con usuario y contrase˜na • Link al Terrasit ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  20. 20. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Resolviendo problemas de la vida real (I) La decisi´on cr´ıtica Preferimos trabajar con los usos del suelo SIOSE que ofrece el Terrasit. La cartograf´ıa es m´as reciente (2009) y nos permite descargar solamente la informaci´on que necesitamos. A priori ahorraremos tiempo si trabajamos con la cartograf´ıa de los 6 municipios que nos interesan y no con toda la comunidad valenciana. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  21. 21. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Importando la zona de estudio Podr´ıamos importar datos geom´etricos desde cualquier origen mediante herramientas b´asicas de PostGIS. Al fin y al cabo, todo son INSERTs (SELECT, UPDATE y DELETE). Sin embargo, hay herramientas que nos facilitan esto: shp2pgsql Query 2: Uso de shp2pgsql (I) 1 sudo shp2pgsql -s 25830 /home/benizar/Dropbox/ Curso_Geodatabases_SIOSE / datos_y_practicas / limite_etrs89 / Limite_BUFFER_ETRS89 .shp limite public. siose2postgis | psql -h localhost -d siose2postgis -U postgres ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  22. 22. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Plugin SPIT en QGIS ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  23. 23. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS PostGIS manager en QGIS ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  24. 24. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Importando datos a PostGIS Importando cartograf´ıa del SIOSE Query 3: Uso de shp2pgsql (II) 1 sudo shp2pgsql -s 25830 /home/benizar/Dropbox/ Curso_Geodatabases_SIOSE / datos_y_practicas / SIOSE_terrasit /03014. shp alicante public. siose2postgis | psql -h localhost -d siose2postgis -U postgres Y lo mismo para los otros shapefiles/municipios: • Aspe (03019) • Crevillente (03059) • Hond´on de los Frailes (03078) • Monforte del Cid (03088) • Novelda (03093) ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  25. 25. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Uni´on de varias capas/tablas Query 4: Copia de una tabla 1 CREATE TABLE usos AS(SELECT * FROM alicante); Query 5: A˜nadir los elementos de otra tabla (Alicante + Aspe) 1 INSERT INTO usos ( 2 gid , id_2009_or , id_2009 , 3 code_2009 , 4 sup_ha_200 , 5 est_cambio , est_revisi , 6 aux_char , aux_int , aux_leyend , 7 obs_2009 , 8 codblq , 9 shape_leng , shape_area , geom) SELECT * FROM aspe; Y ahora... + Crevillente + Elche + Hond´on + Monforte + Novelda ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  26. 26. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Tipos de datos y funciones geom´etricas Los pol´ıgonos de usos del suelo podr´ıan cambiar. Entonces, ¿por qu´e almacenar la superficie y el per´ımetro varias veces? Query 6: Uso de una funci´on espacial 1 SELECT id_2009 , geom As wkb , sup_ha_200 as ha_siose , shape_area as m2_siose , st_area(geom) FROM usos; Visto esto, ahora probaremos otras funciones de PostGIS... ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  27. 27. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Resolviendo problemas de la vida real (II) Zas!! Pol´ıgonos duplicados Si leemos el fichero leeme.txt que hay dentro de cada carpeta descargada, veremos que hay un problema. La descarga no ha sido exactamente “por municipio”, sino que hay solapes. ¿C´omo solucionar esto con las herramientas que conoc´eis? ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  28. 28. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Detectar duplicados y filtrar datos Hay muchos modos de localizar los pol´ıgonos repetidos. Entre otras, utilizando operadores de agregaci´on: Query 7: Contar registros repetidos 1 SELECT id_2009 , COUNT (*) TotalCount 2 FROM usos 3 GROUP BY id_2009 4 HAVING COUNT (*) > 1 5 ORDER BY COUNT (*) DESC; Sobran campos innecesarios y debemos eliminar todos los pol´ıgonos duplicados. ¿Ser´a dif´ıcil? Query 8: Obtener la tabla final 1 CREATE TABLE usos2 2 AS (SELECT DISTINCT id_2009 , code_2009 , geom FROM usos); ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  29. 29. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Usos del suelo de la zona de estudio Seguimos teniendo los usos del suelo para los municipios que comparten la zona de estudio (y un poco m´as). Ahora debemos realizar una consulta para limitarnos a la zona de estudio... Query 9: Intersecci´on SIOSE-l´ımite 1 CREATE TABLE usos3 2 AS (SELECT a.id_2009 , a.code_2009 , a.geom 3 FROM usos2 AS a, limite AS b 4 WHERE ST_Intersects (b.geom , a.geom)); ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  30. 30. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Resolviendo problemas de la vida real (III) Zas!! Clasificaci´on poco flexible La clasificaci´on de los usos del suelo (Orientada a Objetos) aplicada por el SIOSE es s´olo v´alida para los pol´ıgonos definidos por el SIOSE. Esto significa que, si modificamos las geometr´ıas/pol´ıgonos del SIOSE, la clasificaci´on de usos en porcentajes ya no ser´a v´alida y necesitaremos revisar todos los pol´ıgonos afectados. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  31. 31. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS ¿Qu´e pol´ıgonos deber´ıamos revisar? Query 10: Pol´ıgonos SIOSE que intersectan con el l´ımite 1 CREATE TABLE usos4 2 AS (SELECT a.id_2009 , a.code_2009 , ST_Intersection (a.geom ,b.geom), 3 4 CASE WHEN ST_Intersects (ST_Boundary(b.geom), a.geom) 5 THEN true 6 ELSE false 7 END AS revisar 8 9 FROM usos3 AS a, limite AS b 10 WHERE ST_Intersects (b.geom , a.geom) 11 12 ORDER BY revisar DESC); ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  32. 32. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Resolviendo problemas de la vida real (IV) Zas!! C´odigos dif´ıciles de interpretar En la documentaci´on del SIOSE en PDF y en las tablas adjuntas (TC SIOSE ATRIBUTOS.dbf y TC SIOSE COBERTURAS.dbf) podemos averiguar c´omo interpretar exactamente los c´odigos de clasificaci´on que utiliza el SIOSE (code 2009) para describir coberturas y usos del suelo. Sin embargo, estos c´odigos mezclan siglas, porcentajes y caracteres especiales en un ´unico campo de texto y esto no es f´acil de utilizar. Adem´as del c´odigo de texto (code 2009) en el Shapefile, el SIOSE proporciona una clasificaci´on m´as completa en un fichero MDB aparte. ¿Habr´a alg´un modo de consultar estos c´odigos para que no se conviertan en una pesadilla? ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  33. 33. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Consultas a la BD El SQL es un lenguaje est´andar de consulta de bases de datos con un gran n´umero de alternativas a la hora de explotar una base de datos. Existen muchos m´etodos y palabras clave para filtrar, ordenar y combinar los datos. Vamos a practicar un poco: Query 11: Ejemplos de operadores 1 SELECT * FROM usos4; 2 -- SELECT * FROM usos4 WHERE id_2009 = ’0349490d-6b0c -40c6 -88cc -cd597dc81a80 ’; 3 -- SELECT * FROM usos4 WHERE st_area(geom) > 10000; 4 -- SELECT * FROM usos4 WHERE code_2009 LIKE ’ %PST %’; 5 -- SELECT DISTINCT code_2009 FROM usos4 WHERE code_2009 LIKE ’ %PST %’; 6 -- SELECT code_2009 , length(code_2009) as longitud FROM usos4 ORDER BY longitud; 7 -- Primera aproximaci´on a trabajar con los c´odigos de usos del suelo 8 -- SELECT code_2009 , regexp_split_to_array (code_2009 , E ’([()_]) ’) FROM usos4; Manejar el c´odigo de clasificaci´on SIOSE como un texto puede ser un dolor de cabeza, por lo que vamos a importar los datos en formato XML que se encuentran en el fichero MDB. ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  34. 34. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Uni´on con los datos provenientes de los *.mdb Existen varios m´etodos predefinidos para importar datos a Postgres. Por ejemplo, podr´ıamos utilizar el comando COPY para importar tablas con formato CSV extra´ıdas de los MDBs que el SIOSE proporciona para cada municipio. No obstante, para ahorrar algo de tiempo os he preparado un backup del resultado de unir todas las MDBs en una sola tabla y eliminar los registros repetidos. Importad el fichero fullmdb.sql. A continuaci´on, pod´eis ver lo sencillo que es realizar un Join como los que hacemos en los SIG de escritorio (shp+tabla con una relaci´on 1:1). Query 12: Join de las dos tablas 1 CREATE TABLE usos5 AS (SELECT a.id_2009 , code_2009 , st_intersection AS geom , revisar , xml_2009 2 FROM usos4 AS a, fullmdb AS b 3 WHERE a.id_2009=b.id_2009); ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  35. 35. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Consultando XMLs almacenados en PostgreSQL Consultar el c´odigo SIOSE a partir de un campo de texto es poco pr´actico, trabajoso y nos puede llevar a cometer errores, pero utilizando el comando Xpath de Postgres todo deber´ıa ser m´as sencillo. Ahorraremos tiempo si no necesitamos “trocear” el c´odigo y tampoco necesitaremos convertir los caracteres alfanum´ericos a n´umeros que podamos comparar. Query 13: Ejemplo b´asico de Xpath 1 SELECT code_2009 , 2 xpath(’/POLIGONO/COBERTURA/COBERTURA/@Desc ’, xml_2009 ::xml) AS Coberturas , 3 xpath(’/POLIGONO/COBERTURA/COBERTURA/@Sup ’, xml_2009 :: xml) AS Superficies 4 FROM usos5 5 WHERE id_2009=’1df01074 -fb60 -40b7 -a021 - c201242d12c6 ’; ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  36. 36. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Consultas espaciales Query 14: Reclasificaci´on del SIOSE con Xpath 1 CREATE TABLE usos6 AS( 2 SELECT *, true AS resid FROM usos5 WHERE usos5.id_2009 IN (SELECT id_2009 FROM usos5 3 WHERE (xpath(’// COBERTURA[@ID ="EDF" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text= ’EDF ’ 4 OR (xpath(’// COBERTURA[@ID ="UCS" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text=’ UCS ’ 5 OR (xpath(’// COBERTURA[@ID ="UEN" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text=’ UEN ’ 6 OR (xpath(’// COBERTURA[@ID ="UDS" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text=’ UDS ’) 7 UNION 8 SELECT *, false AS resid FROM usos5 WHERE usos5.id_2009 NOT IN (SELECT id_2009 FROM usos5 9 WHERE (xpath(’// COBERTURA[@ID ="EDF" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text= ’EDF ’ 10 OR (xpath(’// COBERTURA[@ID ="UCS" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text=’ UCS ’ 11 OR (xpath(’// COBERTURA[@ID ="UEN" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text=’ UEN ’ 12 OR (xpath(’// COBERTURA[@ID ="UDS" and @Sup >20]/ @ID’, xml_2009 ::xml))[1]:: text=’ UDS ’) 13 ORDER BY resid DESC); ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  37. 37. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Y aun queda lo mejor... • Modelo Entidad-Relaci´on • Consultas complejas • Vistas y tablas din´amicas • Automatismos (reglas y disparadores) • Numerosas funciones espaciales • Alta concurrencia y rendimiento ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı
  38. 38. Presentaci´on Geodatabases De SIOSE a PostGIS Consulta y gesti´on Primera aproximaci´on a los skills de PostGIS Gracias por vuestra atenci´on!! ¡¡De SIOSE a PostGIS en 4 sesiones!! Benito M. Zaragoz´ı

×