Страница 1 из 1
Удаление пробелов из названий полей
Добавлено: 22 май 2013, 16:52
dravig
Столкнулся с такой проблемой:
Нужно загрузить кучу слоев из локальной базы геоданных в серверную как sde-классы. В исходных слоях есть пробелы в названиях полей. При экспорте аркгис ругается на пробелы, поскольку они не поддерживаются в arcsde+oracle. Как их программно удалить из исходных слоев?
Re: Удаление пробелов из названий полей
Добавлено: 23 май 2013, 05:13
doujin
Но ведь в персональной и файловой базах тоже нельзя создавать поля с пробелами в имени. Думаю, беда не с пробелами, а со спец. символами. Например, "№". Как бы то ни было, почистить имена полей может метод
ValidateFieldName (arcpy). Обновить имя поля можно через объект
FieldInfo (arcpy). Таким образом можно откорректировать входные данные.
Если пойти дальше можно использовать инструмент:
Класс объектов в класс объектов (Feature Class To Feature Class). Он позволяет переназначать поля, при переносе данных. Как им пользоваться:
Использование параметра соответствия полей,
Сопоставление входных полей с выходными полями.
Алгоритм для скрипта геообработки примерно такой: берем класс, получаем его список полей, чистим их от некорректных символов, составляем карту сопоставления, экспортируем слой через инструмент. И так для каждого класса. Можно написать самостоятельно или поискать на сайте ESRI.
Re: Удаление пробелов из названий полей
Добавлено: 23 май 2013, 09:04
dravig
Спасибо, с помощью Feature Class To Feature Class все получилось. В названиях действительно были какие-то непечатные символы, которые отображались как пробелы, если скопировать структуру слоя в текстовый редактор.