Почему ширина полилинии, буферизованной с помощью JSTS, зависит от широты?

У меня есть один простой вопрос. Я хотел нарисовать google.maps.Polygon вокруг google.maps.Polyline. Я реализовал это, смешав решения, упомянутые в Как нарисовать многоугольник вокруг полилинии в JavaScript? . Мой вопрос о ширине буфера. Если вы посмотрите на пример в https://coderwall.com/p/zb_zdw/buffered-polyline вы можете видеть, что буфер шире, когда полилиния горизонтальна. Когда линия вертикальная, буфер меньше. Почему это? Это правильно? Пример из моей программы: https://ibb.co/i2m2BF


person Palo Lieskovsky    schedule 05.03.2017    source источник
comment
Привет, такая же проблема / вопрос на моей стороне. Вы нашли ответ / решение? Спасибо   -  person Fausto R.    schedule 19.05.2017
comment
Я перешел на TurfJS turfjs.org/docs/#buffer, который недавно (какая удача) исправил аналогичная проблема в их библиотеке. Он работает просто отлично, а также принимает мили и километры в качестве единиц измерения расстояния.   -  person Fausto R.    schedule 22.05.2017


Ответы (1)


Ширина многоугольника задается в градусах. Из кода:

var distance = 10 / 111.12, // Roughly 10km)

Длина градуса долготы зависит от широты.

person geocodezip    schedule 05.03.2017
comment
Спасибо, теперь это имеет смысл, но, к сожалению, это проблема для меня. Я должен сделать область в 5 миль вокруг полилинии, и это решение не является точным. Знаете ли вы о каком-то решении, которое помогло бы мне? Потому что это означает, что если у вас есть горизонтальная линия, буфер будет в 2 раза больше, чем в вертикальной линии. (90 против 180 градусов) - person Palo Lieskovsky; 05.03.2017
comment
Я реализовал всю свою программу, и все остальные функции работают отлично. Это беспокоит меня, но я не знаю, как я могу изменить это и по-прежнему иметь многоугольник в качестве буфера вокруг полилинии. - person Palo Lieskovsky; 05.03.2017