Guía de las sesiones 3 y 4
Los scripts datos-espaciales-postgis.sql y datos-espaciales-oracle.sql de esta misma carpeta cargan el municipio y traen todos los ejemplos. Conviene trabajar con las dos herramientas abiertas lado a lado.
Sesión 3: crear e insertar
Sesión 4: consultar, medir y modificar
&srid, que vale 9377 si la base lo tiene o 3116 si no (lo decide el script solo).Tipos de geometría
Los tres motores siguen el modelo de Simple Features de la OGC, con nombres distintos. Toque cada tipo.
Sistema de referencia (SRID)
Una coordenada sin su sistema de referencia no significa nada. El SRID es el número que dice en qué sistema están las coordenadas. El Hospital San Rafael del municipio, en cuatro sistemas distintos:
| SRID | X | Y | Unidad | Uso |
|---|---|---|---|---|
| 9377 · MAGNA-SIRGAS 2018 Origen Nacional | 4884600 | 2096250 | metros | Proyección oficial única de Colombia. La del curso. |
| 3116 · MAGNA-SIRGAS Bogotá | 1004031.35 | 1030309.92 | metros | Proyección con origen en Bogotá, usada en datos de la región. |
| 4326 · WGS84 | -74.041163 | 4.870294 | grados | GPS, Google Maps, GeoJSON. X es longitud y Y es latitud. |
| 3857 · Web Mercator | -8242224.60 | 542812.76 | metros "falsos" | Mapas base web. Deforma las distancias: no sirve para medir. |
Un sistema geográfico usa grados sobre el elipsoide; uno proyectado aplana la Tierra y usa metros. Para medir áreas y distancias se trabaja en un sistema proyectado.
PostGIS rechaza comparar geometrías de SRID distintos. Oracle transforma o da error según la función. ArcGIS reproyecta al vuelo al dibujar, pero los geoprocesos pueden dar resultados raros.
Distancia por debajo de la cual dos puntos se consideran el mismo. Oracle la pide en cada función (en el curso 0.005 m). ArcGIS la define en la geodatabase. PostGIS trabaja con precisión exacta.
¿Cómo se guarda por dentro?
PostGIS
geometry, guardado en binario (EWKB). El Colegio IE Técnico Central se ve así si se consulta sin convertir:0101000020A124000000000080DFA152410000000016FC3F41Los bytes
A1240000 son el SRID 9377 y los dos últimos bloques de 8 bytes son X y Y.Oracle Spatial
SDO_GEOMETRY con cinco atributos legibles: tipo, SRID, punto, información de elementos y arreglo de ordenadas. Su anatomía se ve en la pestaña Crear e insertar.ArcGIS (Geodatabase)
Shape con la geometría en formato Esri. En una geodatabase empresarial sobre Oracle se guarda como SDE.ST_GEOMETRY o como SDO_GEOMETRY; sobre PostgreSQL, como sde.st_geometry o como geometry de PostGIS.Laboratorio de geometrías
Dibuje haciendo clic en la cuadrícula (cada cuadro son 50 m) o escriba un WKT. A la derecha verá la misma geometría escrita para cada motor, con sus medidas.
El municipio cargado por los scripts
Es lo que queda en la base después de ejecutar la Parte A. Toque cualquier objeto para ver sus datos, su geometría y cómo se insertó.
San Isidro de la Sabana
6 barrios, 5 vías, 2 corrientes de agua, 8 colegios, 3 centros de salud, 3 parques y 2 zonas de riesgo.
La cuadrícula es de 500 m. Las coordenadas reales están en EPSG:9377, alrededor de X = 4.884.000 y Y = 2.096.000.
Anatomía de SDO_GEOMETRY
El Parque Principal, tal como se inserta en Oracle. Toque cada línea.
| Tipo (SDO_GTYPE) | Elementos (etype, interpretación) | WKT / PostGIS | ArcGIS |
|---|---|---|---|
| 2001 | SDO_POINT_TYPE, o (1,1,1) | POINT | Point |
| 2002 | (1,2,1) segmentos rectos · (1,2,2) arcos | LINESTRING | Polyline |
| 2003 | (1,1003,1) exterior · (n,2003,1) hueco · (1,1003,3) rectángulo · (1,1003,4) círculo | POLYGON | Polygon |
| 2005 | (1,1,n) n puntos | MULTIPOINT | Multipoint |
| 2006 | una tripleta (o,2,1) por línea | MULTILINESTRING | Polyline de varias partes |
| 2007 | una tripleta (o,1003,1) por polígono, más sus huecos | MULTIPOLYGON | Polygon de varias partes |
| 2004 | mezcla de los anteriores | GEOMETRYCOLLECTION | No existe en una feature class |
Crear e insertar en los tres entornos
Consultar y medir
Las mismas preguntas, respondidas en cada motor. En Oracle casi todas las funciones viven en el paquete SDO_GEOM y piden la tolerancia; en PostGIS empiezan por ST_.
Modificar, validar y transformar
Ejercicios
Los enunciados también están al final de cada script (Parte C). Resuélvalos primero en un motor y luego tradúzcalos al otro.