Расчет для расширения гео-ограничительной рамки на х миль - PullRequest
0 голосов
/ 31 августа 2018

Надеясь, что кто-то может помочь мне с расчетом.

Допустим, у меня есть координаты для ограничительной рамки, например, в виде окна просмотра, возвращенного из Google Places API, например,

 "viewport" : {
           "northeast" : {
              "lat" : 37.4238253802915,
              "lng" : -122.0829009197085
           },
           "southwest" : {
              "lat" : 37.4211274197085,
              "lng" : -122.0855988802915
           }
        }

Затем я использую их для возврата результатов фильтрации Elasticsearch по местоположениям в ограничивающей рамке Geo: https://www.elastic.co/guide/en/elasticsearch/reference/5.1/query-dsl-geo-bounding-box-query.html

Это нормально, однако я бы хотел выполнить расчет, чтобы увеличить это окно просмотра, например, на 5 миль, а возвращаемое значение - еще одна ограничительная рамка увеличенного размера.

Полагаю, что диагональную линию, проходящую через окно просмотра, необходимо увеличить на 2,5 мили в каждую сторону, но я не уверен в расчете.

Заранее спасибо.

1 Ответ

0 голосов
/ 01 сентября 2018

Получается, что это можно решить с помощью формул Викенти: (https://en.wikipedia.org/wiki/Vincenty%27s_formulae#Direct_Problem).

Реализация JavaScript на https://www.npmjs.com/package/geodesy для всех, кто заинтересован.

Хвала Vicenty.

...