Правка атрибутивных данных в GeoPackage
-
- Гуру
- Сообщения: 4225
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Правка атрибутивных данных в GeoPackage
Достался объемный набор данных в "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 (аналог), так чтобы избавиться от живых переносов, заместив их на какой-то безобидный символ или комбинацию символов.
Исходная ГИС-программа не позволяет править GPKG - только читать. "DB Browser for SQL" видит всю базу, но при попытке ее исправить ругается так, что Гугл сходу не смог помочь понять - программа этого вообще не умеет делать или дело либо в конкретном наборе GPKG, либо в формате GPKG вообще.
В любом случае этих переносов в слоях GPKG достаточно много - убирать их по одному - не вариант. Нужна массовая замена или замена при выгрузке в обменный формат.
"DB Browser for SQL" позволяет выгрузить таблицы JSON, где переносы даны как символы '\n' но не умеет их обратно загружать. Возможно, что есть вариант, выгрузить данные в geoJSON, поправить его, а потом загружать в какие-то другие GIS/GDAL/TAB форматы, но хотелось бы иметь более короткий путь.
Вопрос:
а) как и чем массово заменить/поправить данные в самом GPKG.
б) если никак, то, хотя бы, чем пакетно выгрузить данные в CSV (аналог), так чтобы избавиться от живых переносов, заместив их на какой-то безобидный символ или комбинацию символов.
-
- Гуру
- Сообщения: 5328
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1018
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Правка атрибутивных данных в GeoPackage
а пример можно?
-
- Гуру
- Сообщения: 4225
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Правка атрибутивных данных в GeoPackage
Пример самого геопака? Он 200 МБ. А как из него изъять немного данных я не очень умею. Я их использую как данные для построения и анализа.
Или пример данных? МОгу выложить одну запись в в JSON.
Или пример данных? МОгу выложить одну запись в в JSON.
-
- Гуру
- Сообщения: 5328
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1018
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Правка атрибутивных данных в GeoPackage
нужен gpkg с одной-двумя записью
-
- Гуру
- Сообщения: 4225
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Правка атрибутивных данных в GeoPackage
data.gpkg
Как смог почистил, не могу предсказать что осталось от исходной схемы данных: оставил только 1 таблицу, и убрал из нее все, кроме записей, где есть переносы строк. Колонка [osnovanie]. Правил в "DB Browser (SQLite)". Данные в ячейках не правятся, по прежнему.
-
- Гуру
- Сообщения: 5328
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1018
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Правка атрибутивных данных в GeoPackage
как то так
Код: Выделить всё
SELECT replace(osnovanie, X'0A', '\n') FROM FunctionalZone
- Вложения
-
- scr1.png (128.81 КБ) 990 просмотров
-
- Гуру
- Сообщения: 4225
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Правка атрибутивных данных в GeoPackage
Это исправит данные в геопаке? Я привык, что исправления в БД происходят через UPDATE. Погаю, что сама программа - это QGIS. То есть QGIS смог преодолеть какие-то триггеры или запреты внутри Бд?trir писал(а): ↑13 ноя 2024, 11:04как то так
Код: Выделить всё
SELECT replace(osnovanie, X'0A', '\n') FROM FunctionalZone
-
- Гуру
- Сообщения: 5328
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1018
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Правка атрибутивных данных в GeoPackage
геопак это SQLite БД который можно открыть в разных оболочках через которые можно с ним работать
SELECT можно переписать как UPDATE
SELECT можно переписать как UPDATE
-
- Гуру
- Сообщения: 4225
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Правка атрибутивных данных в GeoPackage
"DB Browser (SQLite)", что я нашел как среду управления БДSQLite, читает геопак как SQLite БД, но не дает править записи . Ругается у меня на отсутствие функции "ST_IsEmpty", разрешил только удалять записи целиком. Таблицы удалял вместе со связанными (или служебными?) таблицами и триггерами. Где и как прописаны зависимости я не нашел. Потому я искал ПО, из доступного - ArcGIS пишел, что умеет его править с версии 10.4, но у меня ArcGIS нет.
- Вложения
-
- Clipboard_11-14-2024_01.jpg (9.68 КБ) 829 просмотров
-
- Гуру
- Сообщения: 5328
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1018
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Правка атрибутивных данных в GeoPackage
нужно допилить напильником
https://gis.stackexchange.com/questions ... te-queries
https://gis.stackexchange.com/questions ... te-queries
-
- Гуру
- Сообщения: 4225
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Правка атрибутивных данных в GeoPackage
Спасибо!
После осознания, что зачем-то вместо правки атрибутивных данных, что у меня проходило в других гео-БД, правиться вся запись, включая повторную запись в геополе, нашел, что не хватает плагина "SpatiaLite".
Поставил, и возможность исправления появилась.
После осознания, что зачем-то вместо правки атрибутивных данных, что у меня проходило в других гео-БД, правиться вся запись, включая повторную запись в геополе, нашел, что не хватает плагина "SpatiaLite".
Поставил, и возможность исправления появилась.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость