ST_Crosses всегда false

Ответить
gustator
Интересующийся
Сообщения: 24
Зарегистрирован: 16 июл 2010, 11:27
Репутация: 0

ST_Crosses всегда false

Сообщение gustator »

Какую бы геометрию я ему не подсовывал овтет всегда один -- f. Не понимаю почему :(
gustator
Интересующийся
Сообщения: 24
Зарегистрирован: 16 июл 2010, 11:27
Репутация: 0

Re: ST_Crosses всегда false

Сообщение gustator »

Т.е. пересекаются ли полигоны, или нет -- не важно. Вот, например, делаю в тестовой базе два пересекающихся полигона. Проверяю:

Код: Выделить всё

SELECT ST_Crosses('01030000000100000006000000B88AD7038FE0E03FECF726CF2E6BD93F43A81EB9877DEF3F317AABB5B30CBEBFF38E21548FDCE33FB2346075E778E2BF11E7BD0A37C2D33FE69F499590CCDFBFA708129A1386C23F6DACA98C7E32CCBFB88AD7038FE0E03FECF726CF2E6BD93F', '01030000000100000004000000FCF7E54B38B2CF3F08E5575F408BE83F71DA9E963F15F13F6B43A411DFA3B63FB0C9F44E51B3D13F830446432618DC3FFCF7E54B38B2CF3F08E5575F408BE83F');
Ответ f. Но, при этом ST_Intersects даёт ответ t а если я уберу пересечения, то ST_Intersects даст ответ f

Код: Выделить всё

SELECT ST_Intersects('01030000000100000006000000B88AD7038FE0E03FECF726CF2E6BD93F43A81EB9877DEF3F317AABB5B30CBEBFF38E21548FDCE33FB2346075E778E2BF11E7BD0A37C2D33FE69F499590CCDFBFA708129A1386C23F6DACA98C7E32CCBFB88AD7038FE0E03FECF726CF2E6BD93F', '01030000000100000004000000FCF7E54B38B2CF3F08E5575F408BE83FB61DC5AE0B2BEB3FC9E00D0F408FE53FB0C9F44E51B3D13F830446432618DC3FFCF7E54B38B2CF3F08E5575F408BE83F');
Crosses конечно тоже даст f, но меня это не утешает))
gustator
Интересующийся
Сообщения: 24
Зарегистрирован: 16 июл 2010, 11:27
Репутация: 0

Re: ST_Crosses всегда false

Сообщение gustator »

Ага, видимо что-то я не понял :0)

ST_Overlaps делает то, что я хочу. А что тогда делает ST_Crosses ? )
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: ST_Crosses всегда false

Сообщение Denis Rykov »

Функция ST_Crosses не предназначена для проверки на пересечение полигонов и помимо прочих одним из условий получения True является необходимость того, чтобы размерность результата пересечения была меньше максимальной размерности сравниваемых геометрий.
http://postgis.refractions.net/docs/ST_Crosses.html
Spatial is now, more than ever, just another column- The Geometry Column.
Ответить

Вернуться в «PostGIS/PostgreSQL»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость