|
|
|
Пересечение полигонов
|
|||
|---|---|---|---|
|
#18+
Всем привет. Имею таблицу `mar`: id int(11) NOT NULL coordinates geometry NOT NULL Добавляю в таблицу Linestring: INSERT INTO `mar` (`id`, `coordinates`) VALUES ('1', GeomFromText('LineString(0 0,1 1,2 2,3 3,4 4,5 5,6 6)')); Затем пытаюсь проверить на пересечение этой геометрии с полигоном: Polygon((0 3,0 5,2 5,2 3,0 3)) Делаю это следующим образом: SELECT `id` FROM `mar` WHERE Intersects(`coordinates` , GEOMFROMTEXT('Polygon((0 3,0 5,2 5,2 3,0 3))')) = 1 Запрос возвращает ID = 1 Но в реальности эти полигоны не пересекаются. Что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 03:13 |
|
||
|
Пересечение полигонов
|
|||
|---|---|---|---|
|
#18+
visajackЧто я делаю не так?не читаете справку https://dev.mysql.com/doc/refman/5.7/en/spatial-function-reference.html Intersects() (deprecated 5.7.6) Whether MBRs of two geometries intersect ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 06:39 |
|
||
|
Пересечение полигонов
|
|||
|---|---|---|---|
|
#18+
В моём случае код получился такой: SELECT `id` FROM `mar` where st_AsText(st_Intersection(`coordinates`, GEOMFROMTEXT('Polygon((0 3,0 5,2 5,2 3,0 3))'))) is NOT NULL И в указанном Вами SQL Fiddle он работает без проблем. Но на моём рабочем хосте выдает ошибку: #1548 - Cannot load from mysql.proc. The table is probably corrupted Я так понимаю, что не поддерживаются Spatial Function. Как их включить? Обращаться к хостеру? Или в чём может быть проблема? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:44 |
|
||
|
Пересечение полигонов
|
|||
|---|---|---|---|
|
#18+
На другом хосте тоже ошибка, но #1305 - FUNCTION st_AsText does not exist ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:49 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1832089]: |
0ms |
get settings: |
9ms |
get forum list: |
23ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 350ms |

| 0 / 0 |
