Как нормализовать координаты для elasticsearch?

Пользователь

от urban_will , в категории: SQL , год назад

Как нормализовать координаты для elasticsearch?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от otha_marks , год назад

@urban_will 

Нормализация координат для использования в Elasticsearch, как правило, означает приведение координат к географической системе координат WGS84, которая является стандартной системой координат для многих географических приложений, в том числе Elasticsearch.


Для нормализации координат, необходимо выполнить следующие шаги:

  1. Определите систему координат, используемую в ваших данных. Если вы не знаете, какая система координат используется, обратитесь к документации поставщика данных.
  2. Преобразуйте координаты в формат WGS84. Для этого можно использовать множество инструментов, включая программное обеспечение геоинформационной системы (ГИС) или онлайн-сервисы, такие как GeoConverter.
  3. Загрузите нормализованные координаты в Elasticsearch, используя соответствующий тип поля. Elasticsearch поддерживает несколько типов поля для географических данных, включая "geo_point" и "geo_shape".


Например, если ваши данные используют систему координат EPSG:3857 (также известную как Web Mercator), вы можете выполнить следующий запрос, чтобы преобразовать координаты в систему координат WGS84:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
POST /my_index/_update_by_query
{
  "script": {
    "source": "ctx._source.location = [params.lon, params.lat]",
    "params": {
      "lat": 52.52,
      "lon": 13.40
    }
  },
  "query": {
    "match_all": {}
  }
}


В этом запросе мы обновляем все документы в индексе "my_index", заменяя координаты в поле "location" на новые координаты, преобразованные в систему координат WGS84.


После того, как вы загрузили нормализованные координаты в Elasticsearch, вы можете использовать их для поиска и анализа географических данных.