Упрощение геометрии: уменьшить GeoJSON и shapefile
Уменьшите размер файла, убрав лишние вершины полигонов и линий. Выберите метод и степень упрощения, сравните исходный и упрощённый вид на карте, посмотрите число вершин и изменение площади.
1 Файл
2 Метод
3 Степень упрощения
Файл обрабатывается на вашем устройстве в фоновом обработчике (Web Worker), его содержимое на сервер не отправляется. Тайлы подложки для карты предпросмотра загружаются с серверов Esri и OpenStreetMap; им виден только показанный участок карты.
Похожие инструменты
Зачем упрощать геометрию
Полигоны границ областей, районов или участков часто получают по крупномасштабной съёмке, и вдоль береговой линии вершины идут через каждые несколько метров. Когда весь набор данных помещается на экран, эта детализация не видна, но файл она раздувает. На веб-карте большой GeoJSON сначала скачивается, затем разбирается браузером, и каждая вершина отрисовывается; чем больше вершин, тем дольше открывается страница, медленнее работают сдвиг и масштабирование, а мобильные устройства могут упереться в предел памяти. Упрощение оставляет вершины, которые задают форму, и убирает остальные, чтобы файл соответствовал масштабу показа.
Порядок работы
- Загрузите GeoJSON, shapefile или KML. Для shapefile выберите архив .zip или одновременно файлы .shp, .dbf и .prj.
- Выберите метод и задайте степень упрощения ползунком. В режиме процента задаётся доля сохраняемых вершин, в режиме допуска порог в метрах.
- На карте серая пунктирная линия показывает исходные данные, красная упрощённые. Число вершин, оценка размера файла и изменение площади обновляются при каждой настройке.
- Выберите точность координат и скачайте результат в GeoJSON, TopoJSON или shapefile.
Дуглас-Пейкер или Висвалингам
Метод Дугласа-Пейкера соединяет концы линии и сохраняет самую удалённую от этого отрезка вершину, если её расстояние больше допуска, затем повторяет то же для обеих половин. Допуск здесь просто предельное отклонение в метрах, поэтому результат предсказуем. Метод сохраняет острые углы, но при сильном упрощении формы выглядят угловатыми. Метод Висвалингам-Уайетта оценивает каждую вершину по площади треугольника с соседними вершинами и последовательно удаляет ту, чьё удаление меньше всего меняет площадь. На природных границах, таких как береговые линии и реки, он даёт более плавный и естественный результат, поэтому его часто выбирают для мелкомасштабных тематических карт. Для инженерных данных с прямыми рёбрами, то есть дорог, сетей и участков, обычно лучше подходит Дуглас-Пейкер.
Сохранение топологии
Две соседние области имеют общую границу. Если упрощать каждый полигон отдельно, эта граница перерисовывается дважды с разными вершинами, и между областями появляются узкие щели или наложения. При включённом сохранении топологии инструмент сначала выделяет общие границы в отдельные дуги, упрощает каждую дугу один раз и использует одну и ту же дугу в обоих соседях. Узлы, где сходятся границы, остаются на месте. У отдельно стоящих колец, например небольших островов, сохраняются самые важные вершины, чтобы они оставались хотя бы треугольником.
Точность координат
В географических координатах каждый знак после запятой описывает положение примерно в десять раз точнее: 5 знаков соответствуют примерно 1 метру, 6 знаков около 11 сантиметров. Многие файлы содержат до 15 знаков, что далеко превышает точность любой съёмки и лишь увеличивает файл. Снижение точности заметно уменьшает размер независимо от упрощения. В метрических системах 2 знака соответствуют сантиметрам.
Влияние на точность анализа
Упрощение предназначено для отображения. Длины линий и периметры всегда уменьшаются, потому что изгибы спрямляются. Площадь может меняться в обе стороны: заливы и мысы частично компенсируют друг друга, но у небольших и сильно изрезанных полигонов изменение бывает заметным. Поэтому инструмент показывает изменение общей площади и длины, а также объект, площадь которого изменилась сильнее всего. Официальные расчёты площадей и такие операции, как пересечение, буферизация и привязка точек к полигонам, нужно выполнять по исходным данным, а упрощённую копию использовать только для показа. Упрощение может приводить к пересечению рёбер у некоторых полигонов; инструмент считает такие случаи и предупреждает о них.
Данные и метод
Чтение, построение топологии, упрощение и запись результата выполняются в фоновом обработчике (Web Worker), поэтому страница не зависает на больших файлах. Значимость каждой вершины вычисляется один раз, а ползунок лишь применяет порог к этим значениям. Для географических данных расстояния измеряются в метрах на плоскости Меркатора с масштабом по широте точки. Площади считаются по формуле сферического полигона, длины по расстоянию по дуге большого круга. Топология строится библиотеками topojson-server 3.0.1 и topojson-client 3.1.0 (лицензия ISC); алгоритмы упрощения, проверка корректности и запись shapefile выполняются собственным кодом страницы. Shapefile читается библиотекой shpjs 6.1.0 (MIT), zip-архивы библиотекой JSZip 3.10.1 (MIT), KML библиотекой @tmcw/togeojson 5.8.0 (BSD-2-Clause), а предпросмотр данных в проекции строится с помощью proj4js 2.9.0 (MIT). Подложки принадлежат Esri и участникам OpenStreetMap. Значения Z удаляются, результат двумерный. Используемые библиотеки с открытым исходным кодом и их лицензии: Источники данных.
По вопросам веб-карт, где упрощённые слои подаются в зависимости от масштаба, или автоматизации подготовки данных в крупном проекте можно написать через страницу контактов или посетить сайт Rodosto Teknoloji.
Частые вопросы
Почему после упрощения между соседними полигонами появляются щели?
Если каждый полигон упрощать отдельно, общая граница двух соседей перерисовывается дважды с разными вершинами, и между ними остаются щели и наложения. Параметр сохранения топологии упрощает каждую общую границу один раз и использует одну и ту же линию в обоих полигонах, поэтому границы продолжают совпадать.
Чем отличаются процент и допуск?
Режим процента задаёт долю вершин, сохраняемых во всём наборе данных, и удобен, когда нужен определённый размер файла. Режим допуска использует порог в метрах: для метода Дугласа-Пейкера это наибольшее расстояние удалённой вершины от упрощённой линии, для метода Висвалингам квадратный корень из эффективной площади треугольника.
Можно ли считать площади по упрощённым данным?
Не рекомендуется. Упрощение меняет площадь и особенно длину периметра. Инструмент показывает изменение общей площади и площади отдельных объектов, но официальные расчёты площадей и такие операции, как пересечение и буферизация, следует выполнять по исходным данным. Упрощённые данные предназначены для отображения.
Загружается ли мой файл на сервер?
Нет. Чтение, упрощение и запись результата выполняются в браузере, в фоновом обработчике, содержимое файла ни на какой сервер не отправляется. С серверов Esri и OpenStreetMap загружаются только тайлы подложки для карты предпросмотра.