Если у меня есть класс объектов шейп-файла или базы геоданных, в котором есть поля, которые я хочу переупорядочить, есть ли инструмент, сценарий или утилита, которые помогут мне быстро выполнить эту задачу?
Обычно я знаю, что вам нужно создать новое поле, затем заполнить его старыми значениями, а затем удалить старое поле. Я надеюсь, что что-то уже создано, что поможет с этим. Предполагая, что у вас нет FME или другого доступного инструмента ETL, каково следующее лучшее предложение?
Это НЕ изменение уровня представления (т.е. перетаскивание полей по порядку), а скорее запись в новый шейп-файл или класс объектов. Спасибо.
spatial-etl
field-mapping
RyanDalton
источник
источник
Ответы:
Я почти уверен, что вы можете сделать это с класса объектов в класс объектов, переупорядочив поля в разделе карты полей инструмента.Редактировать: FC2FC не делает этого, но ... огр на помощь.
Я только что подтвердил, что ogr2ogr может сделать это. Укажите порядок имен полей на ключе -select. Например, если у меня есть шейп-файл с двумя полями, «Name» и «FolderPath» (в этом порядке), но я сначала хочу новый шейп-файл с «FolderPath», я бы сделал это:
источник
Инструмент ET GeoWizards сделает это, и, похоже, бесплатная версия сделает это без каких-либо ограничений по количеству функций.
источник
Плагин QGIS «Диспетчер таблиц» теперь также имеет возможность легко выполнять эту задачу без необходимости в командной строке.
источник
В QGIS теперь вы можете использовать набор инструментов обработки (Ctl + Alt + T) и перейти к геоалгоритмам QGIS> Инструменты векторных таблиц> Поля рефакторинга.
Оттуда у вас будут все инструменты для редактирования структуры таблицы.
источник
X-Ray arcmap add in имеет инструмент для изменения порядка полей в формате Geodatabes
источник
Для справки: MapInfo также может сделать это из коробки. Просто откройте DBF и измените порядок полей. http://www.dbf-editor.com тоже делает это (40 долларов). Другие редакторы DBF, вероятно, тоже могут это сделать.
источник
У меня была похожая проблема, и самый быстрый способ навсегда изменить порядок полей данных, если у вас уже есть QGIS, это использовать плагин «Table Manager», как предлагалось ранее.
Он прост в установке плагинов и удобен для пользователя, как описано на странице ниже:
http://www.qgistutorials.com/en/docs/using_plugins.html
Это позволяет вам перемещать атрибуты в определенном порядке, переименовывать поля, вставлять любые новые поля и копировать их. Это также позволяет сохранить исходный файл или переименовать его и сохранить его не так, как исходный.
Это было быстрое и удобное решение для моей проблемы управления таблицей атрибутов, и это настоятельно рекомендуется, особенно для файлов с большим количеством связанных атрибутов.
источник
Экспортируйте классы пространственных объектов в пустую персональную базу геоданных (перетаскивание - самое быстрое), откройте .mdb в Access, измените порядок полей в режиме конструктора , сохраните, а затем с ArcMap / Catalog скопируйте обратно в базу геоданных формы или файла.
Тот же метод работает для переименования полей.
Будьте осторожны , работайте только с копиями, все легко испортить. (Как отмечает Карей Джек в другом ответе, Esri препятствует прямому доступу .mdb ). В целях безопасности игнорируйте все таблицы, начинающиеся с,
GDB_
а также таблицы, заканчивающиеся на_Shape_Index
.источник
Йо лучший способ сделать это - использовать Field Mappings. Я боролся с этой функцией программного обеспечения ESRI в течение многих лет, но я наконец доволен этим решением. По сути, вы можете просто сделать копию вашего Класса пространственных объектов с полями, которые были переупорядочены с помощью arcpy.FieldMappings . Все данные также переносятся. После завершения сценария просто переименуйте старый класс объектов в myFeatureClass_old, а новый - в myFeatureClass!
Вот сценарий, это очень просто:
источник
От класса объектов до класса объектов теперь можно выполнить это в 10.5 с помощью раздела «Сопоставление полей инструмента GP».
источник
MakeQueryTable позволит вам определить порядок полей для таблицы или FC (только для базы геоданных). Порядок, указанный вами в полях, является порядком вывода. Я считаю этот инструмент сложным в использовании. YMMV
Arctoolbox, инструменты управления данными, слои и табличные представления, составляют запрос Table
источник
Попробуйте OGR2OGR. Вы можете передать запрос SQL и расположить поля в нужном вам порядке.
Только что проверил, и все работает отлично!
К вашему сведению, самый простой способ установить OGR - через FWTools .
источник
Откройте файл .mdb в MS Access и измените порядок полей с помощью перетаскивания в представлении «Дизайн».
Хотя ESRI не рекомендует редактировать базу данных в ссылке Access ESRI
источник
Я немного опоздал на вечеринку по этому поводу, но я удивлен, что никто не упомянул диаграмму базы геоданных ESRI .
Ресурс, предоставленный ESRI для редактирования XML-структуры вашей базы геоданных и файлов. Насколько я понимаю, это важно, если вы работаете над чем-то, где дизайн должен быть идеальным (долгосрочный проект). Это избавит вас от необходимости постоянно создавать файлы после простой ошибки.
источник