Todos los productos
Search
Centro de documentos

Simple Log Service:Funciones geoespaciales

Última actualización: Sep 02, 2026

Este tema describe la sintaxis básica y los ejemplos de las funciones geoespaciales.

Conceptos geoespaciales

Las funciones geoespaciales con el prefijo ST_ cumplen con el estándar SQL/MM y la especificación OpenGIS del Open Geospatial Consortium (OGC). Estas funciones utilizan el formato Well-Known Text (WKT) para describir geometrías, como puntos, cadenas de líneas y polígonos. La siguiente tabla enumera las geometrías compatibles y sus formatos WKT.

Geometría

Formato WKT

Punto

POINT (0 0)

Cadena de líneas

LINESTRING (0 0, 1 1, 1 2)

Polígono

POLYGON((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1))

Multipunto

MULTIPOINT(0 0, 1 2)

Multicadena de líneas

MULTILINESTRING((0 0, 1 1, 1 2), (2 3, 3 2, 5 4))

Multipolígono

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

Colección de geometrías

GEOMETRYCOLLECTION(POINT(2 3), LINESTRING(2 3, 3 4))

Funciones

Tipo

Función

Sintaxis

Descripción

SQL

SPL

Constructores

ST_AsText function

ST_AsText(x)

Devuelve la representación Well-Known Text (WKT) de una geometría.

√

×

ST_GeometryFromText function

ST_GeometryFromText(x)

Construye una geometría a partir de una representación WKT.

√

×

ST_LineFromText function

ST_LineFromText(x)

Construye una cadena de líneas a partir de una representación WKT.

√

×

ST_Polygon function

ST_Polygon(x)

Construye un polígono a partir de una representación WKT.

√

×

ST_Point function

ST_Point(x, y)

Construye un punto a partir de las coordenadas X e Y.

√

×

Operadores

ST_Boundary function

ST_Boundary(x)

Devuelve el límite de una geometría.

√

×

ST_Buffer function

ST_Buffer(x, distance)

Devuelve una geometría que incluye todos los puntos dentro de una distancia especificada respecto a la geometría de entrada.

√

×

ST_Difference function

ST_Difference(x, y)

Devuelve la parte de la primera geometría que no interseca con la segunda geometría.

√

×

ST_Envelope function

ST_Envelope(x)

Devuelve el cuadro delimitador de una geometría.

√

×

ST_ExteriorRing function

ST_ExteriorRing(x)

Devuelve una cadena de líneas que representa el anillo exterior de un polígono.

√

×

ST_Intersection function

ST_Intersection(x, y)

Devuelve una geometría que representa la intersección de dos geometrías.

√

×

ST_SymDifference function

ST_SymDifference(x, y)

Devuelve una geometría que representa las partes de las geometrías de entrada que no se intersecan.

√

×

Pruebas de relación espacial

ST_Contains function

ST_Contains(x, y)

Devuelve true si la primera geometría contiene a la segunda. Sus límites pueden intersecarse.

√

×

ST_Crosses function

ST_Crosses(x, y)

Devuelve true si las geometrías se cruzan.

√

×

ST_Disjoint function

ST_Disjoint(x, y)

Devuelve true si las dos geometrías no tienen ningún punto en común.

√

×

ST_Equals function

ST_Equals(x, y)

Devuelve true si las dos geometrías son idénticas.

√

×

ST_Intersects function

ST_Intersects(x, y)

Devuelve true si las dos geometrías se intersecan.

√

×

ST_Overlaps function

ST_Overlaps(x, y)

Devuelve true si dos geometrías se superponen. Las geometrías se superponen si tienen la misma dimensión y su intersección resulta en una geometría de la misma dimensión, pero no son iguales.

√

×

ST_Relate function

ST_Relate(x, y, patternMatrix string)

Devuelve true si las dos geometrías satisfacen el patrón de relación espacial especificado.

√

×

ST_Touches function

ST_Touches(x, y)

Devuelve true si las dos geometrías se tocan en sus límites pero sus interiores no se intersecan.

√

×

ST_Within function

ST_Within(x, y)

Devuelve true si la primera geometría está completamente dentro de la segunda geometría.

√

×

Accesores

