Конвертируем shape в покрытия Arcinfo
Обсудить в форуме Комментариев 1
При создании вручную shape-файлов с прилегающими друг к другу полигонами (например, ручное дешифрирование инструментами типа Stream Digitizing с применением операций Subtract и Union) часто возникают топологические ошибки - пересечение полигонов. Они могут влиять на отображение слоя (внезапная "заливка" всего дисплея в Arcview GIS); вызывать ошибки при экспорте слоя в векторную графику и при выводе на печать. Для исправления этих ошибок можно использовать следующие операции в ArcINFO Workstation любой версии.
Конвертирование полигональных shape-файлов в покрытия Arcinfo без сохранения атрибутивной информации. В этом случае, вся атрибутивная информация, соответствующая полигонам в шейп-файле будет потеряна. Данный подход имеет смысл, если сохранение атрибутивной информации не требуется.
1. Импорт shape-файла в покрытие без региональной топологии (топологические ошибки, такие как, например, пересекающиеся полигоны недопустимы)
shapearc inputshape outcover
2. Построение полигональной топологии
build outcover poly
Если появляется сообщение об ошибке, то необходимо проивести чистку топологии:
clean outcover # 0.0000000000001 0.0000000000000001 poly
Оператор # означает пропуск параметра и, в данном случае, проведение операции над самим покрытием. Если нужно сохранить outcover, а результат чистки положить в новое покрытие - можно вместо него задать [путь-имя] нового покрытия.
clean outcover outcover2 0.0000000000001 0.0000000000000001 poly
Конвертирование полигональных shape-файлов в покрытия Arcinfo с сохранением атрибутивной информации. Данная операция применяется для т.н. "чистки" топологии, удаления пересекающихся частей полигонов, преобразования пустых замкнутых пространств между ними в полигоны и т.д. Идея заключается в том, чтобы использовать полигональное покрытие Arcinfo которое не допускает наличие подобного рода топологических ошибок.
1. Импорт shape-файла в покрытие с региональной топологией (топологические ошибки, такие как, например, пересекающиеся полигоны допустимы). Результирующее покрытие ничем отличаться от исходного shape-файла по сути не будет.
Item - название для класса регионов, условное имя, может быть любым. Это же название должно использоваться в шаге 3.
shapearc inputshape tempcover item
2. Чистка региональной топологии, пересекающией регионы разбиваются на части, атрибутика сохраняется (см. примечание к операции 2 выше):
clean tempcover # 0.000000000001 0.00000000001 poly
В принципе на этом шаге можно остановиться, если вас устраивает региональная топология. Покрытие вы получили и атрибутивная информация сохранена, такое покрытие является полным эквивалентом импортированного shape-файла. Однако с покрытиями в региональной топологии невозможно выполнить некоторые операции, поэтому возможно вам также понадобится произвести следующий шаг.
3. Переход от региональной к полигональной топологии
Осуществляется с помощью команды regionpoly, учитывающей пересечения.
itemtab - название вспомогательной выходной таблицы INFO содержащей информацию о регионах соответствующих каждому полигону (пересекающихся).
regionpoly tempcover outcover item itemtab
Близкие аналоги этих операций имеются в ArcToolbox.
4. Удаление временного покрытия
Если результат вас устраивает, можно удалить временное покрытие:
kill tempcover
Дополнительную информацию о команде regionpoly можно посмотреть в справке:
help
Примечание: В процессе работы возможны сообщения об ошибках:
Обсудить в форуме Комментариев 1
Последнее обновление: September 09 2021
Дата создания: 24.09.2009
Автор(ы): Максим Дубинин
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).