Я использую ArcMap 10.3.
У меня есть слой разных типов землепользования. Я обнаружил, что многие полигоны перекрывают друг друга, и в результате один и тот же полигон имеет два разных типа землепользования.
Используя ответ @ radouxju , я построил топологию для слоя землепользования (с правилом не должен перекрываться). Затем я использовал слияние, чтобы исправить большие перекрывающиеся полигоны.
Тем не менее, у меня есть тысячи маленьких перекрывающихся полигонов. Я могу починить их все вручную, что займет много времени.
Есть ли более быстрый способ исправить все эти ошибки?
Я обновил карту, чтобы показать все типы землепользования. Полигоны перекрывают друг друга; не щепки
Ответы:
Обеспокоенность, высказанная @Adam Cara, очень веская. Однако когда я посмотрел на самопересечение, оказалось, что большинство из них являются либо узкими кусочками на границе между двумя массивными полигонами, либо разъединенными кусочками / островками большого полигона, расположенного внутри другого. В этом случае стирание перекрытий и назначение растворенных перекрытий может сработать атрибутом ближайшего соседа (в зависимости от того, что наступит раньше).
Процесс:
Тест:
Сообщение:
Обратите внимание, что это сообщение означает, что нет никаких самопересекающихся в выходных данных из окончательного распада
Результат:
https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=sharing
источник
Если ваши многоугольники являются осколками, команда устранения работает хорошо, чтобы объединить их в многоугольник большей площади или самый длинный край.
Если полигоны являются перекрытиями, возможно, существует более простой способ, но я бы выбрал перекрытия для отдельного слоя, а затем объединил их обратно, создав осколки и используя команду устранения.
источник
источник
Рассматривали ли вы разделение отдельных классов землепользования на отдельные шейп-файлы, чтобы работать с ними таким образом. Сначала я подумал о том, чтобы пересечь дорогу, но увидел, что это не помогло. Однако если у вас есть семь отдельных шейп-файлов, вы сможете легче ими управлять.
Главный вопрос, который у меня возникает: если есть совпадение, есть ли у вас иерархия, для которой класс выигрывает и должен показывать в конце? Например: если кадрирование и молочные продукты пересекаются, что вы сохраняете? Как только вы определите эту иерархию, пересекайте 2 класса за раз, начиная с самого низкого и заканчивая самым высоким. Если ваши выходные данные на данном пересечении пусты, это означает, что они не пересекаются.
источник
Создав топологию, вы выявили ошибки.
В списке, отображающем ошибки, вы можете выбрать все ошибки одного типа, щелкнуть правой кнопкой мыши по этому списку и выбрать «исправить». В вашем случае исправлением будет «создать элемент», который создаст новый многоугольник, если два многоугольника перекрываются. Это первый шаг (обратите внимание, что вы можете достичь аналогичного результата, используя инструмент объединения со своим слоем землепользования в качестве единого входа, затем инструмент, состоящий из нескольких частей и отдельных частей (но тогда перекрытия все равно будут перекрываться, поэтому вам нужно удалить один из значение атрибута), или преобразуйте полигон в линии, а затем обратно в полигон (но тогда вы теряете атрибут, вам нужно пространственное соединение для восстановления атрибутов))
Второй шаг состоит в удалении маленьких полигонов. Проблема в том, что у вас нет правила, чтобы решить, какое значение атрибута вы хотите сохранить. Мой любимый инструмент - это инструмент устранения , где вы можете выбрать, к какому соседнему многоугольнику будут объединены маленькие многоугольники (на основе самой большой общей границы или самой большой области).
Последнее замечание: если у вас есть правило для приоритетного класса землепользования, итеративно выбирайте маленькие полигоны (у которых нет метки) по местоположению, чтобы назначить каждый класс землепользования, уменьшая порядок приоритетов, и используйте полевой калькулятор для назначения их метка.
источник
Хотя я согласен с другими в отношении того, являются ли они полигонами внахлест или осколками, из того, что я вижу здесь на этой картинке, вы показываете всем. Я бы порекомендовал вам изменить цвета символов для землепользования. Таким образом, вы можете увидеть, какой из них должен идти или другой. Один цвет, который вы показали нам в розовом, действительно трудно читать, и он может занять много времени для вас.
Во второй части я бы выделил все полигоны с перекрытиями или осколками и экспортировал их в новый шейп-файл. Таким образом, вы можете определить, что они используют в землепользовании.
источник
Одним из возможных решений, если у вас есть Spatial Analyst или 3D Analyst, вы преобразуете полигоны землепользования в растровое изображение, используя инструмент (Преобразование полигона в растр), чтобы гарантировать, что перекрывающиеся полигоны не будут выходить, поскольку вы не можете получить перекрывающиеся пиксели. Затем преобразуйте растр обратно в полигоны, используя инструмент (Растр в полигон), если он вам все еще нужен в векторном формате. В этом случае выберите размер ячейки с высоким разрешением (подробный размер ячейки), чтобы получить полигоны хорошего качества, но вам нужно учитывать объем памяти. Возможно, вам придется попробовать это несколько раз, изменив размер ячейки, пока вы не будете удовлетворены результатами. Возможно, вам придется выполнить некоторое сглаживание выходных полигонов, если оно не идеально, но это зависит от того, есть ли у вас хотя бы Стандартная лицензия для ArcGIS Desktop. Я знаю, что это нелегкая задача, но она может решить вашу проблему.
источник
Проверьте несколько пропусков или несколько перекрытий между полигонами, чтобы найти допуск и используйте инструмент Интегрировать из Arctoolbox с правильными значениями допусков.
источник