Страница 1 из 2
Проблема после генерализации.
Добавлено: 30 апр 2011, 18:34
jj_kan
Добрый день уважаемые,
столкнулся с такой проблемой: после генерализации векторных слоев, с удалением полигонов заданной фиксированной площадью, осталось множество полигонов (сотни), внутри которых множество пустых участков (по размеру пиксела или 2,3), а так же примкнувшие к полигонам одиночные кусочки, которые необходимо удалить, что бы полигоны выглядели более или менее однородно. Картинку добавил.
Как автоматизировать этот процесс в ArcMap?
Заранее благодарен.
Re: Проблема после генерализации.
Добавлено: 30 апр 2011, 19:24
syroezhka
При генерализации лучше пользоваться не удалением, а функцией Eliminate из меню Generalization. Она не удаляет полигоны маленькой площади, а они поглощаются большими соседствующими полигонами. Сначала вы с помощью запроса выделяете, те полигоны площадь каких считаете маленькой. Далее tool box - data management – generalization – eliminate.
Единственное замечание, при этой операции у вас на месте пустых участков должны быть полигоны с нулевой атрибутивной информацией, поскольку eliminate может присоединить только реально существуюшие полигоны, а не дырки.
Ваша картинка очень похожа на переведенный в вектор результат классификации, как правило, при таком переводе, все пустые места тоже вектор со значением «0» в поле gridcode. Советую не спешить его удалять, сначала проведите генерализацию таким способом, как я описала. Тогда дырки внутри полигонов поглотятся.
Если же я не права, создайте "background" искусственно.
Re: Проблема после генерализации.
Добавлено: 30 апр 2011, 21:35
Максим Дубинин
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 07:01
jj_kan
Все это так уважаемые, прежде чем написать я естественно пытался найти информацию, в том числе и на этом сайте, .
только проблема в том, что похоже я не могу активировать команду eliminate. И не вижу ее в Generalization ни в списке инструментов Customise.
Посоветуйте, может ее можно откуда то скачать? Или я не там ищу?
Заранее благодарен
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 08:35
ggis
инструмент доступен с лицензией ArcInfo, возможно у вас ее нет.
http://www.dataplus.ru/Forum/forum_posts.asp?TID=4893
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 09:01
jj_kan
Лицензия ArcGis 9.3 есть
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 09:09
jj_kan
Можно ли чем то заменить команду Eliminate, т.к. я ее не могу найти.
Очень нужно.
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 09:47
jj_kan
И еще поможет ли скрипт EliminateSilvers, если да то как правильно его подключить к ArcGis.
Тот порядок, который указан в помошнике в Гис ЛАБ что то не срабатывает.
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 10:04
ggis
"Лицензия ArcGis 9.3 есть"-может быть (ArcView, ArcEditor, ArcInfo), какая именно у вас?
посмотреть можно-Help->About ArcMap->строка License Type:
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 13:09
jj_kan
ArcView
и что можно предпринять?
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 14:05
ggis
1.если операция разовая-кого-то попросить
2. пробовать запустить скрипт EliminateSilvers
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 16:22
jj_kan
-пытаюсь подключить скрипт eliminateSilvers, не получается..
может порядок нарушен мно
в M.Visual Basic пытаюсь создать mxt файл, т.е. вписываю в поле Module - Sub eliminateSilvers()
End Sub
далее по инструкции как в гис лаб, нажимаешь плей, но ничего не происходит (а в инструкции все нормально).
Хорошо, есть другая инструкция, там просят сохранить созданный формат,
сохраняем, закрываем M.Visual Basic .
Далее в Инструментах находим Commands/Macros, но я вижу eliminateSilvers в правом окне макроса только если в окошке Save in я меняю Normal.mxt на созданный мной eliminateSilvers, но без расширения mxt .
Подозреваю, что сбой произошел где то в работе с M.Visual Basic. Т.Е. eliminateSilvers не появляется нигде в каталогах команд.
Буду рад любой помощи
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 17:53
jj_kan
Уважаемые, кто работал с EliminateSlivers подскажите порядок действий с полигонами.
Скрипт загрузился в виде, рисунок прилагаю.
Это так должно и быть?
Заранее благодарен.
И все таки буду благодарен, кто поможет с самым первым вопросом!
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 21:10
ggis
выложите фрагмент полигонов
Re: Проблема после генерализации.
Добавлено: 02 май 2011, 21:47
syroezhka
jj_kan писал(а):
только проблема в том, что похоже я не могу активировать команду eliminate. И не вижу ее в Generalization ни в списке инструментов Customise.
Заранее благодарен
Зайдите в Все программы ->ArcGis->Desctop Administrator-> Software poduct
и установите галочку напротив Arcinfo вместо ArcView
jj_kan писал(а):
И еще, можно поподробнее о создании "background" искусственно?
В отдельном слое рисуете полигон, охватывающий все ваши объекты. Потом прорезаете в нем дырки Analysis Tools-Extract-Clip. То что получилось, вставляете в ваш слой, который хотите почистить (через обычное copy - paste при включенном редактировании слоя.)