1 votos

st_intersects of zero area polygon and point devuelve false

Tengo las siguientes tres geometrías:

PT: Point(0 0)

LINE: LineString(0 0, 0 10)

POLY: Polygon((0 0, 0 0, 0 0, 0 0))

Llamando a st_intersects en LINE y POLY devuelve true (como si POLY describiera Point(0 0)). Pero al llamar a st_intersects en PT y POLY devuelve falso. Podría ver que POLY se considera una geometría errónea por lo que false podría ser la respuesta correcta pero esperaría que st_intersects(PT,POLY) == st_intersects(LINE,POLY)

1voto

Billie Puntos 198

Como ha señalado Vince más arriba, el polígono

POLY: Polígono((0 0, 0 0, 0 0, 0 0))

no es válido (st_isvalid(POLY) devuelve false). Como el polígono no es válido el comportamiento es indefinido por lo que cualquier respuesta es igualmente válida.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X