|
|
|
Проверка принадлежности точки многоугольнику (полигону)
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть таблица (её приложил) в которой каждая запись описывает полигон на карте Yandex Я предполагал, что всё работало корректно, пока не столкнулся с тем, что точка http://joxi.ru/V2VnDVlcdBkp2v по каким то причинам попадает в 3 полигона при выборке http://joxi.ru/YmEVK7OtwGM526 выполняю следующие запросы, результат один http://joxi.ru/YmEVK7OtwGM526 : SELECT ID, UF_AREA FROM price_zone WHERE MBRIntersects(GeomFromText(UF_POLYGON_TXT), GeomFromText('Point(59.93113259726 30.288472785949)')) SELECT ID, UF_AREA FROM price_zone WHERE MBRContains(GeomFromText(UF_POLYGON_TXT), GeomFromText('Point(59.93113259726 30.288472785949)')) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 02:37:57 |
|
||
|
Проверка принадлежности точки многоугольнику (полигону)
|
|||
|---|---|---|---|
|
#18+
возможно кто-то сталкивался с подобным и может подсказать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 02:56:22 |
|
||
|
Проверка принадлежности точки многоугольнику (полигону)
|
|||
|---|---|---|---|
|
#18+
Судя по картинкам - так и должно быть. Вот только фраза "точка попадает в 3 полигона" не применима к используемым функциям. Они не это проверяют. http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mysql-specific.html#function_mbrintersects ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 03:20:03 |
|
||
|
Проверка принадлежности точки многоугольнику (полигону)
|
|||
|---|---|---|---|
|
#18+
miksoft, Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries g1 and g2 intersect. - если я правильно понимаю, то если точка и полигон пересекаются, в моём случае это только одна запись из трёх Returns 1 or 0 to indicate whether the minimum bounding rectangle of g1 contains the minimum bounding rectangle of g2. This tests the opposite relationship as MBRWithin(). - как я понимаю проверяет содержит ли полигон данную точку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 14:34:35 |
|
||
|
Проверка принадлежности точки многоугольнику (полигону)
|
|||
|---|---|---|---|
|
#18+
miksoft, полигонов в таблице на самом деле несколько десятков, а результат запроса возвращает только 3, 2 что рядом с точкой и один в которой входит точка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 16:36:31 |
|
||
|
Проверка принадлежности точки многоугольнику (полигону)
|
|||
|---|---|---|---|
|
#18+
Проверил каждую из функций http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mysql-specific.html , ни одна не даёт желаемый результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 18:55:47 |
|
||
|
Проверка принадлежности точки многоугольнику (полигону)
|
|||
|---|---|---|---|
|
#18+
L0gicamiksoft, Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries g1 and g2 intersect. - если я правильно понимаю, то если точка и полигон пересекаются, в моём случае это только одна запись из трёх Returns 1 or 0 to indicate whether the minimum bounding rectangle of g1 contains the minimum bounding rectangle of g2. This tests the opposite relationship as MBRWithin(). - как я понимаю проверяет содержит ли полигон данную точкуНет, неправильно понимаете. L0gicaПроверил каждую из функций http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mysql-specific.html , ни одна не даёт желаемый результатИ не должна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2015, 20:24:07 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38862709&tid=1833656]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 490ms |

| 0 / 0 |
