Упрощение GeoJSON
Упростите плотные линии и полигоны GeoJSON алгоритмом Дугласа–Пекера с допуском в метрах — часто на 80–95% меньше без заметных изменений.
Упрощение GeoJSON работает полностью в вашем браузере. Ваши геоданные обрабатываются на вашем устройстве и никогда не загружаются.
Открыть просмотрщик GeoJSON
Об инструменте Упрощение GeoJSON
Упрощение GeoJSON применяет алгоритм Рамера–Дугласа–Пекера к каждой LineString, MultiLineString, Polygon и MultiPolygon в ваших данных. Алгоритм сохраняет вершину только в том случае, если её удаление сместило бы форму больше, чем заданный допуск — здесь он задаётся в метрах, а долгота корректно масштабируется по широте, поэтому один и тот же допуск означает одно и то же и в Осло, и в Сингапуре. GPS-треки, записываемые каждую секунду, и границы, оцифрованные с точностью геодезической съёмки, обычно уменьшаются на 80–95% без заметных изменений в масштабе карты. Структура остаётся неповреждённой: кольца остаются замкнутыми, полигоны сохраняют минимум четыре точки, точки и свойства проходят без изменений, а исходный объект никогда не изменяется.
Возможности
- Алгоритм Дугласа–Пекера с ползунком допуска в метрах
- Масштабирование по широте: метры остаются метрами везде
- Поддержка LineString, Polygon и их вариантов Multi*
- Рекурсивный обход FeatureCollection и GeometryCollection
- Кольца остаются замкнутыми и никогда не опускаются ниже допустимого полигона
- Отображение числа точек, процента сокращения и размера в байтах
Как использовать Упрощение GeoJSON
- Вставьте GeoJSON или загрузите пример
- Задайте допуск: 5–20 м для уровня улиц, 100 м и более для стран
- Проверьте статистику сокращения
- Скопируйте упрощённый GeoJSON
Пример
Ввод
GPS running track, 4,812 points, 512 KB
Результат
10 m tolerance → 214 points, 24 KB — 95.6% fewer points
Неотличимо на карте; загружается в двадцать раз быстрее.
Частые ошибки и устранение неполадок
- Упрощённая форма заметно срезает углы. — Допуск слишком велик для вашего масштаба. Уменьшайте его вдвое, пока артефакты не исчезнут — оптимальная точка — это наибольший допуск, при котором результат всё ещё выглядит идентичным.
- Не удалено ни одной точки. — Данные, возможно, уже достаточно грубые относительно заданного допуска. Увеличьте допуск и учтите, что Point никогда не затрагиваются — только у линий и колец есть вершины, которые можно сэкономить.
- Два соседних полигона больше не совпадают точно по границе. — Каждое кольцо упрощается независимо, поэтому общие границы могут немного разойтись. Для строгой топологии используйте топологически осведомлённый конвейер обработки; для слоёв отображения такие зазоры составляют доли пикселя.
Часто задаваемые вопросы
- Как алгоритм Дугласа–Пекера решает, какие точки сохранить?
- Он проводит хорду между концами отрезка, находит вершину, наиболее удалённую от неё, и сохраняет её только в том случае, если расстояние превышает допуск — затем рекурсивно повторяет это для обеих половин. Оставшиеся вершины — это именно те, что формируют линию в вашем масштабе.
- Какой допуск использовать для GPS-треков?
- Потребительский GPS и без того «блуждает» на 3–10 м, поэтому допуск в 10 м в основном убирает шум, а не полезный сигнал. Отображение уровня улицы выдерживает допуск примерно до 20 м; региональные обзоры терпят 100 м и более.
- Не сломает ли упрощение мои полигоны?
- Встроенные защиты предотвращают типичные сбои: замыкающая точка сохраняется, а кольца, которые опустились бы ниже четырёх точек, остаются без изменений. Самопересечение при агрессивном допуске на сильно извилистых формах всё же остаётся возможным — проверяйте визуально результаты сильного сокращения.
- Почему упрощать в метрах, а не в градусах?
- Градус долготы сокращается с ростом широты — 111 км на экваторе, 55 км на 60°с.ш. Допуск в градусах упрощал бы скандинавские данные вдвое сильнее; масштабирование по cos(широта) сохраняет физический смысл допуска.
Связанные инструменты
- GeoJSON Viewer — Проверяйте GeoJSON, смотрите его на карте и читайте сводку по объектам.
- Рамка GeoJSON — bbox, центр, площадь и длина любого GeoJSON в обоих порядках.
- Конвертер GPX в GeoJSON — Конвертируйте GPS-треки, маршруты и путевые точки между GPX и GeoJSON в обе стороны, локально в браузере.
- Конвертер GeoJSON в CSV — Конвертируйте GeoJSON в CSV и обратно: координаты становятся столбцами широты и долготы, локально в браузере.
- Кодировщик polyline — Кодируйте координаты в Google polyline или декодируйте в lat/lng и GeoJSON.
- Конвертер KML в GeoJSON — Конвертируйте KML из Google Earth в GeoJSON и обратно, локально в вашем браузере.
Все инструменты ArrayKit