Я хочу разделить шейп-файл со множеством плиток на множество меньших. Я ищу умное решение, потому что ручное редактирование не вызывает вопросов
Кто-нибудь может помочь или узнать хорошую функцию?
Я хочу разделить шейп-файл со множеством плиток на множество меньших. Я ищу умное решение, потому что ручное редактирование не вызывает вопросов
Кто-нибудь может помочь или узнать хорошую функцию?
Ответы:
Используя QGIS, вы можете быстро разделить данный шейп-файл на обычные прямоугольники, как вы показали в своем примере.
Я предполагаю, что сетка, на которую вы ссылаетесь, является пространственной сеткой некоторого регулярного размера - 1x1 км или аналогичной. Эти объекты сетки (квадраты) будут иметь некоторый ссылочный номер (например, square_id). Ваш другой набор данных, зоны, это тот, который вы хотели бы видеть объединенным на основе атрибутов в пространственной сетке. Таким образом, вы получите зоны, разделенные на более мелкие (с сеткой) части, сохраняя атрибуты zone_id и привязки пространственной сетки.
Функциональность пересечения делает эту работу. Он доступен как в ArcGIS, так и в QGIS . Пользовательская документация для ArcGIS объясняет это превосходно, хотя функциональность также поддерживается QGIS.
Вы можете создать обычную сетку, используя инструмент Vector Grid. Просто укажите объект (ы), который вы хотите использовать для экстента, и размер каждой ячейки сетки, которую вы хотите использовать. Возможно, вам придется убедиться, что плагины Python включены и плагины ftools установлены. Затем вы можете использовать инструмент пересечения, как предложено @ragnvald.
Единственная проблема с этим подходом состоит в том, что плитки не будут пронумерованы в формате столбца / строки. Вместо этого они будут пронумерованы в порядке их создания, обычно по одной строке с северо-востока на юго-запад. Если это не соответствует вашим потребностям, попробуйте создать растровую версию данных с помощью инструмента растеризации. Растры по существу хранят данные в виде матрицы с пространственной привязкой с фиксированным интервалом между строками и столбцами. Эта модель данных может упростить настройку вашей маршрутизации, но вам может быть трудно убедиться, что ваши исходные данные переводятся осмысленно.
Существует ряд устоявшихся методов маршрутизации на растрах, таких как пути затрат и направление / накопление потока (обычно обрабатываются в гидрологических инструментах). SAGA GIS имеет больше возможностей для этих видов анализа, а также лучшие инструменты для растеризации, но интерфейс немного менее прост, чем QGIS.
Плагин создан и может быть установлен в QGIS. разделитель полигонов
Вам нужно определить необходимую площадь и угол, с которого вы хотели бы начать разделение.
Генерация векторной сетки является одним из аспектов этого, если я правильно понимаю ваш вопрос. Если вы хотите буквально разделить другие объекты (например, дороги с сеткой, чтобы дороги были отрезками сетки), вы захотите позже пересечь дорогу с помощью вновь созданного слоя сетки. Это создаст разделы на основе ячейки сетки. Если этот набор дорог (который был разделен на основе ячейки сетки) должен быть отдельным файлом, то вы можете выполнить разделение по атрибуту для нового слоя (эта функция доступна в QGIS как векторный плагин, и он будет использовать значение атрибута, т. е. GRIDID, и проанализировать все записи в таблице атрибутов с тем же GRIDID в своем собственном шейп-файле. Это может быть сделано в пакетном режиме, что позволяет разделить множество файлов, как этот).