Funciones del constructor para ST_Geometry
Las funciones del constructor crean una geometría a partir de una descripción de texto conocida o de otro formato de datos, como un binario o shapefiles conocido.
Una geometría puede tener cero o más puntos. Una geometría se considera vacía si tiene cero puntos. El subtipo punto es la única geometría que está restringida a cero o un punto; todos los demás subtipos pueden tener cero o más.
Las siguientes secciones describen la geometría superclase y las geometrías de subclase, e incluyen las funciones que cada una puede construir.
Geometría superclase
No se puede crear una instancia de la superclase ST_Geometry; aunque puede definir una columna como un tipo ST_Geometry, los datos reales insertados se definen como entidades de punto, cadena de línea, polígono, multipunto, cadena de multilínea o multipolígono.
Las siguientes funciones se pueden utilizar para crear una superclase que contenga cualquiera de estos tipos de entidad.
- ST_Geometry
- ST_GeomFromShape (solo PostgreSQL)
- ST_GeomFromText (solo Oracle)
- ST_GeomFromWKB
Subclases
Puede definir una entidad como una subclase específica, en cuyo caso sólo el tipo de entidad permitido para esa subclase se pueden insertar. Por ejemplo, ST_PointFromWKB sólo puede crear entidades de punto.
ST_Point
Un ST_Point es una geometría de cero dimensión que ocupa una sola ubicación en un espacio de coordenadas. Un ST_Point que tiene un solo valor de coordenada x,y siempre es simple y tiene un límite NULL. ST_Point puede utilizarse para definir entidades, como pozos petroleros, hitos y sitios de recolección de muestras de agua.
Las funciones que crean un punto son las siguientes:
- ST_Point
- ST_PointFromShape (solo PostgreSQL)
- ST_PointFromText (solo Oracle)
- ST_PointFromWKB
ST_MultiPoint
Un ST_MultiPoint es un grupo de ST_Points y, al igual que sus elementos, tiene una dimensión de 0. Un ST_MultiPoint es simple si uno de sus elementos ocupa el mismo espacio de coordenada. El límite de un ST_MultiPoint es NULL. ST_MultiPoints pueden definir cosas como patrones de transmisión aérea e incidentes del brote de una enfermedad.
Las funciones que crean una geometría multipunto son las siguientes:
- ST_MultiPoint
- ST_MPointFromShape (solo PostgreSQL)
- ST_MPointFromText (solo Oracle)
- ST_MPointFromWKB
ST_LineString
Un ST_LineString es un objeto unidimensional almacenado como una secuencia de puntos que define una ruta interpolada lineal. El tipo ST_LineString es simple si no se interseca con el interior. Los extremos (el límite) de un tipo ST_LineString cerrado ocupan el mismo punto en el espacio. Un tipo ST_LineString es un anillo si es cerrado y simple. Al igual que otras propiedades inherentes de ST_Geometry de superclase, ST_LineStrings tiene longitud. ST_LineStrings a menudo se utilizan para definir entidades lineales como carreteras, ríos y líneas de alimentación.
Los extremos normalmente forman el límite de un tipo ST_LineString a menos que éste sea cerrado, en cuyo caso el límite es NULL. El interior de ST_LineString es una ruta conectada que está entre los extremos, a menos que esté cerrada y, en tal caso, el interior es continuo.
Entre las funciones que crean cadenas de líneas se incluyen las siguientes:
- ST_LineString
- ST_LineFromShape (solo PostgreSQL)
- ST_LineFromText (solo Oracle)
- ST_LineFromWKB
- ST_Curve (solo Oracle)
ST_MultiLineString
Un ST_MultiLineString es una colección de ST_LineStrings.
El límite de un ST_MultiLineString son los extremos no intersecados de los elementos de ST_LineString. El límite de un ST_MultiLineString es NULL si todos los extremos de todos los elementos se intersecan. Además de las demás propiedades inherentes de ST_Geometry de superclase, ST_MultiLineStrings tiene longitud. ST_MultiLineStrings se usa para definir entidades lineales no contiguas, como arroyos o redes de carreteras.
Las funciones que construyen multicadenas de líneas son las siguientes:
- ST_MultiLineString
- ST_MLineFromShape (solo PostgreSQL)
- ST_MLineFromText (solo Oracle)
- ST_MLineFromWKB
- ST_MultiCurve (solo Oracle)
ST_Polygon
Un ST_Polygon es una superficie de dos dimensiones almacenada como una secuencia de puntos que define el anillo de delimitación exterior y 0 o más anillos interiores. Los ST_Polygons son siempre simples. Los ST_Polygons definen entidades que tienen una extensión espacial, como parcelas de tierra, cuerpos de agua y áreas de jurisdicción.
En este gráfico se muestran ejemplos de objetos de ST_Polygon: (1) es un ST_Polygon para el cual se define el límite mediante un anillo exterior. (2) es un ST_Polygon con un límite definido por un anillo exterior y dos anillos interiores. El área dentro de los anillos interiores es parte del exterior del ST_Polygon. (3) es un ST_Polygon legal, porque los anillos se intersecan en un punto de tangente único.
La parte exterior y los anillos interiores definen el límite de un tipo ST_Polygon y el espacio cerrado entre los anillos define el interior de ST_Polygon. Los anillos de un tipo ST_Polygon pueden intersecarse en un punto tangente pero nunca cruzarse. Además de las demás propiedades inherentes de la ST_Geometry de superclase, ST_Polygon tiene área.
Entre las funciones que crean polígonos se incluyen las siguientes:
- ST_Polygon
- ST_PolyFromShape (solo PostgreSQL)
- ST_PolyFromText (solo Oracle)
- ST_PolyFromWKB
- ST_Surface (solo Oracle)
ST_MultiPolygon
El límite de un ST_MultiPolygon es la longitud acumulativa del anillo exterior e interior de sus elementos. El interior de un tipo ST_MultiPolygon se define como los interiores acumulados de su elemento ST_Polygons. El límite de los elementos de un tipo ST_MultiPolygon sólo se puede intersecar en un punto tangente. Además de las demás propiedades inherentes de la ST_Geometry de superclase, ST_MultiPolygons tiene área. ST_MultiPolygons define las entidades, tales como un estrato de un bosque o una parcela no contigua de tierra, como una cadena de islas del Pacífico.
Los gráficos a continuación proporcionan ejemplos de ST_MultiPolygon: (1) es ST_MultiPolygon con dos elementos ST_Polygon. El límite se define mediante los dos anillos exteriores y los tres anillos interiores. (2) es un ST_MultiPolygon con dos elementos ST_Polygon. El límite se define mediante los dos anillos exteriores y los dos anillos interiores. Los dos elementos ST_Polygon se intersecan en un punto de tangente.
Las siguientes funciones crean multipolígonos:
- ST_MultiPolygon
- ST_MPolyFromShape (solo PostgreSQL)
- ST_MPolyFromText (solo Oracle)
- ST_MPolyFromWKB
- ST_MultiSurface (solo Oracle)