Геометрические операции по координатам широты и долготы - PullRequest
0 голосов
/ 29 ноября 2018

Мой вопрос, вероятно, является дубликатом, но все ответы, которые я видел до сих пор, не удовлетворяют меня или все еще вызывают у меня сомнения.
У меня есть веб-приложение, которое использует API Карт Google для рисования и сохранения фигур (кружки).и полигоны) в БД SQL Server с типом данных геометрии (где я сохраняю координаты широты / долготы) и SRID = 4326.

Моя цель - определить, содержится ли точка в областииз этих кругов / многоугольников благодаря функции SQL geometry::ST_Intersects().

До сих пор мне говорили, что мой метод не будет работать, потому что я использую геометрию вместо географии.Но к моему удивлению ... после проверки несколькими тестами, она отлично работает с геометрией, и я не могу понять, почему и как?
Может кто-нибудь объяснить мне, почему тип геометрии хорошо работает с операциями на lat /долго, тогда как география будет более подходящей?

1 Ответ

0 голосов
/ 29 ноября 2018

Я публикую в качестве ответа, потому что, поскольку комментарий слишком длинный

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

...