Как объединить два «несовместимых» многоугольных слоя в ArcGIS?

14

У меня есть два слоя полигонов с административными границами. Хотя они получены от одного и того же поставщика данных, они, похоже, имеют небольшие расхождения и не «соответствуют» друг другу.

Как я могу объединить эти два слоя в ArcGIS 9.3, удалив наложения и пробелы между ними?

Можно ли расставить приоритеты для одного слоя (серый в моем случае) и «подогнать» другой (фиолетовый) соответственно?

альтернативный текст

Радек
источник
1
Когда я работал в лесном хозяйстве, специалисты часто объединяли такие слои (результаты оцифровки вручную), что приводило к аномалиям, которые мы называли «осколками». Мы должны были устранить осколки меньше определенного размера, и это был непростой процесс; программно определять, к какому полигону нужно слиться, основываясь на предварительно определенном наборе критериев и т. д. Есть некоторые инструменты, которые вы можете попробовать, но они работают с размером области, который я нашел не часто желательным: arcscripts.esri.com/details.asp?dbid=14672
Jakub Sisak GeoGraphics
Спасибо Якуб. По какой-то таинственной причине я могу только «объединить» эти слои - «объединение» приводит к ошибке. ArcGIS может иметь дело с осколками, но принимает решение о слиянии на основе длины общей границы (я думаю), что для меня не вариант.
Радек
1
@Jakub: не реальный вклад, просто забавный анекдот: оригинальная брошюра ARC / INFO 1982 года, которая недавно была размещена на gisandscience.com/2010/10/29/original-arcinfo-brochure-c-1982 , имела «автоматический» удаление щепки "как часть его списка возможностей. :) С тех пор так мало реальных шагов вперед и так много шагов назад. (В частности: отказ от топологически осведомленных форматов.)
Дэн С.

Ответы:

11

«Я уже пробовал« интегрировать ». Он работал с точки зрения устранения пробелов, но также обобщал все полигоны в соответствии с заданным кластерным допуском».

Вопрос в том, хотите ли вы оставить «серые» полигоны разделенными, как сейчас. Чтобы НЕ обобщать границы, вам, возможно, придется проделать это долгий путь, вы можете объединить -> Пространственно выбрать все полигоны из результата, центроид которых находится в пределах исходного фиолетового многоугольника -> Объединить выбор

На этом этапе вы будете иметь «серые» рисунки неизменными и «фиолетовый» многоугольник, точно следующий за «серым», где произошло наложение.

Это все еще оставит вас с пробелами; если вы объединяете все «серые» объекты в один, то используйте аналогичную процедуру: создайте еще один многоугольный объект на отдельном слое, который перекрывает все «разрывы» и объединение. (Или используйте другую технику, чтобы заполнить пробелы)

Теперь пробелы будут заполнены объектами без атрибутов. Вы могли бы обратиться к ним как осколки. Если все элементы должны быть объединены в одну «фиолетовую» функцию, выберите все «полоски» и добавьте к фиолетовому. Чтобы сделать это наоборот, и единственный способ каким-то образом автоматизировать процесс на этом этапе, это использовать инструмент, который объединяет многоугольники с его соседями или лучше всего вручную.

Существуют инструменты, которые могут устранять осколки, объединяя их с самым большим смежным многоугольником (в идеале лучше в сочетании с критериями атрибутов) ( http://arcscripts.esri.com/details.asp?dbid=14672 ) Однако я настоятельно рекомендую найдите инструмент / скрипт, который объединяет фрагменты с соседним полигоном, с которым у него самая длинная граница. Это может быть сделано программно с ArcObjects, но я не знаю, доступен ли инструмент, который делает это. Эти алгоритмы могут быть довольно сложными, когда вы сталкиваетесь с такими проблемами, как сложенные слипсы и т. Д. Я никогда не пробовал упомянутый инструмент, поэтому я не знаю, как он справляется с реальными неприятными ситуациями, такими как сгруппированные слипы (должен быть рекурсивным) или вы можете ввести атрибут атрибута ...

Якуб Сисак География
источник
Спасибо Якуб. Это самое близкое, что я могу найти к решению. «Союз» был ключевой функцией здесь. Затем я создал временный слой без всех «серых» объектов, используя «Стереть». Все равно придется как-то удалять щепки, но с минимальным ручным вводом «Устранить» должно с этим справиться.
Радек
7

Два варианта:

Дерек Суингли
источник
Спасибо Свингли. Я уже пытался «интегрировать». Он работал с точки зрения устранения пробелов, но также обобщал все полигоны в соответствии с заданным кластерным допуском. Попробую поиграть с топологией потом.
Радек
1
Правила топологии работают, и вы можете использовать инструмент трассировки (серая граница имеет более высокий рейтинг) - # Щелкните инструмент «Вырезать полигоны» Инструмент «Вырезать полигоны» на панели инструментов редактора. # Нажмите Trace Trace на панели инструментов редактора. help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/…
Mapperz
Спасибо Mapperz. Доступны ли эти инструменты в ArcGIS 9.3? (извините, это не было указано изначально - теперь исправлено в вопросе)
radek
2
Инструмент трассировки находится в 9.3. Webhelp.esri.com/arcgisdesktop/9.3/… можно использовать с правилами топологии.
Mapperz
2

Вы не упоминаете, какая версия arcmap или какой у вас уровень. В argis 10 есть раскрывающийся список геообработки, в котором есть все, что вам нужно. Союз - это то, что вам придется использовать. Затем вы можете объединить два полигона (в сеансе редактирования в пределах одного слоя), чтобы получить то, что вам нужно. Также у ET-geotools есть бесплатная функциональность для этого. И я считаю, что у инструментов Hawths есть несколько бесплатных инструментов. Я использую инструменты ET. Ян-Ко Пространственные Технологии

Брэд Несом
источник
Спасибо бред Я на 9.3 к сожалению [обновил, что под вопросом].
Радек
Вы все еще должны иметь возможность использовать те же инструменты, они просто в наборе инструментов
Брэд Несом