unidad_3_(segunda_parte)

57
32 32 Dise Dise ñ ñ o y Planeamiento de la BD de un SIG o y Planeamiento de la BD de un SIG REALIDAD FÍSICA MODELO DEL MUNDO REAL MODELO DE DATOS GEOGRÁFICO BASE DE DATOS GEOGRÁFICA MAPAS / REPORTES Fenómenos: -Propiedades -Conexiones Entidades: -Tipos -Atributos -Relaciones Objetos: -Tipos -Atributos -Relaciones -Geometría Objetos: -Tipos -Atributos -Relaciones -Geometría Símbolos, líneas, texto, etc.

Upload: lobox

Post on 05-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 1/57

32

32

DiseDiseñño y Planeamiento de la BD de un SIGo y Planeamiento de la BD de un SIG

REALIDADFÍSICA

MODELO DELMUNDO REAL

MODELO DE DATOSGEOGRÁFICO

BASE DE DATOS

GEOGRÁFICA

MAPAS / REPORTES

Fenómenos:-Propiedades-Conexiones

Entidades:-Tipos

-Atributos-Relaciones

Objetos:-Tipos-Atributos-Relaciones

-Geometría Objetos:-Tipos-Atributos-Relaciones-Geometría

Símbolos, líneas,texto, etc.

Page 2: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 2/57

33

33

DiseDiseñño y Planeamiento de la BD de un SIGo y Planeamiento de la BD de un SIG

REALIDADFÍSICA

MODELO DELMUNDO REAL

MODELO DE DATOSGEOGRÁFICO

BASE DE DATOS

GEOGRÁFICA

MAPAS / REPORTES

Fenómenos:-Propiedades-Conexiones

Entidades:-Tipos

-Atributos-Relaciones

Objetos:-Tipos-Atributos-Relaciones

-Geometría Objetos:-Tipos-Atributos-Relaciones-Geometría

Símbolos, líneas,texto, etc.

Modelo Conceptual:-Definición de datos y

especificaciones.

-Determinación de

entidades, atributos y

relaciones.

-Por ejemplo: Modelo E-R

Page 3: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 3/57

34

34

DiseDiseñño y Planeamiento de la BD de un SIGo y Planeamiento de la BD de un SIG

REALIDADFÍSICA

MODELO DELMUNDO REAL

MODELO DE DATOSGEOGRÁFICO

BASE DE DATOSGEOGRÁFICA

MAPAS / REPORTES

Fenómenos:-Propiedades-Conexiones

Entidades:-Tipos

-Atributos-Relaciones

Objetos:-Tipos-Atributos-Relaciones

-Geometría Objetos:-Tipos-Atributos-Relaciones-Geometría

Símbolos, líneas,texto, etc.

Modelo Lógico:-Determinación de los

tipos de geometría.

-Definición de las

relaciones.-Especificación de los

atributos de los objetos

-Análisis de posibles

consultas

Page 4: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 4/57

35

35

DiseDiseñño y Planeamiento de la BD de un SIGo y Planeamiento de la BD de un SIG

REALIDADFÍSICA

MODELO DELMUNDO REAL

MODELO DE DATOSGEOGRÁFICO

BASE DE DATOSGEOGRÁFICA

MAPAS / REPORTES

Fenómenos:-Propiedades-Conexiones

Entidades:-Tipos

-Atributos-Relaciones

Objetos:-Tipos-Atributos-Relaciones

-Geometría Objetos:-Tipos-Atributos-Relaciones-Geometría

Símbolos, líneas,texto, etc.

Modelo Físico:-Organización del sistema de

elementos.-Creación de elementos.-Asignar Sistemas de Coordenadas-Definición de asociacionestopológicas.-Definición de relaciones y reglas.

Page 5: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 5/57

36

36

DiseDiseñño y Planeamiento de la BD de un SIGo y Planeamiento de la BD de un SIG

REALIDADFÍSICA

MODELO DELMUNDO REAL

MODELO DE DATOSGEOGRÁFICO

BASE DE DATOSGEOGRÁFICA

MAPAS /REPORTES