ST_Area function

ST_Area(x)

Devuelve el área cartesiana 2D de una geometría.

√

×

ST_Centroid function

ST_Centroid(x)

Devuelve el centroide geométrico de una geometría.

√

×

ST_CoordDim function

ST_CoordDim(x)

Devuelve la dimensión de coordenadas de una geometría.

√

×

ST_Dimension function

ST_Dimension(x)

Devuelve la dimensión inherente de una geometría, la cual debe ser menor o igual a la dimensión de coordenadas.

√

×

ST_Distance function

ST_Distance(x, y)

Devuelve la distancia mínima entre dos geometrías.

√

×

ST_EndPoint function

ST_EndPoint(x)

Devuelve el último punto de una cadena de líneas.

√

×

ST_IsClosed function

ST_IsClosed(x)

Devuelve true si los puntos inicial y final de una cadena de líneas son el mismo.

√

×

ST_IsEmpty function

ST_IsEmpty(x)

Devuelve true si la geometría especificada está vacía.

√

×

ST_IsRing function

ST_IsRing(x)

Devuelve true si una cadena de líneas es cerrada y simple (un anillo).

√

×

ST_Length function

ST_Length(x)

Devuelve la longitud cartesiana 2D de una cadena de líneas. Si la entrada es una multicadena de líneas, devuelve la suma de las longitudes de sus elementos.

√

×

ST_NumPoints function

ST_NumPoints(x)

Devuelve el número de puntos (vértices) en una geometría.

√

×

ST_NumInteriorRing function

ST_NumInteriorRing(x)

Devuelve el número de anillos interiores en un polígono.

√

×

ST_StartPoint function

ST_StartPoint(x)

Devuelve el primer punto de una cadena de líneas.

√

×

ST_X function

ST_X(x)

Devuelve la coordenada X de un punto.

√

×

ST_XMax function

ST_XMax(x)

Devuelve la coordenada X máxima de una geometría.

√

×

ST_XMin function

ST_XMin(x)

Devuelve la coordenada X mínima de una geometría.

√

×

ST_Y function

ST_Y(x)

Devuelve la coordenada Y de un punto.

√

×

ST_YMax function

ST_YMax(x)

Devuelve la coordenada Y máxima de una geometría.

√

×

ST_YMin function

ST_YMin(x)

Devuelve la coordenada Y mínima de una geometría.

√

×

Teselas de Bing

bing_tile function

bing_tile(x, y, zoom_level)

Devuelve una tesela de Bing a partir de las coordenadas X e Y y el nivel de zoom especificados.

√

×

bing_tile(quadKey)

Devuelve una tesela de Bing a partir de la clave de árbol cuaternario especificada.

√

×

bing_tile_at function

bing_tile_at(x, y, zoom_level)

Devuelve una tesela de Bing a partir de la latitud, longitud y nivel de zoom especificados.

√

×

bing_tile_coordinates function

bing_tile_coordinates(x)

Devuelve las coordenadas X e Y de una tesela de Bing.

√

×

bing_tile_polygon function

bing_tile_polygon(x)

Devuelve la representación de polígono de una tesela de Bing.

√

×

bing_tile_quadkey function

bing_tile_quadkey(x)

Devuelve la clave de árbol cuaternario de una tesela de Bing.

√

×

bing_tile_zoom_level function

bing_tile_zoom_level(x)

Devuelve el nivel de zoom de una tesela de Bing.

√

×

Función ST_AsText

Devuelve el WKT de una geometría.

Syntax

ST_AsText(x)

Parameters

Parámetro

Descripción

x

La geometría de entrada.

Return value type

El tipo de valor devuelto es varchar.

Examples

Este ejemplo devuelve el WKT de un punto.

  • Instrucción de consulta

    * | SELECT ST_AsText(ST_Point(1,1))
  • El resultado de la consulta y el análisis es POINT (1 1).

Función ST_GeometryFromText

Construye una geometría a partir de una representación Well-Known Text (WKT).

Syntax

ST_GeometryFromText(x)

Parameters

Parámetro

Descripción

x

El parámetro debe ser de tipo varchar.

Return value type

geometry

Examples

