Изменение типа данных в таблице атрибутов ArcGIS?


9

Как я могу изменить тип данных в таблице атрибутов в ArcGIS для нескольких полей?

Например, если поля были экспортированы в виде строки из Excel, и я хотел бы использовать их в качестве числовых значений?


1
Вы не можете выполнять таблицу за таблицей, если типы данных не совпадают. Я знаю, что попробовал.
Сэм

Пожалуйста, не забудьте указать формат и версию источника данных. (Ent базы данных, шейп-файл, filegdb, личный GDB?)
Брэд Несом

@ Брэд работа с шейпфайлами в ArcGIS 10.2, источник данных локально на моем компьютере
Борясь

Ответы:



3

Вы не упоминаете, какую версию ArcGIS for Desktop вы используете или где хранятся ваши данные, но есть страница « Изменение свойств поля», в которой описано, как с помощью ArcGIS 10.2 (или более поздней версии ):

Некоторые свойства поля можно изменить после создания таблицы или класса объектов

... но это относится только к пустым полям.

Начиная с 10.3 вышеупомянутая функциональность также доступна через инструмент Alter Fields :

Переименуйте поля и псевдонимы полей или измените свойства поля.


нужна точность. с 10.2.1
GeoStoneMarten

@GeoStoneMarten Изменить поля в 10.2.1, кажется, только для переименования полей, тогда как мой ответ относится к изменению типов данных, и я думаю, что остается в силе. Тем не менее, ответ @Paul предполагает, что Alter Fields расширил свою функциональность, включив изменение типов данных в 10.3.
PolyGeo

Не только, но да, если есть существующие данные ... Хорошо для других
GeoStoneMarten

2

Вы можете изменить тип данных поля для полей, которые есть в вашем классе объектов. Однако вы не сможете преобразовать текстовые поля в числовые. Однако вы можете преобразовать ваши числовые поля в строки. Взгляните на справочную страницу Esri . Это не только для многопользовательской базы геоданных, она отлично работает даже для настольных баз геоданных, таких как файловая база геоданных.

Если таблица или класс объектов находятся в многопользовательской, рабочей группе или настольной базе геоданных , вы должны подключиться как владелец таблицы, чтобы изменить свойства поля.

Поскольку вы работаете с Excel, лучший способ убедиться в правильности типов данных - это определить типы данных ячеек непосредственно в Excel, прежде чем импортировать какие-либо данные. Однако если у вас есть текстовое поле с числами, вы, конечно, можете создать новое поле числового типа (например, целое или двойное) и рассчитать значения на основе этого текстового поля. Это будет хорошо работать, если ваши числа действительно числа («12» будет работать, но «12-1» не будет).


2

Насколько мне известно, это невозможно. В 10.3 Alter Field была расширена, чтобы позволить изменять тип поля; однако, это все еще работает, только когда в таблице нет записей.

Вот один из подходов к этому:

  1. Добавьте новое поле с временным именем и правильным типом данных
  2. Используйте Calculate Fieldили cursors(с кастингом, если необходимо)
  3. Удалить старое поле
  4. Alter Field переименовать временное поле
  5. (Необязательно) Скопируйте таблицу с некоторыми сопоставлениями полей, чтобы восстановить исходный порядок.

Я никогда не исследовал это, но отображение полей может работать для приведения полей к новым типам данных, что значительно упростит этот процесс. Что-то, чтобы посмотреть наверняка ....


1
Я обычно сначала переименовываю старое поле. таким образом, я могу заново создать новое поле, вычислить значения и затем удалить старое поле. Когда вы начнете вычислять значения, вам может понадобиться выбрать все ненулевые значения. и или конвертировать / разбивать любые строковые значения
Брэд Несом

1
Также у et tools есть несколько бесплатных функций, которые были бы полезны. ian-ko.com Посмотрите на бесплатные функции гео-волшебников.
Брэд Несом

@Brad Я искал бесплатные функции, xtools был полезен, но я всегда открыт для большего / лучшего выбора. спасибо за вклад
Борьба

@BradNesom, хорошая мысль! Это будет иметь больше смысла.
Пол

1

Альтернативный способ заключается в открытии вашего .dbfфайла в OpenOffice Calc (или эквивалентном) и тщательном изменении заголовков его столбцов. Например, измените тип с C(Символ) на N(Числовой). Простой совет: сделайте резервную копию вашего файла перед попыткой.


1

Хотя вы не можете изменить имя поля и тип данных в самом наборе данных, можно создать копию с нужными изменениями, используя инструмент ArcGIS "Класс объектов в классе объектов". В настройках вы можете изменить имена, типы данных и другие характеристики полей.


1

Прежде всего необходимо попытаться понять, почему ArcGIS импортирует поле как строковый тип вместо числового / двойного типа данных. Я обнаружил, что даже если ваша ячейка (в Excel) пуста, если внутри нее есть «пробелы» (например, когда вы нажимаете пробел), ArcGIS будет интерпретировать их как символы. Если вы удалите их, вы увидите, что они теперь будут регистрироваться как числовые поля.


0

Посмотрите на этот документ . Обычно вы должны убедиться, что данные в правильном формате до и после импорта.

«ArcGIS обычно преобразует числовые поля электронной таблицы в двойную точность (двойную), которая может не соответствовать вашим потребностям. При необходимости создайте новые поля нужного типа и рассчитайте в них значения»


0

Если ваша цель - добавить данные из таблицы X в другую таблицу Y , но вы не можете этого сделать, потому что типы данных не соответствуют , вы также можете выполнить следующие шаги:

  1. Экспорт обеих таблиц (.dbf)

  2. Откройте таблицу Y в Excel.

  3. Откройте таблицу X в Excel.

  4. Скопируйте и вставьте данные из таблицы X в таблицу Y, убедившись, что вы копируете только значения, а не форму.

  5. Теперь у вас есть новая таблица, содержащая данные из обеих таблиц с соответствующими типами данных.

6. Импортируйте эту таблицу в ArcMap


0

Никто не упомянул набор инструментов X-Ray для ArcGIS. Просто выполните поиск в Google для "X-Ray ArcGIS". Существует несколько вариантов для каждой версии ArcGIS и платформы (ArcCatalog, ArcMap). Вот одна из версий. Здесь другое. Он поддерживает множество функций, связанных с полями и доменами, включая изменение типа поля, имени, псевдонима, доменов и т. Д. В MS Excel и загрузку изменений обратно в GDB.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.