La especificación OpenGIS define las siguientes funciones.
Actualmente, MySQL no las implementa de acuerdo a la
especificación. Aquéllas que están implementadas retornan el
mismo resultado que las funciones basadas en MBR
correspondientes. Esto incluye a las funciones de la siguiente
lista, además de Distance()
y
Related()
.
Estas funciones pueden ser implementadas en futuras versiones con soporte completo para análisis espacial, y no sólo soporte basado en MBR.
Estas funciones operan sobre dos valores geométricos
g1
and g2
.
Contains(
g1
,g2
)
Retorna 1 o 0 para indicar si g1
contiene completamente o no a g2
.
Crosses(
g1
,g2
)
Retorna 1 si g1
cruza
espacialmente a g2
. Retorna
NULL
si g1
es un
Polygon
o un
MultiPolygon
, o si
g2
es un Point
o un MultiPoint
. En cualquier otro caso,
retorna 0.
El término cruza espacialmente denota una relación espacial entre dos geometrías dadas que tiene las siguientes propiedades:
Las dos geometrías se interseccionan
La intersección resulta en una geometría que tiene una dimensión que es una unidad menor que la dimensión máxima de las dos geometrías dadas
Su intersección no es igual a ninguna de las dos geometrías dadas.
Disjoint(
g1
,g2
)
Retorna 1 o 0 para indicar si g1
es o no espacialmente disjunto (no intersecciona) con
g2
.
Distance(
g1
,g2
)
Retorna un número de doble precisión que representa la distancia más corta entre los puntos de ambas geometrías.
Equals(
g1
,g2
)
Retorna 1 o 0 para indicar si g1
es o no igual espacialmente a g2
.
Intersects(
g1
,g2
)
Retorna 1 o 0 para indicar si g1
intersecciona espacialmente con
g2
.
Overlaps(
g1
,g2
)
Retorna 1 o 0 para indicar si g1
se superpone espacialmente o no a
g2
. El término
superpone espacialmente se utiliza si
dos geometrías interseccionan y la intersección resultante
es una geometría de las mismas dimensiones pero no igual a
ninguna de las geometrías dadas.
Related(
g1
,g2
,pattern_matrix
)
Retorna 1 o 0 paa indicar si la relación espacial
especificada por pattern_matrix
existe entre g1
y
g2
. Retorna -1 si los argumentos
son NULL
. La matriz de patrones
(pattern_matrix) es una cadena. Su especificación se
explicará aquí si la función llega a ser implementada.
Touches(
g1
,g2
)
Retorna 1 o 0 para indicar si g1
toca espacialmente o no a g2
. Dos
geometrías se tocan espacialmente si
los interiores de las dos geometrías no interseccionan,
pero el límite de una de ellas intersecciona con el límite
o el interior de la otra.
Within(
g1
,g2
)
Retorna 1 o 0 para indicar si g1
está o no espacialmente dentro de
g2
.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.