Construya un multipolígono.

  • Instrucción de consulta

    * | SELECT ST_GeometryFromText('multipolygon(((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))')
  • La consulta devuelve MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((50 40, 50 50, 60 50, 60 40, 50 40))).

Función ST_LineFromText

Crea una cadena de líneas a partir de texto WKT.

Syntax

ST_LineFromText(x)

Parameters

Parámetro

Descripción

x

Un valor de tipo varchar.

Return value type

tipo linestring

Examples

Construya una cadena de líneas.

  • Instrucción de consulta

    * | SELECT ST_LineFromText('linestring(10 10,20 20)')
  • Resultados de la consulta: LINESTRING (10 10, 20 20).

Función ST_Polygon

La función ST_Polygon crea un polígono a partir de una representación WKT.

Syntax

ST_Polygon(x)

Parameters

Parámetro

Descripción

x

Debe ser un valor varchar.

Return value type

polygon

Examples

Crea un polígono.

  • Instrucción de consulta y análisis

    * | SELECT ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))')
  • El resultado es POLYGON ((10 10, 20 15, 20 20, 10 20, 10 10)).

Función ST_Point

Construye un punto a partir de las coordenadas X e Y especificadas.

Syntax

ST_Point(x, y)

Parameters

Parámetro

Descripción

x

La coordenada X del punto. El tipo de datos debe ser DOUBLE.

y

La coordenada Y del punto. El tipo de datos debe ser DOUBLE.

Return value type

point

Examples

Construya un punto.

  • Instrucción de consulta

    * | SELECT ST_Point(0,0)
  • El resultado de la consulta está en formato WKT: POINT (0 0)

Función ST_Boundary

La función ST_Boundary devuelve el límite de una geometría.

  • El límite de un punto está vacío. La función devuelve POINT EMPTY.

  • El límite de una cadena de líneas consiste en sus puntos finales.

  • El límite de un polígono consiste en las cadenas de líneas que forman su anillo exterior y todos sus anillos interiores.

Syntax

ST_Boundary(x)

Parameters

Parámetro

Descripción

x

Un valor de tipo geography.

Return value type

Tipo geography

Examples

Utilice la función ST_Polygon para construir un polígono y luego obtenga su límite con la función ST_Boundary.

  • Instrucción de consulta

    * | SELECT  ST_Boundary(ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))'))
  • La consulta devuelve LINESTRING (10 10, 20 15, 20 20, 10 20, 10 10).

Función ST_Buffer

La función ST_Buffer devuelve una geometría que abarca todos los puntos dentro de una distancia especificada respecto a una geometría de entrada.

Syntax

ST_Buffer(x, distance)

Parameters

Parámetro

Descripción

x

La geometría de entrada.

distance

La distancia del búfer.

Return value type

geometry

Examples

Este ejemplo utiliza la función ST_Point para construir un punto y la función ST_Buffer para crear un polígono a una distancia especificada de dicho punto.

  • Instrucción de consulta

    * | SELECT ST_Buffer(ST_Point(1,1),1)
  • La consulta devuelve un valor POLYGON que aproxima un círculo. Este polígono consta de muchos puntos de coordenadas, comenzando con (2 1, 1.9978589232386...).

Función ST_Difference

Devuelve una geometría que representa la diferencia de conjuntos de puntos entre dos geometrías.

Syntax

ST_Difference(x, y)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

y

Un valor de geometría.

Return value type

Un valor de geometría.

Examples

Construya dos geometrías con la función ST_GeometryFromText y luego calcule su diferencia de conjuntos de puntos con la función ST_Difference.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_Difference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,0 15,0 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      ) AS "Difference"
  • La consulta devuelve el siguiente resultado: MULTIPOLYGON (((0 10, 10 10, 10 17.5, 0 15, 0 10)), ((50 40, 60 40, 50 50, 50 40))).

Función ST_Envelope

Devuelve el cuadro delimitador de una geometría.

Syntax

ST_Envelope(x)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

Return value type

geometry

Examples

