Страница 1 из 1

Ошибка при импорте векторного слоя

Добавлено: 05 май 2014, 17:15
Charaunica
Доброго времени суток!

Необходимо выполнить классификацию с обучением, для этого по снимку Landsat5 в QGIS 2.0 были созданы полигональные shp с выборками. При импорте их в GRASS выскакивает следующая ошибка:

v.in.ogr dsn=F:\sig5LT1.shp layer=sig5LT1 output=sig5LT1 -o
WARNING: Ошибка в описаниях, опция точка в <type> не существует
WARNING: Ошибка в описаниях, опция линия в <type> не существует
WARNING: Ошибка в описаниях, опция граница в <type> не существует
WARNING: Ошибка в описаниях, опция центроид в <type> не существует

Как следствие:
WARNING: Очистить полигоны, правильность результата не гарантирована!
WARNING: Errors were encountered during the import
Try to import again, snapping with at least 1e-013: 'snap=1e-013'

i.gensigset trainingmap=sigLT5@PERMANENT group=Elna@PERMANENT subgroup=Elna signaturefile=stat5LT
Поиск тренировочных классов...
ERROR: Нет классов в тренировочном слое

Хочу понять,что не такс shp-файлами. Заранее спасибо за помощь

Re: Ошибка при импорте векторного слоя

Добавлено: 05 май 2014, 19:53
lam
Еще должны быть файлы: sig8LT1.shx и sig8LT1.dbf

Re: Ошибка при импорте векторного слоя

Добавлено: 05 май 2014, 19:55
gamm
lam писал(а):Еще должны быть файлы: sig8LT1.shx и sig8LT1.dbf
и sig8LT1.prj ...

Re: Ошибка при импорте векторного слоя

Добавлено: 05 май 2014, 20:59
Charaunica
Но они есть в папке

Re: Ошибка при импорте векторного слоя

Добавлено: 05 май 2014, 23:00
Charaunica
Попробовала также отключить флажок"не чистить полигоны"при импорте растра, процесс пошел. Но далее опять же ошибка

i.gensigset trainingmap=rastv@Acer group=T520100718obr@Acer subgroup=T520100718obr signaturefile=stat
Поиск тренировочных классов...
найдено 6 классов
Чтение растровых слоев...
Кластеризация класса 1 (427285 пикселей)...
WARNING: Сингулярный субэталон номер 1 (9 остался) удален

Так удаляет все субэталоны, файл остается пустой и классификация невозможна.

В чем может быть проблема? :|

Re: Ошибка при импорте векторного слоя

Добавлено: 06 май 2014, 08:22
KolesovDmitry
Проблема скорее всего не в импорте вектора, так что зря вы отключили проверку и построение топологии.

Я думаю, основная ошибка в обучающей выборке. Классификатор работает с растровыми картами, а вы, похоже, не преобразовываете вектор в растр? Смотрите модуль v.to.rast

[ Сообщение с мобильного устройства ]

Re: Ошибка при импорте векторного слоя

Добавлено: 06 май 2014, 09:31
lam
Попробуйте этот шейп

Re: Ошибка при импорте векторного слоя

Добавлено: 06 май 2014, 09:59
Александр Мурый
Charaunica, приведите вывод следующих команд: "g.region -p", "g.proj -p", "v.info sig5LT1", "r.info rastv@Acer", "i.group -l T520100718obr@Acer".
Перед использованием модуля <i.gensigset> вы задаёте вычислительный регион по классифицируемому растру (g.region)?
Отключать проверку топологии при импорте векторов — плохая практика. Как рекомендовалось вам в тексте ошибки при импорте векторов в первом посте, задайте минимальный порог для "прилипания" вершин (snap=1e-013), часто это помогает.

Re: Ошибка при импорте векторного слоя

Добавлено: 07 май 2014, 02:39
Charaunica
Александр, да, регион задаю по классифифируемому растру. И вектор преобразовываю в растр,всегда.

Тогда вопрос о пороге для "прилипания" - каким образом его задать при работе с интерфейсом GRASS при импорте вектора? Либо это делается только при работе с shell оболочкой? Насколько я пока знаю, то порог можно задать при изменить при редактировании shp-файла.

Re: Ошибка при импорте векторного слоя

Добавлено: 07 май 2014, 09:15
KolesovDmitry
Charaunica писал(а): Тогда вопрос о пороге для "прилипания" - каким образом его задать при работе с интерфейсом GRASS при импорте вектора? Либо это делается только при работе с shell оболочкой? Насколько я пока знаю, то порог можно задать при изменить при редактировании shp-файла.
Изменить "порог прилипания" можно при импорте и из командной строки, и через графический интерфейс. Так что ищите нужную кнопочку %) Порог прилипания при редактировании -- это совсем другое, к импорту никакого отношения не имеет.

Теперь по существу проблемы: если у вас не остается ни одного класса при сборе статистики, то у вас явно какие-то проблемы с обучающей выборкой. Заочно судить сложно. Все-таки приведите ВСЕ команды, которые вы выполняете, начиная с импорта и кончая классификацией. А то вот уже целую страницу мы пытаемся отгадать, что же вы все-таки делаете.

Re: Ошибка при импорте векторного слоя

Добавлено: 07 май 2014, 09:20
Александр Мурый
Charaunica писал(а): Тогда вопрос о пороге для "прилипания" - каким образом его задать при работе с интерфейсом GRASS при импорте вектора? Либо это делается только при работе с shell оболочкой? Насколько я пока знаю, то порог можно задать при изменить при редактировании shp-файла.
Это делается при использовании модуля <v.in.ogr> в любом виде (консоль, любой интерфейс), опция "snap".
v.in.ogr_snapping.png
v.in.ogr_snapping.png (24.97 КБ) 16489 просмотров