Как восстановить топологию шейп-файла?

9

Я выполнил анализ изображений на основе объектов с помощью ENVI EX, и каждая из классифицированных функций была экспортирована в виде шейп-файла. Я перенес эти шейп-файлы в ArcMap 10 и попытался пересечь их с другими шейп- файлами той же области, которые были получены из GeoBase .

Когда я пытаюсь запустить инструмент пересечения, я получаю сообщение об ошибке, в котором говорится, что топология шейп-файлов, извлеченных из ENVI EX, недопустима. Я попытался включить инструмент топологии, чтобы восстановить топологию этих шейп-файлов, но кнопки неактивны, и я не могу нажать на них. Инструмент топологии не работает ни с одним из имеющихся у меня шейп-файлов.

Любые решения? Как я могу исправить топологию и запустить пересечение?

kaoscify
источник

Ответы:

12

Я столкнулся с похожими проблемами и с полигонами. Может быть, у вас есть похожая проблема.

Сообщение об ошибке ESRI : «Недопустимая топология (Incomplete Void Poly)»

Фактическая ошибка : «неверная геометрия»

Исправлено : Запустите «Восстановить геометрию» (изменяет данные на месте, будьте осторожны, отмена невозможна)

То, что происходит, - то, что сообщенная ошибка не использует терминологию ESRI Топологии / Геометрии и смущает всех. В моем случае, когда ошибка говорила о топологиях, топологии не были определены (топология как в топологии ESRI). Но когда я проверил геометрию (используя инструмент «Проверить геометрию»), я обнаружил, что в моей геометрии (как в геометрии ESRI) были ошибки.

Михалис Авраам
источник
4

В случае, если ArcMap не работает, вы можете попробовать инструмент GRASS v.clean. Вы можете установить GRASS с QGIS. После установки:

Очистка топологии файла SHAPE с помощью GRASS Toolbox

  1. Загрузите файл SHAPE в QGIS
  2. Использовать существующий набор карт GRASS (или создать новый) с соответствующими настройками проекции
  3. Теперь вам нужно перенести файл SHAPE из QGIS в GRASS с помощью панели инструментов -> Управление файлами -> Импорт в GRASS -> Импортировать вектор в GRASS -> Импортировать вектор в GRASS из представления QGIS (v.in.ogr.qgis). В зависимости от качества вашего файла SHAPE могут сообщаться о некоторых топологических проблемах.
  4. Эти топологические проблемы мы можем теперь исправить в GRASS через панель инструментов, используя инструменты топологии: Vector -> Develop map -> Toolset для очистки топологии векторной карты -> v.clean.break. Определите порог в единицах карты (например, 0,5 [м] или аналогично). Проанализируйте распечатанный отчет. Возможно, необходимо скорректировать пороговое значение или использовать другой инструмент очистки топологии. Нажмите затем на просмотр вывода, чтобы показать результат в виде карты.
  5. Экспорт очищенной карты в формат SHAPE: Управление файлами -> Экспорт из GRASS -> Экспорт вектора из GRASS -> v.out.ogr
RK
источник