Este ejemplo crea una geometría con la función ST_GeometryFromText y devuelve su cuadro delimitador mediante la función ST_Envelope.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_Envelope(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • La consulta devuelve POLYGON ((10 10, 60 10, 60 50, 10 50, 10 10)).

Función ST_ExteriorRing

Devuelve el anillo exterior de una geometría como una cadena de líneas.

Syntax

ST_ExteriorRing(x)

Parameters

Parámetro

Descripción

x

La geometría de entrada de tipo polígono o multipolígono.

Return value type

geometry

Examples

Este ejemplo utiliza ST_GeometryFromText para construir una geometría y ST_ExteriorRing para devolver su anillo exterior.

  • Instrucción de consulta

    * |
    SELECT
      ST_ExteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La consulta devuelve LINESTRING (10 10, 10 20, 20 20, 20 15, 10 10).

ST_Intersection

Devuelve la intersección de dos geometrías.

Syntax

ST_Intersection(x, y)

Parameters

Parámetro

Descripción

x

La primera geometría.

y

La segunda geometría.

Return value type

geometry

Examples

Este ejemplo utiliza la función ST_GeometryFromText para construir dos geometrías y la función ST_Intersection para calcular su intersección.

  • Instrucción de consulta

    * |
    SELECT
      ST_Intersection(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • Resultados de la consulta: MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((50 40, 50 50, 60 50, 60 40, 50 40)))

Función ST_SymDifference

Devuelve una geometría que representa la diferencia simétrica de dos geometrías.

Syntax

ST_SymDifference(x, y)

Parameters

Parámetro

Descripción

x

Una geometría.

y

Una geometría.

Return value type

geometry

Examples

Este ejemplo utiliza la función ST_GeometryFromText para construir dos geometrías y la función ST_SymDifference para calcular su diferencia simétrica.

  • Instrucción de consulta

    * |
    SELECT
      ST_SymDifference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La consulta devuelve GEOMETRYCOLLECTION EMPTY.

Función ST_Contains

ST_Contains devuelve true si la primera geometría contiene a la segunda. Ambas geometrías pueden intersectarse en sus límites.

Syntax

ST_Contains(x, y)

Parameters

Parámetro

Descripción

x

La primera geometría de entrada.

y

La segunda geometría de entrada.

Return value type

boolean

Examples

Este ejemplo comprueba si un polígono contiene un punto.

  • Instrucción de consulta

    * |
    SELECT
      ST_Contains(
        ST_GeometryFromText(
          'polygon((10 10,10 20,20 20,20 15,10 10))'
        ),
        ST_GeometryFromText(
          'point(11 11)'
        )
      )
  • La consulta devuelve true.

Función ST_Crosses

La función ST_Crosses devuelve true si dos geometrías tienen puntos interiores en común.

Syntax

ST_Crosses(x, y)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

y

Un valor de geometría.

Return value type

Un valor booleano.

Examples

Este ejemplo utiliza la función ST_GeometryFromText para construir dos geometrías y la función ST_Crosses para determinar si comparten puntos interiores.

  • Instrucción de consulta

    * |
    SELECT
      ST_Crosses(
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 50)))'
        )
      )
  • La consulta devuelve false.

ST_Disjoint

La función ST_Disjoint comprueba si dos geometrías son disjuntas. Devuelve true si las geometrías no se intersectan.

Syntax

ST_Disjoint(x, y)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

y

Un valor de geometría.

Return value type

boolean

Examples

