Геообработка онлайн: обрезка, объединение и слияние слоёв
Загрузите несколько слоёв и выполните обрезку, объединение полигонов, пересечение, буфер, сетку и другие операции одну за другой. Скачайте результат в Shapefile, GeoJSON, KML или CSV в нужной системе координат.
1 Слои
Загруженные слои
2 Операция
Каждый результат добавляется в список как новый слой и может служить входом для следующей операции.
Данные и конфиденциальность
Файлы обрабатываются в вашем браузере, их содержимое не отправляется ни на какой сервер. Библиотеки обработки загружаются с jsDelivr и cdnjs. Тайлы подложки карты загружаются с серверов Esri и OpenStreetMap, которые видят только отображаемую область карты.
Связанные инструменты
Геообработка в браузере
В большинстве ГИС-проектов повторяются несколько базовых шагов: обрезать данные за пределами участка работ, объединить полигоны с одинаковым атрибутом, собрать слои из разных источников в один файл, найти, где пересекаются два слоя, или построить буферную зону вокруг трассы. Этот инструмент выполняет такие операции над файлами Shapefile, GeoJSON, KML, GPX и CSV без установки настольной ГИС. Каждый результат добавляется в список как новый слой, поэтому его можно выбрать входом для следующей операции и выстроить цепочку шагов.
Как пользоваться
- Выберите или перетащите файлы. Для shapefile выберите архив .zip или вместе файлы .shp, .dbf и .prj. Система координат читается из .prj; если его нет и координаты не являются широтой и долготой, инструмент попросит выбрать систему.
- Выберите операцию, укажите входной и второй слой, задайте параметры.
- Нажмите «Выполнить». Результат появится на карте, откроется таблица атрибутов, а шаг запишется в историю.
- Кнопкой «Скачать» в карточке слоя выберите формат и целевую систему координат.
Операции
| Операция | Что делает |
|---|---|
| Clip, Erase | Обрезает слой по границе полигонального слоя и оставляет части внутри или снаружи. Работает с точками, линиями и полигонами. |
| Intersect, Union | Накладывает два слоя и записывает в общие части атрибуты обоих. Union сохраняет и части, которые есть только в одном слое. |
| Dissolve | Объединяет объекты с одинаковыми значениями выбранных полей и считает сумму, среднее, минимум и максимум числовых полей. |
| Merge | Сливает несколько слоёв в один с сопоставлением имён полей. |
| Пространственное соединение | Переносит атрибуты по пересечению, вхождению, расстоянию или ближайшему объекту и записывает число совпадений. |
| Буфер | Строит буферы в метрах; отрицательное значение сужает полигоны внутрь. |
| Центроид, точка внутри, выпуклая оболочка, прямоугольник | Строит характерные точки, выпуклые оболочки, ограничивающие и минимальные повёрнутые прямоугольники. |
| Вороной, сетка | Строит полигоны Тиссена по точкам и квадратные или шестиугольные сетки в метрах. |
| Упрощение, разбиение, исправление | Сокращает число вершин, разбивает составные геометрии и исправляет некорректные. |
| Столбцы измерений | Добавляет площадь (м², га, км²), периметр и длину, вычисленные на эллипсоиде. |
Почему измерения выполняются на эллипсоиде
Площадь, посчитанная прямо по широте и долготе, выражается в квадратных градусах и не имеет смысла, а площадь на плоскости Web Mercator на широте Москвы завышена примерно в 3,2 раза. Инструмент считает площадь, периметр и длину геодезически на эллипсоиде WGS84. Операции, которым нужны метры (буфер, сетка, минимальный прямоугольник, центроид), выполняются для каждого объекта в поперечной проекции Меркатора с центром на этом объекте, где масштабная ошибка очень мала, после чего результат переводится обратно в широту и долготу. Поэтому буфер 100 метров остаётся 100 метрами в любой точке.
В кадастровых и проектных чертежах площадь обычно считают на плоскости проекции. При добавлении столбцов измерений можно также записать плоскую площадь в выбранной проекции и сравнить два значения.
Некорректная геометрия
Самопересекающиеся и незамкнутые кольца, перекрывающиеся части приводят к ошибкам обрезки и объединения. Инструмент проверяет каждый полигональный слой при загрузке, показывает число проблемных объектов в карточке слоя и предлагает исправление одним нажатием. Исправление разбивает пересекающиеся кольца на корректные части; например, полигон в форме бабочки превращается в два треугольника.
Данные и метод
Обрезка, пересечение, разность и объединение выполняются библиотекой polygon-clipping 0.15.7 (лицензия MIT); полигоны Вороного и часть проверок пространственных отношений используют Turf.js 7.2.0 (MIT). Площади и расстояния на эллипсоиде считает GeographicLib geodesic 2.1.1 (MIT), преобразования координат выполняет proj4js 2.9.0 (MIT). Для ED50 в Турции применяется семипараметрическое преобразование EPSG:1784 (ED50 to WGS 84 (30)) с точностью около 2 метров по данным EPSG. Файлы читаются с помощью shpjs 6.1.0 (MIT), JSZip 3.10.1 (MIT), PapaParse 5.4.1 (MIT) и @tmcw/togeojson 5.8.0 (BSD-2-Clause); запись shapefile выполняет собственный код страницы с атрибутами в UTF-8 и файлами .cpg и .prj. Карта построена на Leaflet 1.9.4 (BSD-2-Clause) и Leaflet.draw 1.0.4 (MIT), значки из Lucide (ISC). Большие задания выполняются в Web Worker.
Ограничения точности
- Обрезка и наложение выполняются на плоскости широта-долгота: рёбра считаются прямыми между вершинами. На рёбрах длиной в километры с редкими вершинами возможны небольшие отличия от геодезической линии.
- Буферы и сетки точны до сантиметров на расстояниях до нескольких сотен километров в локальной проекции; для гораздо более крупных объектов инструмент выдаёт предупреждение.
- Значения Z после обрезки и наложения не сохраняются.
- Упрощение обрабатывает каждый объект отдельно; чтобы сохранить общие границы соседних полигонов, используйте упрощение геометрии.
Rodosto Teknoloji создаёт процессы обработки ГИС-данных и веб-картографические решения для организаций. Подробнее о нашей работе можно узнать на сайте Rodosto Teknoloji или написать нам через страницу контактов.
Часто задаваемые вопросы
Чем обрезка (Clip) отличается от пересечения (Intersect)?
Clip обрезает входной слой по границе обрезающего слоя и сохраняет только атрибуты входного слоя: обрезающий слой работает как трафарет. Intersect создаёт перекрывающиеся части обоих слоёв и записывает в каждую часть атрибуты обоих слоёв. Если участок попадает в две зоны, Intersect вернёт две отдельные части.
Почему площадь может немного отличаться от ArcGIS или чертежа CAD?
Инструмент считает площадь на эллипсоиде WGS84, что ближе всего к реальному размеру на местности. В кадастровых и проектных чертежах площадь обычно считается на плоскости проекции, например поперечной проекции Меркатора, и включает её масштабный эффект. Чтобы сравнить оба значения, при добавлении столбцов измерений отметьте плоскую площадь и выберите проекцию.
Что будет, если при слиянии слоёв имена полей различаются?
Операция Merge показывает поля каждого слоя и позволяет задать имя в результате для каждого поля. Имена, отличающиеся только регистром или диакритикой (например NAME, Name, name), по умолчанию попадают в один столбец. Поле с очищенным именем в результат не включается.
Не зависнет ли браузер на больших файлах?
При большом числе вершин операция выполняется в фоновом потоке (Web Worker), и страница продолжает отвечать. Ограничение задаёт память браузера; для слоёв из сотен тысяч объектов время обработки растёт. Сначала можно уменьшить число вершин операцией упрощения.
Загружается ли мой файл на сервер?
Нет. Чтение, обработка и запись файлов выполняются в браузере. С CDN загружаются только файлы библиотек, а тайлы подложки для карты предпросмотра загружаются с серверов Esri и OpenStreetMap.