Как разбить вектор на равные меньшие части в QGIS или аналогичные?

15

Я хочу разделить шейп-файл со множеством плиток на множество меньших. Я ищу умное решение, потому что ручное редактирование не вызывает вопросов пример

Кто-нибудь может помочь или узнать хорошую функцию?

кроншнеп
источник
прошу прощения за то, что снова поднял эту тему. У меня довольно похожая проблема, но один аспект отличается. У меня есть несколько полигонов (участков земли), и я хочу разделить их на более мелкие участки. проблема в том, что поля этого меньшего полигона должны быть параллельны границам участков. когда я использую инструмент векторной сетки, сетка всегда направлена ​​на север. Второй момент заключается в том, что в одном шейп-файле есть несколько многоугольников, и всем им нужна такая сетка, и каждая сетка должна быть привязана к соответствующему участку земли. у меня есть QGIS и (если необходимо) ArcGIS 10 - я там любой

Ответы:

11

Используя QGIS, вы можете быстро разделить данный шейп-файл на обычные прямоугольники, как вы показали в своем примере.

  1. Загрузите оригинальный шейп-файл;
  2. Используйте Vector | Research Tools | Vector grid и создайте сетку из полигонов в том же экстенте, что и ваш шейп-файл, с выбранным правильным расстоянием между делениями («параметры») (100 в моем примере изображения ниже);
  3. Пересечь два слоя (Vector | Инструменты геообработки | Пересечь), причем первый слой будет исходным шейп-файлом, а второй - векторной сеткой. Результатом будет ваш шейп-файл, разрезанный по границам векторной сетки.

Simbamangu
источник
3

Я предполагаю, что сетка, на которую вы ссылаетесь, является пространственной сеткой некоторого регулярного размера - 1x1 км или аналогичной. Эти объекты сетки (квадраты) будут иметь некоторый ссылочный номер (например, square_id). Ваш другой набор данных, зоны, это тот, который вы хотели бы видеть объединенным на основе атрибутов в пространственной сетке. Таким образом, вы получите зоны, разделенные на более мелкие (с сеткой) части, сохраняя атрибуты zone_id и привязки пространственной сетки.

Функциональность пересечения делает эту работу. Он доступен как в ArcGIS, так и в QGIS . Пользовательская документация для ArcGIS объясняет это превосходно, хотя функциональность также поддерживается QGIS.

Ragnvald
источник
2

Вы можете создать обычную сетку, используя инструмент Vector Grid. Просто укажите объект (ы), который вы хотите использовать для экстента, и размер каждой ячейки сетки, которую вы хотите использовать. Возможно, вам придется убедиться, что плагины Python включены и плагины ftools установлены. Затем вы можете использовать инструмент пересечения, как предложено @ragnvald.

Единственная проблема с этим подходом состоит в том, что плитки не будут пронумерованы в формате столбца / строки. Вместо этого они будут пронумерованы в порядке их создания, обычно по одной строке с северо-востока на юго-запад. Если это не соответствует вашим потребностям, попробуйте создать растровую версию данных с помощью инструмента растеризации. Растры по существу хранят данные в виде матрицы с пространственной привязкой с фиксированным интервалом между строками и столбцами. Эта модель данных может упростить настройку вашей маршрутизации, но вам может быть трудно убедиться, что ваши исходные данные переводятся осмысленно.

Существует ряд устоявшихся методов маршрутизации на растрах, таких как пути затрат и направление / накопление потока (обычно обрабатываются в гидрологических инструментах). SAGA GIS имеет больше возможностей для этих видов анализа, а также лучшие инструменты для растеризации, но интерфейс немного менее прост, чем QGIS.

Джей Гварнери
источник
2

Плагин создан и может быть установлен в QGIS. разделитель полигонов

Вам нужно определить необходимую площадь и угол, с которого вы хотели бы начать разделение.

Уго Руссаффа - GeoDatup
источник
Этот плагин больше не поддерживается :( Важно для моих рабочих процессов, особенно с областями выборки неправильной формы
nickislander
1

Генерация векторной сетки является одним из аспектов этого, если я правильно понимаю ваш вопрос. Если вы хотите буквально разделить другие объекты (например, дороги с сеткой, чтобы дороги были отрезками сетки), вы захотите позже пересечь дорогу с помощью вновь созданного слоя сетки. Это создаст разделы на основе ячейки сетки. Если этот набор дорог (который был разделен на основе ячейки сетки) должен быть отдельным файлом, то вы можете выполнить разделение по атрибуту для нового слоя (эта функция доступна в QGIS как векторный плагин, и он будет использовать значение атрибута, т. е. GRIDID, и проанализировать все записи в таблице атрибутов с тем же GRIDID в своем собственном шейп-файле. Это может быть сделано в пакетном режиме, что позволяет разделить множество файлов, как этот).

Райан Гарнетт
источник