Используя ArcGIS 10, у меня есть класс объектов, который я преобразовал из растра (GRID) (инструмент Растр в полигон).
- Есть ок. 180 000 полигонов.
- Таблица атрибутов содержит поле [grid_code], которое мне нужно сохранить.
- Если один или несколько многоугольников соприкасаются с углами, касающимися AND, и имеют одинаковое значение [grid_code], то я бы хотел сгруппировать их (в основном, слить) в один многоугольник (запись).
- Затем мне нужно рассчитать площадь сгруппированного многоугольника.
Используя инструмент «Выбрать по расположению», я могу успешно выбрать полигоны, которые мне нужно сгруппировать, но как мне затем преобразовать их в ОДИН полигон, сохранив при этом [код_сети]?
Ответы:
Вы можете растворить смежные полигоны с общими значениями идентификаторов с помощью инструмента Dissolve .
источник
Это много полигонов. Сначала я бы нашел решение в растровом формате, когда с топологией проще работать. Но если вы не хотите писать код, вы можете:
Там будет небольшое округление в геометрии.
Чтобы создать один слой, пересекайте получающиеся слои кода сетки и очищайте, чтобы удалить многоугольники.
источник
Лично я бы написал код, который прошел через многоугольники и проверил, совпадают ли 4 угловые точки многоугольника с любыми другими углами многоугольника, и рекурсивно назову его - заливка заливкой как таковая.
Я делаю это с сетками netCDF для создания подходящих похожих полигонов.
Другим вариантом было бы сделать это в корне с сеткой.
источник