Правка атрибутивных данных в GeoPackage

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Boris
Гуру
Сообщения: 4225
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Правка атрибутивных данных в GeoPackage

Сообщение Boris » 07 ноя 2024, 04:46

Достался объемный набор данных в "GPKG -- GeoPackage vector", в котором в нескольких столбцах есть текстовые данные с переносами строки (символ '\n'). Данные нужны не только для просмотра геометрии, но и для некоторого анализа. Для этого данные должны быть выгружены так, чтобы сторонние программы могла их прочитать. Идеальный вариант - CSV, но он сходу не прошел, т.к. переносы в полях сбивают порядок столбцов в CSV. DBF и прочие бинарные, сохраняют структуру, но пока не удалось подобрать формат, который не обрезает строку в 255 символов или был доступен в программе анализа.
Исходная ГИС-программа не позволяет править GPKG - только читать. "DB Browser for SQL" видит всю базу, но при попытке ее исправить ругается так, что Гугл сходу не смог помочь понять - программа этого вообще не умеет делать или дело либо в конкретном наборе GPKG, либо в формате GPKG вообще.
В любом случае этих переносов в слоях GPKG достаточно много - убирать их по одному - не вариант. Нужна массовая замена или замена при выгрузке в обменный формат.
"DB Browser for SQL" позволяет выгрузить таблицы JSON, где переносы даны как символы '\n' но не умеет их обратно загружать. Возможно, что есть вариант, выгрузить данные в geoJSON, поправить его, а потом загружать в какие-то другие GIS/GDAL/TAB форматы, но хотелось бы иметь более короткий путь.
Вопрос:
а) как и чем массово заменить/поправить данные в самом GPKG.
б) если никак, то, хотя бы, чем пакетно выгрузить данные в CSV (аналог), так чтобы избавиться от живых переносов, заместив их на какой-то безобидный символ или комбинацию символов.

trir
Гуру
Сообщения: 5328
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1018
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Правка атрибутивных данных в GeoPackage

Сообщение trir » 07 ноя 2024, 07:38

а пример можно?

Boris
Гуру
Сообщения: 4225
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Правка атрибутивных данных в GeoPackage

Сообщение Boris » 07 ноя 2024, 14:13

Пример самого геопака? Он 200 МБ. А как из него изъять немного данных я не очень умею. Я их использую как данные для построения и анализа.
Или пример данных? МОгу выложить одну запись в в JSON.

trir
Гуру
Сообщения: 5328
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1018
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Правка атрибутивных данных в GeoPackage

Сообщение trir » 07 ноя 2024, 14:33

нужен gpkg с одной-двумя записью

Boris
Гуру
Сообщения: 4225
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Правка атрибутивных данных в GeoPackage

Сообщение Boris » 08 ноя 2024, 19:59

trir писал(а):
07 ноя 2024, 14:33
нужен gpkg с одной-двумя записью
data.gpkg
Как смог почистил, не могу предсказать что осталось от исходной схемы данных: оставил только 1 таблицу, и убрал из нее все, кроме записей, где есть переносы строк. Колонка [osnovanie]. Правил в "DB Browser (SQLite)". Данные в ячейках не правятся, по прежнему.

trir
Гуру
Сообщения: 5328
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1018
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Правка атрибутивных данных в GeoPackage

Сообщение trir » 13 ноя 2024, 11:04

как то так

Код: Выделить всё

SELECT replace(osnovanie, X'0A', '\n') FROM FunctionalZone
Вложения
scr1.png
scr1.png (128.81 КБ) 981 просмотр

Boris
Гуру
Сообщения: 4225
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Правка атрибутивных данных в GeoPackage

Сообщение Boris » 14 ноя 2024, 14:55

trir писал(а):
13 ноя 2024, 11:04
как то так

Код: Выделить всё

SELECT replace(osnovanie, X'0A', '\n') FROM FunctionalZone
Это исправит данные в геопаке? Я привык, что исправления в БД происходят через UPDATE. Погаю, что сама программа - это QGIS. То есть QGIS смог преодолеть какие-то триггеры или запреты внутри Бд?

trir
Гуру
Сообщения: 5328
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1018
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Правка атрибутивных данных в GeoPackage

Сообщение trir » 14 ноя 2024, 15:19

геопак это SQLite БД который можно открыть в разных оболочках через которые можно с ним работать

SELECT можно переписать как UPDATE

Boris
Гуру
Сообщения: 4225
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Правка атрибутивных данных в GeoPackage

Сообщение Boris » 14 ноя 2024, 22:49

trir писал(а):
14 ноя 2024, 15:19
геопак это SQLite БД который можно открыть в разных оболочках через которые можно с ним работать
"DB Browser (SQLite)", что я нашел как среду управления БДSQLite, читает геопак как SQLite БД, но не дает править записи . Ругается у меня на отсутствие функции "ST_IsEmpty", разрешил только удалять записи целиком. Таблицы удалял вместе со связанными (или служебными?) таблицами и триггерами. Где и как прописаны зависимости я не нашел. Потому я искал ПО, из доступного - ArcGIS пишел, что умеет его править с версии 10.4, но у меня ArcGIS нет.
Вложения
Clipboard_11-14-2024_01.jpg
Clipboard_11-14-2024_01.jpg (9.68 КБ) 820 просмотров

trir
Гуру
Сообщения: 5328
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1018
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Правка атрибутивных данных в GeoPackage

Сообщение trir » 15 ноя 2024, 07:27

нужно допилить напильником
https://gis.stackexchange.com/questions ... te-queries

Boris
Гуру
Сообщения: 4225
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Правка атрибутивных данных в GeoPackage

Сообщение Boris » 16 ноя 2024, 14:27

Спасибо!
После осознания, что зачем-то вместо правки атрибутивных данных, что у меня проходило в других гео-БД, правиться вся запись, включая повторную запись в геополе, нашел, что не хватает плагина "SpatiaLite".
Поставил, и возможность исправления появилась.

Ответить

Вернуться в «Общий - ПО»

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

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