Кодировщик / декодировщик 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 выдаёт закодированный маршрут, а вам нужны обычные координаты, или наоборот. Всё вычисляется на вашем устройстве, и вставляемый маршрут никогда не загружается.
Возможности
- Кодирование списка координат lat/lng в строку Google Encoded Polyline
- Декодирование polyline обратно в координаты и эквивалентный GeoJSON LineString
- Переключение точности 5 (Google Maps) или 6 (OSRM, Valhalla, Mapbox) для обоих направлений
- Принимает «lat, lng» на строку либо GeoJSON LineString / Feature как ввод для кодирования
- Выдаёт GeoJSON LineString, который можно вставить прямо на карту или в geojson.io
- Помечает декодирование с неверной точностью — классическую причину смещения маршрута примерно в 10 раз
- Копирование закодированной строки, списка координат или GeoJSON в один клик
- Загрузка канонического примера, чтобы увидеть формат перед вставкой своего маршрута
Как использовать Кодировщик polyline
- Выберите Encode, чтобы превратить координаты в polyline, или Decode, чтобы развернуть её.
- Выберите точность 5 (Google) или 6 (OSRM/Valhalla), чтобы соответствовать источнику данных.
- Вставьте координаты (одну «lat, lng» на строку или GeoJSON LineString) либо закодированную polyline.
- Прочитайте закодированную строку или список координат и GeoJSON LineString в результатах.
- Скопируйте любой вывод для вашей карты, запроса API или файла данных.
Пример
Ввод
38.5, -120.2
40.7, -120.95
43.252, -126.453
Результат
_p~iF~ps|U_ulLnnqC_mqNvxq`@
Канонический маршрут из трёх точек из документации Google, закодированный с точностью 5.
Частые ошибки и устранение неполадок
- Декодированный маршрут смещён или масштабирован примерно в десять раз слишком далеко. — Точность не совпадает. Google и Google Maps используют 5; OSRM, Valhalla и Mapbox используют 6. Переключите точность в соответствии с тем, что произвело строку.
- Декодированные точки выглядят правдоподобно, но карта рисует линию в море. — Polyline и этот инструмент хранят сначала широту, но позиции GeoJSON — это [longitude, latitude]. Используйте вывод GeoJSON как есть, а не меняйте пары местами сами.
- Декодирование останавливается с сообщением «malformed polyline». — Строка была обрезана или скопирована с лишними символами. Скопируйте всю polyline и уберите любые окружающие кавычки или JSON-экранирование, например удвоенный обратный слэш.
Часто задаваемые вопросы
- Что такое 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 обрабатываются на вашем устройстве и никогда не загружаются на сервер.
Связанные инструменты
- GeoJSON Viewer — Проверяйте GeoJSON, смотрите его на карте и читайте сводку по объектам.
- Конвертер GPX в GeoJSON — Конвертируйте GPS-треки, маршруты и путевые точки между GPX и GeoJSON в обе стороны, локально в браузере.
- Конвертер координат — Конвертация пары lat/long между DD, DMS и DDM в обе стороны.
- Карта по широте и долготе — Отметьте широту и долготу на карте OpenStreetMap или кликните по карте, чтобы считать координаты обратно.
- Конвертер GeoJSON в CSV — Конвертируйте GeoJSON в CSV и обратно: координаты становятся столбцами широты и долготы, локально в браузере.
- Конвертер WKT в GeoJSON — Конвертируйте геометрии WKT (Well-Known Text) в GeoJSON и обратно, локально в браузере.
Все инструменты ArrayKit