Fenómenos:-Propiedades-Conexiones

Entidades:-Tipos

-Atributos-Relaciones

Objetos:-Tipos-Atributos-Relaciones

-Geometría Objetos:-Tipos-Atributos-Relaciones-Geometría

Símbolos, líneas,texto, etc.

Page 6: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 6/57

37

37

ConstrucciConstruccióón de Base de Datos Espaciales:n de Base de Datos Espaciales:PostgreSQLPostgreSQL ++ PostGISPostGIS

Software Libre. (http://postgis.refractions.net/ )Módulo que añade soporte de objetosgeográficos a la BD objeto-relacional

PostgreSQL para su utilización en un GIS.Importante componente para los GIS y losproyectos Open Source con componente

espacial.

Page 7: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 7/57

38

38

PostGISPostGIS

Sigue las especificaciones del Open GeospatialConsortium (OGC) para datos espaciales (SFS:Simple Features Specifications).

Implementa un esquema SQL para el acceso ainformación georreferenciada en una BD espacial.

Page 8: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 8/57

39

39

PostGISPostGIS: Tipos Espaciales Soportados: Tipos Espaciales Soportados

Geometría

ColecciónGeométrica

Multipunto

MultilíneaLínea

Polígono

Punto

Multipolígono

Page 9: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 9/57

40

40

PostGISPostGIS::RepresentaciRepresentacióón de Tipos Espaciales Bn de Tipos Espaciales Báásicossicos

POLYGON(0 0,4 0,4 4,0 4,0 0)Polígono

LINESTRING(0 0,1 1)LINESTRING(0 0,1 1,1 2)

Línea

POINT(0 0)Punto

OpenGIS define dos formas de representar los objetos espaciales:

1. (WKT) Well-known text

2. (WKB) Well-known binary

WKT: formato tipo texto plano que la mayoría de programas SIG pueden entender

Ambas guardan información deltipo de objeto y sus coordenadas.

.

Page 10: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 10/57

41

41

PostGISPostGIS: Representaci: Representacióón de Tipos Espacialesn de Tipos EspacialesCombinadosCombinados

GEOMETRYCOLLECTION(POINT(23),LINESTRING(3 4,4 5)).

Colección

Geométrica

MULTIPOLYGON((0 0,4 0,4 4,0 4,0 0),(11,2 1,2 2,1 2,1 1),(1 -1,-1 -2,-2 -2,-2 -1,-1 -1))

Multipolígono

MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,54))Multilínea

MULTIPOINT(0 0,1 2)Multipunto..

Page 11: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 11/57

42

42

WellWell--knownknown texttext yy WellWell--knownknown binarybinary

OpenGIS define dos formas de representar los objetos espaciales:

1. (WKT)Well-known text

2. (WKB)Well-known binary

WKT: formato tipo texto plano que la mayoría de programas SIG pueden entender

Ambas guardan información deltipo de objeto y sus coordenadas.

Ejemplo: Un valor WKB que corresponde a un POINT(1 1) consiste enesta secuencia de 21 bytes (cada uno representado aquí por dos dígitoshexadecimales): 0101000000000000000000F03F000000000000F03FLa secuencia puede descomponerse en los siguientes componentes:

•Orden de byte: 01•Tipo WKB: 01000000

•X: 000000000000F03F

•Y: 000000000000F03F

Page 12: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 12/57

43

43

PostGISPostGIS: Creaci: Creacióón de Tablasn de Tablas

Una tabla espacial se construye en dos etapas…

Creamos una tabla no espacial en la Base de Datos

Sintaxis:

CREATE TABLE <table_name> (AT1 tipo1, AT2 tipo2)

 Ejemplos:CREATE TABLE CALLES (ID int4, NOMBRE varchar(25))

CREATE TABLE MANZANAS (ID int4, INFO_CATASTRAL

varchar(100))

CALLESNOMBREID

……

……

MANZANASINFO_CATASTRALID

……

……

Page 13: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 13/57

44

44

2. Añadimos una columna (campo) espacial a la tabla usando la

función AddGeometryColumn de OpenGIS.

