Как я могу изменить тип данных в таблице атрибутов в ArcGIS для нескольких полей?
Например, если поля были экспортированы в виде строки из Excel, и я хотел бы использовать их в качестве числовых значений?
Как я могу изменить тип данных в таблице атрибутов в ArcGIS для нескольких полей?
Например, если поля были экспортированы в виде строки из Excel, и я хотел бы использовать их в качестве числовых значений?
Ответы:
Вы не можете изменить тип данных поля в ArcGIS, вам придется создавать новые поля с нужными типами данных и заполнять их значениями из ваших текущих полей. См. Как изменить форматы полей в базе геоданных ArcGIS 10.1?
Вы не упоминаете, какую версию ArcGIS for Desktop вы используете или где хранятся ваши данные, но есть страница « Изменение свойств поля», в которой описано, как с помощью ArcGIS 10.2 (или более поздней версии ):
Некоторые свойства поля можно изменить после создания таблицы или класса объектов
... но это относится только к пустым полям.
Начиная с 10.3 вышеупомянутая функциональность также доступна через инструмент Alter Fields :
Переименуйте поля и псевдонимы полей или измените свойства поля.
Вы можете изменить тип данных поля для полей, которые есть в вашем классе объектов. Однако вы не сможете преобразовать текстовые поля в числовые. Однако вы можете преобразовать ваши числовые поля в строки. Взгляните на справочную страницу Esri . Это не только для многопользовательской базы геоданных, она отлично работает даже для настольных баз геоданных, таких как файловая база геоданных.
Если таблица или класс объектов находятся в многопользовательской, рабочей группе или настольной базе геоданных , вы должны подключиться как владелец таблицы, чтобы изменить свойства поля.
Поскольку вы работаете с Excel, лучший способ убедиться в правильности типов данных - это определить типы данных ячеек непосредственно в Excel, прежде чем импортировать какие-либо данные. Однако если у вас есть текстовое поле с числами, вы, конечно, можете создать новое поле числового типа (например, целое или двойное) и рассчитать значения на основе этого текстового поля. Это будет хорошо работать, если ваши числа действительно числа («12» будет работать, но «12-1» не будет).
Насколько мне известно, это невозможно. В 10.3 Alter Field была расширена, чтобы позволить изменять тип поля; однако, это все еще работает, только когда в таблице нет записей.
Вот один из подходов к этому:
Calculate Field
или cursors
(с кастингом, если необходимо)Alter Field
переименовать временное полеЯ никогда не исследовал это, но отображение полей может работать для приведения полей к новым типам данных, что значительно упростит этот процесс. Что-то, чтобы посмотреть наверняка ....
Альтернативный способ заключается в открытии вашего .dbf
файла в OpenOffice Calc (или эквивалентном) и тщательном изменении заголовков его столбцов. Например, измените тип с C
(Символ) на N
(Числовой). Простой совет: сделайте резервную копию вашего файла перед попыткой.
Хотя вы не можете изменить имя поля и тип данных в самом наборе данных, можно создать копию с нужными изменениями, используя инструмент ArcGIS "Класс объектов в классе объектов". В настройках вы можете изменить имена, типы данных и другие характеристики полей.
Прежде всего необходимо попытаться понять, почему ArcGIS импортирует поле как строковый тип вместо числового / двойного типа данных. Я обнаружил, что даже если ваша ячейка (в Excel) пуста, если внутри нее есть «пробелы» (например, когда вы нажимаете пробел), ArcGIS будет интерпретировать их как символы. Если вы удалите их, вы увидите, что они теперь будут регистрироваться как числовые поля.
Посмотрите на этот документ . Обычно вы должны убедиться, что данные в правильном формате до и после импорта.
«ArcGIS обычно преобразует числовые поля электронной таблицы в двойную точность (двойную), которая может не соответствовать вашим потребностям. При необходимости создайте новые поля нужного типа и рассчитайте в них значения»
Если ваша цель - добавить данные из таблицы X в другую таблицу Y , но вы не можете этого сделать, потому что типы данных не соответствуют , вы также можете выполнить следующие шаги:
Экспорт обеих таблиц (.dbf)
Откройте таблицу Y в Excel.
Откройте таблицу X в Excel.
Скопируйте и вставьте данные из таблицы X в таблицу Y, убедившись, что вы копируете только значения, а не форму.
Теперь у вас есть новая таблица, содержащая данные из обеих таблиц с соответствующими типами данных.
6. Импортируйте эту таблицу в ArcMap
Никто не упомянул набор инструментов X-Ray для ArcGIS. Просто выполните поиск в Google для "X-Ray ArcGIS". Существует несколько вариантов для каждой версии ArcGIS и платформы (ArcCatalog, ArcMap). Вот одна из версий. Здесь другое. Он поддерживает множество функций, связанных с полями и доменами, включая изменение типа поля, имени, псевдонима, доменов и т. Д. В MS Excel и загрузку изменений обратно в GDB.