Lindorm GanosBase admite tipos de datos geométricos basados en el estándar del Open Geospatial Consortium (OGC). Utilice estos tipos para definir columnas espaciales en tablas espacio-temporales, así como para leer y escribir objetos geométricos en formato Well-Known Text (WKT) o Well-Known Binary (WKB).
Jerarquía de tipos
Geometry es el tipo principal abstracto. Todos los valores geométricos pertenecen a uno de sus subtipos concretos, que se dividen en dos categorías:
Tipos atómicos: representan una sola forma: Point, LineString, Polygon.
Tipos de colección: representan un conjunto de formas: MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.
Utilice un subtipo específico al definir una columna espacial. Una columna con tipo Geometry puede almacenar cualquier subtipo; sin embargo, un índice espacio-temporal creado para un subtipo específico no se puede aplicar a una columna Geometry.
Tipos geométricos
|
Tipo |
Descripción |
Casos de uso |
|
Geometry |
Tipo principal abstracto. Almacena cualquier subtipo, pero la indexación espacio-temporal no está disponible para subtipos específicos. Evite usar Geometry como tipo de columna; utilice un subtipo específico. |
— |
|
Point |
Ubicación única identificada por longitud (x) y latitud (y). Los objetos de punto tridimensionales no se pueden utilizar para cálculos; Lindorm GanosBase los convierte a bidimensionales durante el procesamiento. |
Coordenadas GPS de vehículos y barcos |
|
LineString |
Secuencia ordenada de dos o más puntos donde el endpoint de cada segmento de línea es el punto inicial del siguiente segmento. Dos segmentos pueden compartir un vértice. |
Calles, trayectorias de vehículos |
|
Polygon |
Forma cerrada cuyo límite exterior es una línea cerrada (el punto inicial coincide con el endpoint). Requiere como mínimo tres puntos. Puede contener un límite interior (hueco). |
Geocercas, manzanas, divisiones administrativas, rectángulos, círculos |
|
MultiPoint |
Colección de cero o más objetos Point. |
Ubicaciones de taquillas en un parque de diversiones |
|
MultiLineString |
Colección de cero o más objetos LineString. |
Calle compuesta por varios segmentos de línea |
|
MultiPolygon |
Colección de cero o más objetos Polygon. |
Ciudad compuesta por varios condados o distritos |
|
GeometryCollection |
Colección de cero o más objetos geométricos de cualquier tipo. |
Conjuntos de datos con geometrías mixtas |
Elegir un subtipo
|
Si sus datos representan... |
Utilice |
|
Una ubicación única (punto GPS, punto de referencia) |
Point |
|
Una ruta o trayectoria (segmento de carretera, ruta de vehículo) |
LineString |
|
Un área cerrada (límite, región, zona) |
Polygon |
|
Varias ubicaciones discretas |
MultiPoint |
|
Varias rutas |
MultiLineString |
|
Varias áreas |
MultiPolygon |
|
Una mezcla de formas |
GeometryCollection |
Formato WKT
Well-Known Text (WKT) es el formato de texto definido por el OGC para describir objetos geométricos. Para obtener más información, consulte Well-Known Text.
Las cadenas WKT no pueden contener un Spatial Reference IDentifier (SRID).
GanosBase admite WKT para los siguientes tipos: Point, LineString, Polygon, MultiPoint, MultiLineString y MultiPolygon.
Referencia de sintaxis
|
Tipo |
Sintaxis |
|
Point |
|
|
LineString |
|
|
Polygon |
|
|
MultiPoint |
|
|
MultiLineString |
|
|
MultiPolygon |
|
|
GeometryCollection |
|
Ejemplos de WKT
-- Point
POINT(-10.1 3.3)
POINT EMPTY
-- LineString
LINESTRING(3 4, 10 50, 20 25)
LINESTRING EMPTY
-- Polygon: outer boundary only
POLYGON((2 2, 2 8, 8 8, 8 2, 2 2))
-- Polygon: outer boundary + inner boundary (hole)
POLYGON((0.5 0.5, 5 0, 5 5, 0 5, 0.5 0.5), (1.5 1, 4 3, 4 1, 1.5 1))
POLYGON EMPTY
-- MultiPoint
MULTIPOINT(10 40, 40 30, 20 20, 30 10)
-- Equivalent to: POINT(10 40), POINT(40 30), POINT(20 20), POINT(30 10)
-- MultiLineString
MULTILINESTRING((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))
-- Equivalent to: LINESTRING(10 10, 20 20, 10 40) and LINESTRING(40 40, 30 30, 40 20, 30 10)
-- MultiPolygon: two polygons with outer boundary only
MULTIPOLYGON(((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))
-- MultiPolygon: one polygon with outer boundary only + one polygon with outer and inner boundary
MULTIPOLYGON(((40 40, 20 45, 45 30, 40 40)), ((20 35, 10 30, 10 10, 30 5, 45 20, 20 35), (30 20, 20 15, 20 25, 30 20)))
-- GeometryCollection
GEOMETRYCOLLECTION(POINT(40 10), LINESTRING(10 10, 20 20, 10 40), POLYGON((40 40, 20 45, 45 30, 40 40)))
Construir un objeto geométrico desde WKT
Utilice ST_GeomFromText para construir un objeto geométrico a partir de una cadena WKT. Para obtener más información, consulte Geometry constructors.
Construir un objeto geométrico desde coordenadas
Utilice ST_MakePoint para construir un objeto Point a partir de coordenadas, o bien ST_LineFromMultiPoint para construir un LineString a partir de múltiples coordenadas de puntos. Para obtener más información, consulte Geometry constructors.
Formato WKB
Well-Known Binary (WKB) es el formato binario definido por el OGC para describir objetos geométricos. Para obtener más información, consulte Well-Known Binary.
GanosBase admite WKB para los siguientes tipos: Point, LineString, Polygon, MultiPoint, MultiLineString y MultiPolygon.
Los objetos geométricos se generan como cadenas WKB en hexadecimal. El siguiente ejemplo muestra una consulta que devuelve un resultado WKB:
SELECT ST_GeomFromText('POINT(-10.1 3.3)') as p;
Salida:
+--------------------------------+
| p |
+--------------------------------+
| 0020000001000010E6C02433333333 |
| 3333400A666666666666 |
+--------------------------------+
Utilice ST_AsText para generar un objeto geométrico como cadena WKT. Para obtener más información, consulte Output functions.