Sintaxis:

Select AddGeometryColumn(<db_name>,<table_name>,

<column_name>,<srid>,<type>,<dimension>)

PostGISPostGIS: Creaci: Creacióón de Tablasn de Tablas

ID del sistema de referencia espacial

•SRID debe ser un valor entero que referencia a un registro de la

tabla SPATIAL_REF_SYS (puede ser -1 para casos genéricos).•El tipo debe ser una cadena en mayúsculas que indica el tipo degeometría (WKT): “POLYGON”, “MULTILINESTRING”, etc.

Page 14: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 14/57

45

45

Ejemplo de creaciEjemplo de creacióón de campo geomn de campo geoméétricotrico

 Ejemplo:SELECT 

 AddGeometryColumn(‘bd_callejero’,'calles','geom',4326,

'LINESTRING',2)

SELECT 

 AddGeometryColumn(‘bd_callejero’,‘manzanas','geom',

 4326, ‘POLYGON',2)

………

GEOMNOMBREID

CALLES

………

GEOMINFO_CATASTRALID

MANZANAS

Page 15: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 15/57

46

46

Ejemplo de inserciEjemplo de insercióón de datosn de datos

 INSERT INTO CALLES(ID,NOMBRE,GEOM) VALUES

(1,’San Martin’,GeometryFromText(‘LINESTRING(1 1,1 2,1 3)’,4326))

 INSERT INTO MANZANAS(ID,INFO_CATASTRAL,GEOM)VALUES (815,’Info’,GeometryFromText(‘POLYGON(1 1,1 2, 2 2, 2 1, 1 1)’,4326)

LINESTRING(1 1,1 2,1 3)San Martin1

GEOMNOMBREID

CALLES

POLYGON(1 1,1 2, 2 2, 2 1,1 1)Info815

GEOMINFO_CAID

MANZANAS

Page 16: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 16/57

47

47

EliminaciEliminacióón de campo geomn de campo geoméétricotrico

DropGeometryColumn(varchar,varchar,varchar)

Sintaxis:Select

DropGeometryColumn(<nombre_db>,<nombre_Tabla>,

<nombre_columna>)

Elimina una columna geométrica de una tabla espacial.

Ejemplo:Select

 DropGeometryColumn(‘bd_callejero’,’calles’,’geom’)

Page 17: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 17/57

48

48

ÍÍndices en BD Espacialesndices en BD Espaciales

Los índices son utilizados en una base de datosespacial para hacer posible el manejo de grandesconjuntos de datos.

Sin el manejo de índices, cualquier búsqueda

requerirá de un “escaneo secuencial” de cada registroen la base de datos.

Utilizando índices se aumenta la velocidad debúsqueda organizando los datos en una búsqueda enárbol, que puede ser rápidamente atravesado paraencontrar un registro en particular.

Page 18: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 18/57

49

49

ÍÍndices soportados porndices soportados por PostGreSQLPostGreSQL

Los árboles B: cuando se pueden almacenar los datos en un sólo

eje; por ejemplo, números, letras, fechas. Los datos GIS nopueden ser racionales, ordenados a lo largo de un eje (¿cuál esmayor, (0,0) o (0,1) o (1,0)?) el índice en árboles B no es útil.

Los árboles R: rompen los datos en rectángulos y sub-rectángulos y en sub-sub rectángulos, etc. Los índices en árbolesR son utilizados por algunas bases de datos espaciales paraindexar los datos GIS.

Los índices GiST (Generalized Search Trees) rompen los datosen “cosas de un lado”, “cosas que se sobreponen”, “cosas queestán adentro” y pueden ser utilizados en un gran rango de tiposde datos, incluyendo datos GIS. PostGIS utiliza un índice deárboles R implementado sobre un índice GiST para indexar losdatos GIS.

Page 19: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 19/57

50

50

PostGISPostGIS: Utilizaci: Utilizacióónn í í ndicendice GiSTGiST

Cuando construimos una consulta es importante recordarque sólo las operaciones basadas en la caja envolvente(&&) pueden tomar ventaja de los índices espacialesGiST.Funciones como distance() no pueden usar el índice para

optimizar sus operaciones.Por ejemplo la siguiente consulta puede ser algo lenta enuna tabla muy grande:

SELECT the_geom FROM geom_table WHEREdistance(the_geom, GeomFromText( 'POINT(100000

200000)', -1) ) < 100

Page 20: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 20/57

51

51

La consulta será lenta debido a que se está calculando la

distancia de cada punto en la tabla con el especificado, es decirun cálculo de distancia por cada registro en la tabla.

Se puede evitar esto utilizando el operador && para reducir elnúmero de cálculo de distancias requeridos:

SELECT the_geom FROM geom_table WHERE the_geom&& 'BOX3D(90900 190900, 100100 200100)'::box3d AND

distance(the_geom, GeomFromText('POINT(100000 200000)', -1)) < 100

Se genera una “caja de consulta” que evita la evaluación de lasdistancias para TODOS los registros de la tabla.

PostGISPostGIS: Utilizaci: Utilizacióónn í í ndicendice GiSTGiST

Page 21: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 21/57

52

52

La consulta selecciona las mismas geometrías, en una forma máseficiente.Asumiendo que existe un índice GiST en la tabla geom, elplaneador de consultas reconocerá que usando el índicereducirá el número de registros, antes de calcular elresultado de la función de distancia.

Observar que la geometría BOX3D que es utilizada en laoperación && es un rectángulo unitario de 200 unidadescentrado en el punto original "caja de consulta".El operador && utiliza el índice para rápidamente reducir elconjunto de resultados a sólo aquellas geometrías que tienencajas envolventes que traslapen la "caja de consulta".Asumiendo que la caja de consulta es mucho menor en granmedida que las geometrías de la tabla, se reducirá el número dedistancias calculadas necesarias para realizarlo.

PostGISPostGIS: Utilizaci: Utilizacióónn í í ndicendice GiSTGiST

Page 22: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 22/57

53

53

PostGISPostGIS: Creaci: Creacióón den de ÍÍndicesndices

Sintaxis:

CREATE INDEX [nombreindice] ON [nombretabla] USING

GIST ( [campogeométrico] GIST_GEOMETRY_OPS)

 Ejemplo:

CREATE INDEX Index_Calles ON Calles USING GIST (Geom

GIST_GEOMETRY_OPS)

PostGIS utiliza la forma genérica de indexado

denominada GiST (Generalized Search Tree) para acelerarlas consultas.

Page 23: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 23/57

54

54

PostGISPostGIS: Instalaci: Instalacióón sobren sobre PostGreSQLPostGreSQL

Page 24: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 24/57

55

55

PostGISPostGIS: Herramienta de Administraci: Herramienta de Administracióónn

Page 25: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 25/57

56

56

Objetos que se crean en la instalaciObjetos que se crean en la instalacióón den dePostgreSQLPostgreSQL ++ PostGISPostGIS

Por defecto se crean“postgres” y

“template_postgis”, BD consoporte geoespacial

Page 26: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 26/57

57

57

Objetos que se crean en la instalaciObjetos que se crean en la instalacióón den dePostgreSQLPostgreSQL ++ PostGISPostGIS

Instancia de BD espacial quecontiene las funciones,procedimientos, tipos de datos ymás objetos necesarios paramanejar información vectorialgeorreferenciada.

Page 27: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 27/57

58

58

Objetos que se crean en la instalaciObjetos que se crean en la instalacióón den dePostgreSQLPostgreSQL ++ PostGISPostGIS

Contenedores deinformación de una instancia

de la BD. Por defecto se creauno “public” para cada BD

que es creada

Page 28: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 28/57

59

59

Objetos que se crean en la instalaciObjetos que se crean en la instalacióón den dePostgreSQLPostgreSQL ++ PostGISPostGIS

Unidades contenedoras deinformación dentro de un

esquema.

Page 29: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 29/57

60

60

Objetos que se crean en la instalaciObjetos que se crean en la instalacióón den dePostgreSQLPostgreSQL ++ PostGISPostGIS

Tabla con información sobrelas tablas que contienen

alguna columna congeometrías georeferenciadas

Page 30: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 30/57

61

61

Objetos que se crean en la instalaciObjetos que se crean en la instalacióón den dePostgreSQLPostgreSQL ++ PostGISPostGIS

Tabla con información sobre lossistemas de referencia empleados

en la georeferenciación de lasgeometrías

Page 31: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 31/57

62

62

PostGISPostGIS: Tablas de Metadatos: Tablas de Metadatos

SPATIAL_REF_SYS

Contiene un identificador numérico y unadescripción textual de los sistemas de coordenadasespaciales.

GEOMETRY_COLUMNS

Características de las columnas geométricas de laBD.

Page 32: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 32/57

63

63

SPATIAL_REF_SYSSPATIAL_REF_SYS: Definici: Definicióónn

CREATE TABLE SPATIAL_REF_SYS(

SRID INTEGER NOT NULL PRIMARY KEY  ,

 AUTH_NAME VARCHAR(256) ,

 AUTH_SRID INTEGER ,

SRTEXT VARCHAR(2048) ,

PROJ4TEXT VARCHAR(2048)

)

Page 33: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 33/57

64

64

SPATIAL_REF_SYSSPATIAL_REF_SYS: Definici: Definicióónn

PROJ4TEXT: Proj4 es una librería que usa PostGIS paratransformar coordenadas.

AUTH_NAME:El nombre delestándar para

el sistema dereferencia

AUTH_SRID: Elidentificadorsegún el estándar

SRTEXT: Unarepresentaciónwell-known text

para el sistema dereferencia espacial

SRID: Valorentero queidentifica el

sistema dereferenciaespacial

Proj4 es una libreríaque usa PostGISpara transformar

coordenadas

Page 34: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 34/57

65

65

GEOMETRY_COLUMNSGEOMETRY_COLUMNS: Definici: Definicióónn

CREATE TABLE GEOMETRY_COLUMNS

(

F_TABLE_CATALOG VARCHAR(256) NOT NULL ,

F_TABLE_SCHEMA VARCHAR(256) NOT NULL ,

F_TABLE_NAME VARCHAR(256) NOT NULL ,

F_GEOMETRY_COLUMN VARCHAR(256) NOT NULL ,

COORD_DIMENSION  INTEGER NOT NULL ,

SRID INTEGER NOT NULL ,

TYPE VARCHAR(30) NOT NULL

)

Page 35: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 35/57

66

66

GEOMETRY_COLUMNSGEOMETRY_COLUMNS: Definici: Definicióónn

Nombre completo de la tablaque contiene la geometría.

Nombre del campo quecontiene la geometría en latabla en cuestión

ID del Sist. Ref. Espacial usadapor la geometría en dicha tabla.

Dimensión espacial de lacolumna de la geometría.

Tipo del objetoespacial (Punto,

Polígono…)

Page 36: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 36/57

67

67

GEOMETRY_COLUMNSGEOMETRY_COLUMNS: Definici: Definicióónn

F_TABLE_CATALOG, F_TABLE_SCHEMA,

F_TABLE_NAME: Distinguen totalmente la tabla decaracterísticas que contiene la columna geométrica.

F_GEOMETRY_COLUMN: Nombre de la columnageométrica en la tabla.

COORD_DIMENSION: Dimensión espacial de la columna(2D o 3D).

SRID: Es una clave foránea que referencia a la tablaSPATIAL_REF_SYS.

TYPE: Tipo de objeto espacial. POINT, LINESTRING,POLYGON, MULTIPOINT, GEOMETRYCOLLECTION.Para un tipo heterogéneo se utiliza el tipo GEOMETRY.

Page 37: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 37/57

68

68

FuncionesFunciones OpenGISOpenGIS

AsBinary(geometry): Devuelve la geometría pasándola a

formato well-known-binary de OGC, usando la codificaciónendian del servidor donde se ejecuta la base de datos.

Dimension(geometry): Devuelve 2 si la geometría estárepresentada en 2 dimensiones 3 si lo está en 3 dimensiones.

Envelope(geometry): Retorna un POLYGON que representala caja circunscrita de la geometría.

GeometryType(geometry): Retorna el tipo de geometríacomo una cadena WELL-KNOWN TEXT. Por ejemplo:‘LINESTRING', 'POLYGON', 'MULTIPOINT', etc.

Page 38: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 38/57

69

69

FuncionesFunciones OpenGISOpenGIS

X(geometry): Encuentra y devuelve la coordenada X del primerpunto de geometry. Devuelve NULL si no hay puntos.

Y(geometry): Encuentra y devuelve la coordenada Y del primerpunto de geometry. Devuelve NULL si no hay puntos.

Z(geometry): Encuentra y devuelve la coordenada Z del primerpunto de geometry. Devuelve NULL si no hay puntos.

Page 39: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 39/57

70

70

FuncionesFunciones OpenGISOpenGIS

IsClosed(geometry): Devuelve TRUE si punto final = puntoinicial de la geometría.

NumGeometries(geometry): Si ‘geometry’ es unaGEOMETRYCOLLECTION devuelve el número de geometríasque la componen. En caso contrario devuelve NULL.

Distance(geometry,geometry): Devuelve la distanciacartesiana entre dos geometrías.

AsText(geometry): Devuelve una representación textual de una

geometría. Por ejemplo: POLYGON(0 0,0 1,1 1,1 0,0 0).

Page 40: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 40/57

71

71

FuncionesFunciones OpenGISOpenGIS

max_distance(linestring,linestring): Devuelve ladistancia más larga entre dos ‘linestring’.

mem_size(geometry): Retorna el tamaño en bytes

de la geometría.

npoints(geometry): Devuelve el número de puntosen la geometría.

Page 41: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 41/57

72

72

FuncionesFunciones OpenGISOpenGIS

perimeter2d(geometry): Devuelve el perímetro de la

geometría, si esa geometría es un polígono o unmultipolígono.

point_inside_circle(geometry,circle_center_x,circle_center

_y,radius): Devuelve verdadero si la geometría es un punto y

está dentro del círculo.

postgis_version(): Devuelve la versión de las funcionespostgis instaladas en la bases de datos.

summary(geometry): Devuelve un resumen en texto delcontenido de esa geometría.

Page 42: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 42/57

73

73

FuncionesFunciones OpenGISOpenGIS

transform(geometry,integer):Devuelve una nueva geometríacon sus coordenadas transformadas a la SRID dada por el

parámetro integer. SRID debe existir en la tablaSPATIAL_REF_SYS.

translate(geometry,float8,float8,float8): Traslada lageometría a la nueva localización usando los valores pasadoscomo desplazamientos de X,Y,Z.

truly_inside(geometryA,geometryB): Devuelve verdadero sialguna parte de B está dentro de la caja circunscrita de A.

Page 43: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 43/57

74

74

FuncionesFunciones OpenGISOpenGIS

SRID(geometry): Devuelve un número entero que es el

identificador del sistema de referencia espacial de unageometría.

SetSRID(geometry): Establece el valor del SRID de unageometría al entero dado.

GeometryFromText(geometry,integer): Sintaxis:GeometryFromText(<geom>,<SRID>) convierte un objetode la representación textual a un objeto geometría.

GeomFromText(varchar,integer): Igual queGeometryFromText.

Page 44: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 44/57

75

75

FuncionesFunciones OpenGISOpenGIS

EndPoint(geometry): Devuelve un objeto puntoque representa el último punto en la geometría.

StartPoint(geometry): Devuelve un objeto punto

que representa el primer punto en la geometría.Centroid(geometry): Devuelve un punto querepresenta el centroide de la geometría.

Page 45: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 45/57

76

76

PostGISPostGIS: Relaciones Topol: Relaciones Topolóógicasgicas

ContainsInside CoversCovered By Touch

Overlaps

Boundaries Intersect

Overlaps

Boundaries Disjoint

Equal

Disjoint

Se pueden utilizar expresiones SQL simples para determinar

relaciones espaciales y operaciones espaciales.

Page 46: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 46/57

77

77

PostGISPostGIS: Operadores Topol: Operadores Topolóógicosgicos

equals(geometry, geometry) ¿son iguales las

geometrías?disjoint(geometry, geometry) ¿no comparten lasgeometrías un punto común?

intersects(geometry, geometry) ¿intersectan?

touches(geometry, geometry) ¿intersectan susbordes?

contains(geometry, geometry) ¿contiene unageometría completamente a la otra?

relate(geometry, geometry) ¿hay intersecciones entreel interior, bordes o exterior de las geometrías?

Page 47: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 47/57

78

78

PostGISPostGIS: Operadores Topol: Operadores Topolóógicosgicos

overlaps(geometry1, geometry2) ¿presentan una

superposición espacial? (entre elementos del mismotipo)

Page 48: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 48/57

79

79

PostGISPostGIS: Operadores Topol: Operadores Topolóógicosgicos

crosses(geometry1, geometry2) ¿presentan un cruce

espacial?

Page 49: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 49/57

80

80

PostGISPostGIS: Operadores de conjunto: Operadores de conjunto

intersection(geometry,geometry): geometría de puntoscomunes

geomUnion(geometry,geometry): geometría conteniendo todoslos puntos de ambas geometrías.symdifference(geometry,geometry): geometría conteniendo lospuntos distintos entre ambas geometrías.

difference(geometry,geometry): geometría conteniendo lospuntos que están sólo en la primera de las geometrías.

Page 50: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 50/57

81

81

Ejemplo:

Union(P1,P4) Intersection(P1,P4)

Page 51: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 51/57

82

82Difference(P1,P4) Difference(P4,P1)

SymDifference(P1,P4)

Page 52: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 52/57

83

83

PostGISPostGIS: Validaci: Validacióón (verifica si la geometrn (verifica si la geometrí í aaposee autoposee auto--intersecciones)intersecciones)

isSimple(geometry)

PostGISPostGIS: Operaciones con caja envolvente: Operaciones con caja envolventeA&&B: Devuelve verdadero si la caja circunscrita de A se

superpone a la de B

A<&B: Devuelve verdadero si la caja que circunscribe a A

superpone o está a la derecha de la de B.A&>B: Devuelve verdadero si la caja que circunscribe a A

superpone o está a la izquierda de la de B.

PostGISPostGIS: Operadores m: Operadores méétricostricosarea(geometry)

perimeter(geometry)

Page 53: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 53/57

84

84

PostGISPostGIS: Operadores Espaciales: Operadores Espaciales

A<<B: Devuelve verdadero si la caja que circunscribe a A

está estrictamente a la derecha de la de B.A>>B: Devuelve verdadero si la caja que circunscribe a A

está estrictamente a la izquierda de la de B.

A~=B: Es equivalente al operador “igual que”. Compara las2 geometrías característica por característica y si todas

coinciden devuelve verdadero.

A~B: Devuelve verdadero si la caja circunscrita de A está

contendida en la de B.

Page 54: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 54/57

85

85

Page 55: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 55/57

86

86

estacionamiento supermercado

accesosupermercado

patio decomidascines

Predio Wal-Mart

Page 56: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 56/57

87

87

estacionamiento supermercado

accesosupermercado

patio de

comidascines

Predio Wal-Mart

Page 57: Unidad_3_(segunda_parte)

7/31/2019 Unidad_3_(segunda_parte)

http://slidepdf.com/reader/full/unidad3segundaparte 57/57

88

88

Generar una BD y tabla espacial en Postgis para representar elpredio mostrado y resolver las siguientes consultas espaciales:

1- ¿Cuál es el área total del predio?

2- ¿Cuál es el área de intersección del cine con el patiode comidas?3- ¿Cuál es el área total de espacio cubierto?4- ¿Qué áreas intersectan entre sí?

5- ¿Cuál es el perímetro de cada área?6- ¿Cuál es el área descubierta?7- ¿Cuál es el nombre y área de la parte más chica?

8- ¿Cuál es la distancia entre el cine y elsupermercado?9- Borrar la tabla generada para representar el predio.