Шкафы по границе: функция mysql point-in_polygon приводит к дубликатам, когда точка на границе

StackOverflow https://stackoverflow.com/questions/3122088

  •  30-09-2019
  •  | 
  •  

Вопрос

Я использую MySQL, чтобы вытащить LAT от базы данных и проверять, есть ли они в определенном районе.

Все работает отлично, за исключением случаев, если точка находится на границе между двумя кварталами. Затем точка включена в оба района. Это дублируется. Какой лучший способ обрабатывать очки, которые находятся на границах?

Каждая точка должна считаться только в одном районе - не оба. Кроме того, я не хочу, например, соседство A, чтобы получить все пограничные случаи, но граничащие соседства, соседство B, чтобы получить нулевые случаи.

Представьте, что точка 30.3030, -70.7070 лежит на границе между Ньюпортком и Олдомпорт. К сожалению, точка считается дважды. Он записан как как в OldPort, так и в Ньюпорт.

Тип |. широта |. долгота |. район

small |  30.3030  | -70.7070  | Newport
small |  30.3030  | -70.7070  | Oldport
small |  30.3344  | -70.7274  | Anotherport

Я использую оператор выбора ниже:

SELECT t.type, t.latitude, t.longitude, s.neighborhoods 
  FROM my_type_table t, neighborhood_shapes s
WHERE myWithin(POINTFROMTEXT( CONCAT( 'POINT(', t.latitude, ' ', t.longitude, ')' ) ) , s.neighborhood_polygons )) = 1

my_type_table есть столбцы:

  • Тип (varchar)
  • широта (десятичная)
  • долгота (десятичная)

... и Socorthhood_shapes имеет столбцы:

  • Окрестности (Варечар)
  • Sockethood_Polygons (геометрия)

Я использую функцию Mywithin для проверки, является ли точка в одной окрестности или другой. Вот ссылка на него: Mywithin Функция на MySQL Forum Отказ Функция возвращает 1, когда точка находится в многоугольнике и 0, когда она не в многоугольнике.

Как бы вы решили эту проблему? Любой совет?

Это было полезно?

Решение

Хорошо, я понял это. В некоторых многоугольниках было очень маленькое совпадение. Итак, когда функция провела, она поставила точку в оба района.

Спасибо.

-Laxmidi.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top