Кодировщик / декодировщик polyline

Кодируйте координаты в строку Google polyline или декодируйте её обратно в lat/lng и GeoJSON прямо в вашем браузере. Ваш маршрут остаётся на вашем устройстве.

Вставляемые вами координаты и строки polyline кодируются и декодируются локально в вашем браузере и никогда не загружаются; ничего из введённого вами не хранится на сервере.

Хотите увидеть маршрут на карте? Откройте просмотр координат на карте.

Об инструменте Кодировщик polyline

Этот кодировщик и декодировщик polyline обрабатывает формат Google Encoded Polyline Algorithm Format полностью в вашем браузере. В режиме кодирования вставьте одну пару «lat, lng» на строку — или GeoJSON LineString — и получите компактную закодированную строку, которую возвращают Directions API для маршрута. В режиме декодирования вставьте закодированную polyline и прочитайте обратно список координат плюс готовый к использованию GeoJSON LineString, который можно бросить на карту. Переключатель точности переключает между 5 (по умолчанию в Google Maps) и 6 (используется OSRM, Valhalla и Mapbox), что является обычной причиной, по которой декодированный маршрут оказывается не в том месте. Polyline упаковывают целый путь в короткую ASCII-строку, поэтому это удобно, когда API выдаёт закодированный маршрут, а вам нужны обычные координаты, или наоборот. Всё вычисляется на вашем устройстве, и вставляемый маршрут никогда не загружается.

Возможности

Как использовать Кодировщик polyline

  1. Выберите Encode, чтобы превратить координаты в polyline, или Decode, чтобы развернуть её.
  2. Выберите точность 5 (Google) или 6 (OSRM/Valhalla), чтобы соответствовать источнику данных.
  3. Вставьте координаты (одну «lat, lng» на строку или GeoJSON LineString) либо закодированную polyline.
  4. Прочитайте закодированную строку или список координат и GeoJSON LineString в результатах.
  5. Скопируйте любой вывод для вашей карты, запроса API или файла данных.

Пример

Ввод

38.5, -120.2
40.7, -120.95
43.252, -126.453

Результат

_p~iF~ps|U_ulLnnqC_mqNvxq`@

Канонический маршрут из трёх точек из документации Google, закодированный с точностью 5.

Частые ошибки и устранение неполадок

Часто задаваемые вопросы

Что такое Google encoded polyline?
Это компактная ASCII-кодировка пути из точек широты/долготы, определённая форматом Google Encoded Polyline Algorithm Format. Directions и Roads API возвращают маршруты таким образом, потому что строка гораздо короче полного списка координат, и она декодируется обратно в точные точки.
Использовать точность 5 или 6 для моей polyline?
Используйте 5 для Google Maps и Google Directions API, и 6 для OSRM, Valhalla, GraphHopper и Mapbox. Точность 6 хранит один дополнительный десятичный знак, поэтому строка, закодированная с 6, но декодированная с 5, оказывается примерно в десять раз смещённой — всегда соответствуйте инструменту, создавшему polyline.
Как конвертировать закодированную polyline в GeoJSON?
Переключитесь на Decode, вставьте polyline — и инструмент выводит GeoJSON LineString Feature рядом с обычным списком координат. GeoJSON уже использует порядок [longitude, latitude], поэтому его можно вставить прямо в geojson.io, Leaflet или картографическую библиотеку.
Можно ли закодировать GeoJSON LineString в polyline?
Да. В режиме Encode можно вставить GeoJSON LineString либо Feature или FeatureCollection, оборачивающий его, и инструмент читает его координаты и возвращает закодированную строку. Можно также вставить обычные строки «lat, lng», если у вас нет GeoJSON.
Отправляются ли данные моего маршрута куда-либо при кодировании или декодировании?
Нет. Кодирование и декодирование работают полностью в вашем браузере по стандартному алгоритму, поэтому вставляемые координаты и polyline обрабатываются на вашем устройстве и никогда не загружаются на сервер.

Связанные инструменты

Все инструменты ArrayKit