Редактирование таблицы атрибутов QGIS в Excel

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
TrofimovSergey
Интересующийся
Сообщения: 33
Зарегистрирован: 20 сен 2019, 14:29
Репутация: 1
Откуда: Рыбинск

Редактирование таблицы атрибутов QGIS в Excel

Сообщение TrofimovSergey » 25 мар 2020, 13:53

Редактирование таблицы атрибутов объектов слоя 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...

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 1897
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 1199
Откуда: Казань

Re: Редактирование таблицы атрибутов QGIS в Excel

Сообщение Игорь Белов » 25 мар 2020, 14:22

  1. Экспортируем шейп-файл в формат "Comma Separated Value CSV" в ту же папку и с тем же именем; в [Layer Options] выбираем:
    • CREATE_CSVT=YES
    • GEOMETRY=AS_WKT
    • LINEFORMAT=CRLF
    • SEPARATOR=SEMICOLUMN
    • STRING_QUOTING=IF_AMBIGUOUS
    • WRITE_BOM=NO
Это всё, редактируйте .csv на здоровье. Количество символов в ячейке не ограничено величиной 254 байта.

Если удаляете, добавляете или переставляете колонки местами, позаботьтесь о синхронном изменении файла описания типов .csvt. При описании типов можно не заботиться о количестве знаков и разрядов после запятой, достаточно привести базовый тип: String, Integer, Real. Разделители запятые.
Колонка WKT содержит геометрии.

Тройка файлов .csv + .csvt + .prj есть векторный слой в формате GeoCSV, и QGIS открывает его как любой другой векторный слой. Если исходный слой не имеет файла .prj, если сохранили .csv по другому пути или с другим именем или при сохранении выбрали другую систему координат, добавьте к .csv/.csvt правильный .prj.

TrofimovSergey
Интересующийся
Сообщения: 33
Зарегистрирован: 20 сен 2019, 14:29
Репутация: 1
Откуда: Рыбинск

Re: Редактирование таблицы атрибутов QGIS в Excel

Сообщение TrofimovSergey » 26 мар 2020, 08:54

Игорь, спасибо за твой вариант.
Думаю, что это неплохо будет работать на слоях с объектами "Точка". Возьму на вооружение. :idea:
Но у меня была задача на слое типа "Полигоны" отредактировать атрибуты объектов (дополнить готовыми столбцами из внешней таблицы Excel) НЕ трогая геометрию (сотни объектов с несколькими сотнями вершин) 8) .
Выпущенный по твоему варианту CSV "потянул" на 22Мб :shock: , из которых 21,95Мб - координаты,
потому что CSV по моему варианту "весит" 50кб...
Так что смотри, может и тебе мой вариант когда-нибудь пригодится... :roll:

ixet08
Интересующийся
Сообщения: 31
Зарегистрирован: 15 июн 2015, 10:26
Репутация: 8

Re: Редактирование таблицы атрибутов QGIS в Excel

Сообщение ixet08 » 31 мар 2020, 19:17

TrofimovSergey,
слой в БД? Тогда возьму ваш способ на вооружение.
А для слоя в шейпе я dbf-атрибуты легко правлю в LibreOffice.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей