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

11

У меня есть данные округа, в которых FIPs (на самом деле FIPS штата и округа FIPS вместе взятые). У меня есть данные, импортированные как CSV с теми же данными FIPS под названием STCounty. Однако шейп-файл FIPS указан как Real, а CSV - как Integer, и функция Join, похоже, не работает. Откидные коробки серые / пустые.

Таким образом, большие вопросы - как изменить тип атрибута в таблице?

Я попытался создать новый столбец в шейп-файле (данные округов) и установить его в целое число, а затем умножить FIPS * 1, но получил столбец, полный «NULL».

Я новичок в QGIS и имею большой опыт работы с MapInfo, поэтому концепция объединения не нова для меня, только синтаксис в QGIS.

user10525
источник

Ответы:

11

Создание нового целочисленного столбца - правильный путь, но 1*FIPSпроблема, которую вы использовали (которая будет работать в Excel или Libreoffice), - вот где проблема возникает; QGIS не выполняет автоматическое преобразование между типами полей в расчете.

Вам необходимо использовать одну из функций tointпреобразования ( преобразует в целое, tostringв текст и torealв вещественное / десятичное число) с правильным именем столбца:

toreal("FIPS")

Вы можете использовать плагин Tablemanager, чтобы затем удалить ненужные столбцы.

Настройка файла .csvt будет лучшим повторяемым решением, но для одного столбца это должно быть довольно просто.

Simbamangu
источник
1 * FIPS также работает в ArcGIS.
L_Holcombe
кажется глупым не иметь возможности просто изменить тип данных. Тем не менее, это, кажется, правильный ответ
chrismarx
1

У меня просто была такая же проблема. В моем случае я работаю с Libreoffice и QGIS.

Я экспортировал таблицу из R в .CSV с двумя столбцами: «id» и «veh». "id" - это целое число, а "veh" - реальное.

write.csv(tab2,file='/path/table.csv',row.names = F)

Когда я открываю table.csv в Libreoffice, поле veh читалось как «строка». Поэтому я создал еще одно слово «vehh» как умножение «veh» * 1, и в результате получилось желаемое число. Затем я сохранил файл как .ODS (Libre Office)

Затем я загружаю table.ODS в qgis, и "vehh" был распознан как Real.

Sergio
источник