Este ejemplo construye dos geometrías con ST_GeometryFromText y luego utiliza ST_Disjoint para comprobar si se intersectan.

  • Instrucción de consulta

    * |
    SELECT
       ST_Disjoint(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La consulta devuelve false.

Función ST_Equals

La función ST_Equals determina si dos geometrías son idénticas y devuelve true en caso afirmativo.

Syntax

ST_Equals(x, y)

Parameters

Parámetro

Descripción

x

La primera geometría.

y

La segunda geometría.

Return value type

boolean

Examples

Este ejemplo utiliza la función ST_GeometryFromText para construir dos geometrías y la función ST_Equals para comprobar si son idénticas.

  • Instrucción de consulta

    * |
    SELECT
       ST_Equals(
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La consulta devuelve false.

Función ST_Intersects

Devuelve true si las proyecciones planares de dos geometrías se intersectan.

Syntax

ST_Intersects(x, y)

Parameters

Parámetro

Descripción

x

Un valor de tipo geometry.

y

Un valor de tipo geometry.

Return value type

boolean

Examples

Utilice la función ST_GeometryFromText para construir dos geometrías y luego use la función ST_Intersects para comprobar si se intersectan.

  • Consulta de ejemplo

    * |
    SELECT
       ST_Intersects(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • El resultado de la consulta y el análisis es true.

Función ST_Overlaps

La función ST_Overlaps devuelve true si dos geometrías de la misma dimensión se superponen, pero ninguna contiene completamente a la otra.

Syntax

ST_Overlaps(x, y)

Parameters

Parámetro

Descripción

x

La primera geometría de entrada.

y

La segunda geometría de entrada.

Return value type

boolean

Examples

Este ejemplo construye dos geometrías mediante la función ST_GeometryFromText y luego comprueba si se superponen utilizando la función ST_Overlaps.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_Overlaps(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La consulta devuelve false.

Función ST_Relate

La función ST_Relate determina si dos geometrías están relacionadas al comprobar si sus interiores o límites se intersectan. Devuelve true en caso afirmativo.

Syntax

ST_Relate(x, y, patternMatrix string)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

y

Un valor de geometría.

patternMatrix string

Una cadena de matriz de patrones DE-9IM. El valor es de tipo varchar.

Return value type

boolean

Examples

Este ejemplo construye dos geometrías con la función ST_GeometryFromText y luego utiliza la función ST_Relate para comprobar si están relacionadas espacialmente.

  • Instrucción de consulta

    * |
    SELECT
      ST_Relate(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),  '****T****'
      )
  • La consulta devuelve true.

Función ST_Touches

La función ST_Touches devuelve true si dos geometrías se tocan en sus límites, pero sus interiores no se intersectan.

Syntax

ST_Touches(x, y)

Parameters

Parámetro

Descripción

x

La primera geometría.

y

La segunda geometría.

Return value type

Devuelve un valor boolean.

Examples

A continuación, se muestra una consulta que utiliza la función ST_GeometryFromText para crear dos geometrías y la función ST_Touches para comprobar si se tocan.

  • Instrucción de consulta

    * |
    SELECT
       ST_Touches(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La consulta devuelve false.

Función ST_Within

La función ST_Within devuelve true si la primera geometría está completamente dentro de la segunda y sus límites no se intersectan.

Syntax

ST_Within(x, y)

Parameters

Parámetro

Descripción

x

La primera geometría de entrada.

y

La segunda geometría de entrada.

Return value type

boolean

Examples

Este ejemplo construye dos geometrías mediante la función ST_GeometryFromText y luego utiliza la función ST_Within para determinar si la primera geometría está completamente dentro de la segunda.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_Within(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La consulta devuelve false.

Función ST_Area

La función ST_Area calcula el área proyectada de una geometría sobre un plano bidimensional mediante la distancia euclidiana.

Syntax

ST_Area(x)

Parameters

Parámetro

Descripción

x

La geometría de entrada.

Return value type

double

Examples

Este ejemplo calcula el área de un multipolígono.

  • Instrucción de consulta

    * |
    SELECT
      ST_Area(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Devuelve -25.0.

Función ST_Centroid

La función ST_Centroid devuelve el centroide matemático de una geometría de entrada como un punto.

Syntax

ST_Centroid(x)

Parameters

Parámetro

Descripción

x

La geometría de entrada.

Return value type

geometry

Examples

Este ejemplo calcula el centroide de una geometría de tipo multipolígono.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_Centroid(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La instrucción devuelve POINT (176.66666666666669 131.66666666666669).

Función ST_CoordDim

La función ST_CoordDim devuelve la dimensión de coordenadas de una geometría.

Syntax

ST_CoordDim(x)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

Return value type

bigint

Examples

Utilice la función ST_GeometryFromText para construir una geometría y luego use la función ST_CoordDim para obtener su dimensión de coordenadas.

  • Instrucción de consulta

    * |
    SELECT
      ST_CoordDim(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La consulta devuelve 2.

Función ST_Dimension

Devuelve la dimensión intrínseca de una geometría, la cual no puede exceder la dimensión de coordenadas.

Syntax

ST_Dimension(x)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

  • Si x es un punto o una geometría vacía, la función devuelve 0.

  • Si x es una cadena de líneas, la función devuelve 1.

  • Si x es un polígono, la función devuelve 2.

  • Si x es una colección de geometrías, la función devuelve la dimensión máxima de las geometrías en la colección.

Return value type

bigint

Examples

Este ejemplo utiliza ST_Dimension para encontrar la dimensión intrínseca de una geometría creada por ST_GeometryFromText.

  • Instrucción de consulta

    * |
    SELECT
      ST_Dimension(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La consulta devuelve 2.

Función ST_Distance

Devuelve la distancia mínima entre dos geometrías.

Syntax

ST_Distance(x, y)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

y

Un valor de geometría.

Return value type

double

Examples

Este ejemplo utiliza la función ST_GeometryFromText para crear dos geometrías y la función ST_Distance para calcular la distancia mínima entre ellas.

  • Instrucción de consulta

    * |
    SELECT
      ST_Distance(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • El resultado de la consulta es 0.0.

Función ST_EndPoint

ST_EndPoint devuelve el último punto de una cadena de líneas.

Syntax

ST_EndPoint(x)

Parameters

Parámetro

Descripción

x

Un valor de tipo geometry.

Return value type

Un valor de tipo point.

Examples

Construya una cadena de líneas con ST_LineFromText y luego utilice ST_EndPoint para devolver el último punto.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_EndPoint(
        ST_LineFromText(
          'linestring (10 10,20 20)'
        )
      )
  • Devuelve POINT (20 20).

ST_IsClosed

La función ST_IsClosed devuelve true si una geometría está cerrada.

Syntax

ST_IsClosed(x)

Parameters

Parámetro

Descripción

x

La geometría a comprobar.

Return value type

Un valor booleano.

Examples

Este ejemplo utiliza ST_LineFromText para construir una cadena de líneas y ST_IsClosed para comprobar si dicha cadena está cerrada.

  • Instrucción de consulta

    * |
    SELECT
      ST_IsClosed(
        ST_LineFromText(
          'linestring (10.05 10.28 , 20.95 20.89 )'
        )
      )
  • Resultado de la consulta: false

Función ST_IsEmpty

La función ST_IsEmpty devuelve true si la geometría de entrada está vacía.

Syntax

ST_IsEmpty(x)

Parameters

Parámetro

Descripción

x

La entrada debe ser un valor de tipo geometry.

Return value type

Un valor booleano.

Examples

Utilice la función ST_Point para crear un punto y luego emplee la función ST_IsEmpty para comprobar si está vacío.

  • Instrucción de consulta

    * | SELECT ST_IsEmpty(ST_Point(1,1))
  • Los resultados de la consulta y el análisis son false.

Función ST_IsRing

La función ST_IsRing devuelve true si la geometría de entrada es un anillo (una cadena de líneas cerrada y simple).

Syntax

ST_IsRing(x)

Parameters

Parámetro

Descripción

x

El parámetro debe ser de tipo geometry.

Return value type

Boolean

Examples

En este ejemplo se construye una cadena de líneas con ST_LineFromText y después se verifica si es un anillo mediante ST_IsRing.

  • Instrucción de consulta

    * |
    SELECT
      ST_IsRing(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89 )'
        )
      )
  • La consulta devuelve false.

Función ST_Length

La función ST_Length calcula la longitud proyectada en 2D de una cadena de líneas mediante distancia euclidiana. Para una multilínea, devuelve la suma de las longitudes de las cadenas de líneas que la componen.

Syntax

ST_Length(x)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

Return value type

Un valor double.

Examples

Use ST_LineFromText para construir una cadena de líneas y ST_Length para calcular su longitud.

  • Instrucción de consulta

    * |
    SELECT
      ST_Length(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89)'
        )
      )
  • La consulta devuelve 15.211249126879752.

Función ST_NumPoints

Devuelve el número de puntos en una geometría.

Syntax

ST_NumPoints(x)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

Return value type

bigint

Examples

En este ejemplo primero se construye una cadena de líneas con la función ST_LineFromText y luego se usa la función ST_NumPoints para obtener el número de puntos que contiene.

  • Instrucción de consulta

    * |
    SELECT
      ST_NumPoints(
        ST_LineFromText('linestring (10 10,20 20)')
      )
  • Resultado de la consulta: 2

Función ST_NumInteriorRing

Devuelve el número de anillos interiores en una geometría.

Syntax

ST_NumInteriorRing(x)

Parameters

Parámetro

Descripción

x

Un objeto de geometría.

Return value type

Un valor bigint.

Examples

Este ejemplo utiliza ST_GeometryFromText para construir una geometría y ST_NumInteriorRing para calcular la cantidad de sus anillos interiores.

  • Instrucción de consulta

    * |
    SELECT
      ST_NumInteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La consulta devuelve 1.

Función ST_StartPoint

Devuelve el primer punto de una cadena de líneas.

Syntax

ST_StartPoint(x)

Parameters

Parámetro

Descripción

x

Especifica la cadena de líneas de entrada.

Return value type

point

Examples

En este ejemplo se crea una cadena de líneas con la función ST_LineFromText y luego se obtiene el primer punto mediante la función ST_StartPoint.

  • Instrucción de consulta

    * |
    SELECT
      ST_StartPoint(
        ST_LineFromText(
          'linestring (10 10,20 20 )'
        )
      )
  • Resultados de la consulta y el análisis: POINT (10 10).

Función ST_X

Devuelve la coordenada X de un punto de entrada.

Syntax

ST_X(x)

Parameters

Parámetro

Descripción

x

El parámetro debe ser un punto.

Return value type

El tipo de retorno es double.

Examples

Este ejemplo usa la función ST_Point para construir un punto y ST_X para obtener su coordenada X.

  • Instrucción de consulta

    * | SELECT ST_X(ST_Point(1,3))
  • La consulta devuelve 1.0.

Función ST_XMax

ST_XMax devuelve la coordenada x máxima de una geometría.

Syntax

ST_XMax(x)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

Return value type

Devuelve un valor double.

Examples

Utilice la función ST_GeometryFromText para construir una geometría y luego use la función ST_XMax para obtener su coordenada x máxima.

  • Instrucción de consulta

    * |
    SELECT
      ST_XMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La consulta devuelve 60.0.

Función ST_XMin

La función ST_XMin devuelve la coordenada x mínima de una geometría.

Syntax

ST_XMin(x)

Parameters

Parámetro

Descripción

x

La geometría de entrada.

Return value type

double

Examples

En este ejemplo se construye una geometría con la función ST_GeometryFromText y luego se utiliza la función ST_XMin para obtener su coordenada x mínima.

  • Instrucción de consulta

    * |
    SELECT
      ST_XMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Resultados de la consulta: 10.0

Función ST_Y

Devuelve la coordenada y de un punto de entrada.

Syntax

ST_Y(x)

Parameters

Parámetro

Descripción

x

Un valor de tipo point.

Return value type

Un valor de tipo double.

Examples

Este ejemplo utiliza la función ST_Point para crear un punto y la función ST_Y para obtener su coordenada y.

  • Instrucción de consulta y análisis

    * | SELECT ST_Y(ST_Point(1,3))
  • Resultados de la consulta y el análisis: 3.0

Función ST_YMax

La función ST_YMax devuelve la coordenada y máxima de una geometría.

Syntax

ST_YMax(x)

Parameters

Parámetro

Descripción

x

Un valor de geometría.

Return value type

double

Examples

En este ejemplo se construye una geometría con la función ST_GeometryFromText y se obtiene su coordenada y máxima mediante la función ST_YMax.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_YMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • El resultado de la consulta y el análisis es 50.0.

Función ST_YMin

Devuelve la coordenada Y mínima de una geometría.

Syntax

ST_YMin(x)

Parameters

Parámetro

Descripción

x

La geometría de entrada.

Return value type

double

Examples

Este ejemplo utiliza la función ST_GeometryFromText para construir una geometría y la función ST_YMin para obtener su coordenada Y mínima.

  • Instrucción de consulta y análisis

    * |
    SELECT
      ST_YMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • El resultado es 10.0.

bing_tile

La función bing_tile crea un mosaico de Bing.

Syntax

  • Crea un mosaico de Bing a partir de una coordenada x, una coordenada y y un nivel de zoom.

    bing_tile(x, y, zoom_level)
  • Crea un mosaico de Bing a partir de una clave quadtree.

    bing_tile(quadKey)

Parameters

Parámetro

Descripción

x

La coordenada x. Debe ser un entero.

y

La coordenada y. Debe ser un entero.

zoom_level

El nivel de zoom. Debe ser un entero entre 1 y 23.

quadKey

La clave quadtree.

Return value type

Devuelve un mosaico de Bing.

Examples

  • Ejemplo 1: Crear un mosaico de Bing a partir de una coordenada x, una coordenada y y un nivel de zoom.

    • Instrucción de consulta

      * | SELECT bing_tile(10, 20, 20)
    • Resultados de la consulta y el análisis: {"x":10,"y":20,"zoom":20}

  • Ejemplo 2: Crear un mosaico de Bing a partir de una clave quadtree.

    • Instrucción de consulta

      * | SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 20)))
    • Resultados de la consulta y el análisis: {"x":10,"y":20,"zoom":20}

Función Bing_tile_at

La función bing_tile_at crea un mosaico de Bing a partir de una latitud, una longitud y un nivel de zoom.

Syntax

bing_tile_at(x, y, zoom_level)

Parameters

Parámetro

Descripción

x

La latitud, como un valor double en el rango [-85.05112878, 85.05112878].

y

La longitud, como un valor double en el rango [-180, 180].

zoom_level

El nivel de zoom, como un entero entre 1 y 23.

Return value type

Un objeto BingTile.

Examples

En este ejemplo se crea un mosaico de Bing.

  • Consulta

    * | SELECT bing_tile_at(47.265511, -122.465691, 12)
  • La consulta devuelve {"x":654,"y":1436,"zoom":12}.

Función bing_tile_coordinates

Devuelve las coordenadas X e Y de un mosaico de Bing especificado.

Syntax

bing_tile_coordinates(x)

Parameters

Parámetro

Descripción

x

Un valor BingTile.

Return value type

Devuelve un arreglo de dos enteros: [X, Y].

Examples

En este ejemplo se obtienen las coordenadas de un mosaico de Bing específico.

  • Instrucción de consulta

    * | SELECT bing_tile_coordinates(bing_tile_at(47.265511, -122.465691, 12))
  • Resultado: [654,1436].

bing_tile_polygon

Devuelve la representación de polígono de un mosaico de Bing.

Syntax

bing_tile_polygon(x)

Parameters

Parámetro

Descripción

x

Un valor BingTile.

Return value type

polygon

Examples

Devuelve la representación de polígono de un mosaico de Bing.

  • Instrucción de consulta

    * | SELECT bing_tile_polygon(bing_tile_at(30.26, 120.19, 12))
  • Resultado de la consulta: POLYGON ((120.146484375 30.297017883372042, 120.146484375 30.221101852485987, 120.234375 30.221101852485987, 120.234375 30.297017883372042, 120.146484375 30.297017883372042))

Bing_tile_quadkey

La función bing_tile_quadkey devuelve la clave quadtree de un mosaico de Bing.

Syntax

bing_tile_quadkey(x)

Parameters

Parámetro

Descripción

x

Un valor BingTile.

Return value type

varchar

Examples

En este ejemplo se convierte un mosaico en las coordenadas (10, 20) con nivel de zoom 20 a su clave quadtree correspondiente.

  • Instrucción de consulta

    * | SELECT bing_tile_quadkey(bing_tile(10, 20, 20))
  • La consulta devuelve la clave quadtree 000000000000021210.

Función bing_tile_zoom_level

Devuelve el nivel de zoom de un mosaico de Bing.

Syntax

bing_tile_zoom_level(x)

Parameters

Parámetro

Descripción

x

Un objeto BingTile.

Return value type

double

Examples

A continuación se muestra un ejemplo que calcula el nivel de zoom de un mosaico de Bing específico.

  • Instrucción de consulta

    * | SELECT bing_tile_zoom_level(bing_tile(10, 20, 20))
  • Resultado de la consulta: 20.