Редактирование таблицы атрибутов объектов слоя QGIS в Excel:
1)Экспортировать слой в MIF/MID (кодировка windows-1251)
2)Переименовать MID в CSV, заменить разделитель "," на ";"
3)Открыть файл Excel и отредактировать. Можно удалить/добавить СТОЛБЦЫ.
Внимание!!! Ни в коем случае не удалять/не добавлять/не переставлять СТРОКИ
Связь геометрии объекта с его атрибутами в MIF/MID реализована за счёт Порядка их записи в файлах.
Если при редактировании ВДРУГ? необходимо СОРТИРОВАТЬ записи, то нужно добавить столбец
"Номер строки в MIF", сортировка по которому обеспечит возврат к начальному порядку строк.
4)Если в ячейках есть строки с символом "," заменить их на ";"
Сохранить новую таблицу как "CSV, разделитель запятая".
На самом же деле Excel создаст файл CSV с разделителем ";".
Те поля, в которых были символы ";" будут автоматически взяты в "" (кавычки)
5)Переименовать CSV в MID. Заменить ";" на ",".
В результате разделители превратятся в "," (как и должно быть в MID)
а запятые ВНУТРИ кавычек разделителями НЕ считаются.
6)Теперь смотрим MIF, который до этого НЕ трогали:
Columns (количество столбцов, а далее в каждой строчке имя поля(столбца) и параметры. Например)
Numb Decimal(10,0) - для чисел, насколько помню: кол-во знаков всего +1 в том числе кол-во знаков после запятой
.................................................
Name Char(254) - максимальное количество символов в строке (ну, образцы записи в исходном MIF должны быть)
7)Перетаскиваем MIF в QGIS в таблицу слоёв. А, да! Правой кнопкой по появившемуся слою -> "Установить систему координат" -> "Установить систему координат слоя"... Объекты должны появиться.
Собственно и всё. Файлы MIF/MID должны иметь одинаковые имена. Нельзя ошибаться с кол-м полей в MIF и MID.
Если кому-то процесс кажется сложным - дрыбайтесь с таблицей "внутрях" QGIS...
Редактирование таблицы атрибутов QGIS в Excel
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 20 сен 2019, 14:29
- Репутация: 1
- Откуда: Рыбинск
- Игорь Белов
- Гуру
- Сообщения: 2232
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1506
- Откуда: Казань
Re: Редактирование таблицы атрибутов QGIS в Excel
- Экспортируем шейп-файл в формат "Comma Separated Value CSV" в ту же папку и с тем же именем; в [Layer Options] выбираем:
- CREATE_CSVT=YES
- GEOMETRY=AS_WKT
- LINEFORMAT=CRLF
- SEPARATOR=SEMICOLUMN
- STRING_QUOTING=IF_AMBIGUOUS
- WRITE_BOM=NO
Если удаляете, добавляете или переставляете колонки местами, позаботьтесь о синхронном изменении файла описания типов .csvt. При описании типов можно не заботиться о количестве знаков и разрядов после запятой, достаточно привести базовый тип: String, Integer, Real. Разделители запятые.
Колонка WKT содержит геометрии.
Тройка файлов .csv + .csvt + .prj есть векторный слой в формате GeoCSV, и QGIS открывает его как любой другой векторный слой. Если исходный слой не имеет файла .prj, если сохранили .csv по другому пути или с другим именем или при сохранении выбрали другую систему координат, добавьте к .csv/.csvt правильный .prj.
The purpose of computing is insight, not numbers
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 20 сен 2019, 14:29
- Репутация: 1
- Откуда: Рыбинск
Re: Редактирование таблицы атрибутов QGIS в Excel
Игорь, спасибо за твой вариант.
Думаю, что это неплохо будет работать на слоях с объектами "Точка". Возьму на вооружение.
Но у меня была задача на слое типа "Полигоны" отредактировать атрибуты объектов (дополнить готовыми столбцами из внешней таблицы Excel) НЕ трогая геометрию (сотни объектов с несколькими сотнями вершин) .
Выпущенный по твоему варианту CSV "потянул" на 22Мб , из которых 21,95Мб - координаты,
потому что CSV по моему варианту "весит" 50кб...
Так что смотри, может и тебе мой вариант когда-нибудь пригодится...
Думаю, что это неплохо будет работать на слоях с объектами "Точка". Возьму на вооружение.
Но у меня была задача на слое типа "Полигоны" отредактировать атрибуты объектов (дополнить готовыми столбцами из внешней таблицы Excel) НЕ трогая геометрию (сотни объектов с несколькими сотнями вершин) .
Выпущенный по твоему варианту CSV "потянул" на 22Мб , из которых 21,95Мб - координаты,
потому что CSV по моему варианту "весит" 50кб...
Так что смотри, может и тебе мой вариант когда-нибудь пригодится...
-
- Интересующийся
- Сообщения: 44
- Зарегистрирован: 15 июн 2015, 10:26
- Репутация: 10
Re: Редактирование таблицы атрибутов QGIS в Excel
TrofimovSergey,
слой в БД? Тогда возьму ваш способ на вооружение.
А для слоя в шейпе я dbf-атрибуты легко правлю в LibreOffice.
слой в БД? Тогда возьму ваш способ на вооружение.
А для слоя в шейпе я dbf-атрибуты легко правлю в LibreOffice.
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 1 гость