Використовуєте GeoPackage замість SpatiaLite, і навпаки?


36

Зараз я використовую QGIS 2.18, який включає підтримку формату GeoPackage.

Я знаю, що GeoPackage - це як заміна Shapefile, але не зовсім так, оскільки GeoPackage має можливості бази даних. У той же час, GeoPackage не є повноцінною заміною SpatiaLite, оскільки він не має просторових запитів та функцій. Також Spatialite підтримує GeoPackage.

Отже, в контексті редагування QGIS, коли має сенс використовувати GeoPackage (і доступ до GeoPackage з SpatiaLite для просторових завдань SQL), а коли краще використовувати просто просторовий?


1
Мене цікавить і це питання. Майте на увазі, що підтримка геопакетів наразі обмежена через помилку блокування після першого редагування.
hilpers

Але це вже було вирішено ?! Не викликало проблем з 2.18.
Мат

На жаль, я використовую 2.18.3
hilpers

Я перевірив його з 2.18.3 за допомогою процедури, написаної у старому трекер помилок, і не зміг його відтворити. За яких обставин у вас виникла проблема?
Мат

Я також відчуваю помилку блокування після першого редагування за допомогою GeoPackage, але лише тоді, коли я використовую новий імпорт DWG / DXF в 2.18.3. Я можу успішно імпортувати DWG і спочатку редагувати створений GeoPackage (наприклад, для геореференції за допомогою плагіна Vector Bender). Але як тільки я закриваю проект QGIS і знову відкриваю, кнопка редагування тумблерів затьмарена, і GeoPackage більше не можна редагувати.
Роб Вілсон

Відповіді:


33

Невелике порівняння між GeoPackage та SpatiaLite у QGIS. На даний момент використовувати GeoPackage разом із QGIS не дуже ефективно. Хоча може змінитися досить швидко (див. Доповнення!).

Деякі доповнення щодо нового QGIS 2.99 псевдоніму QGIS 3, листопада 2017 року (також додано для порівняння): GeoPackage зараз працює майже без проблем у QGIS 3. У вас виникли незначні проблеми, які можуть стосуватися версії розробника QGIS. Також вирішено найбільш проблемне питання для SpatiaLite. Стовпці зараз можна видалити без додаткових обхідних шляхів. Обидва досі не підтримують растровий запис через GUI, що не є великою проблемою, оскільки растри в базі даних не є головним наміром. Обидва формати - це справді хороші робочі формати. Основна увага для GeoPackage - транспортний формат, а для SpatiaLite - це проста база даних, що базується на файлах, з багатьма інструментами для побудови локального сховища даних (оскільки це більше RDBMS, ніж формат файлів).

Обидва мають:

  1. транзакційний
  2. SQL та перегляди (але представлення по-різному реалізуються у використанні програмного забезпечення)
  3. векторні шари "все в одному", символіка та текст, растр
  4. attribut-таблиці майже без обмежень порівняно з shapefile
  5. періодично потрібен VACUUM (сховище даних для конкретних баз даних)
  6. більшість типів геометрії (як криві)

GeoPackage:

  1. є стандартом OGC, заснованим на SQLite, означає, що реалізація повинна бути більш послідовною у різних програмах; наприклад, символіка може працювати в QGIS та ArcMap у майбутньому, коли використовуються SLD-стилі
  2. досить молода (2014 р.), досить багато проблем із цим у QGIS до 2.18 (оновлення: хороша підтримка у QGIS 3)
  3. дозволяє легко видаляти стовпці в QGIS для "звичайних" користувачів, які виступають проти SpatiaLite
  4. зараз DB-Manager не дуже добре працює з ним, і підтримка растру обмежується читанням єдиного інтегрованого растру (без запису в нього) (використовуючи QGIS 2.18.3) (оновлення: DB-Manager зараз добре працює з геопакетом)
  5. перегляди не працюють у QGIS, але через віртуальний рівень не виникає особливих проблем, коли він не використовується для обміну між багатьма користувачами (оновлення: досі жодні представлення, оскільки QGIS 3 насправді не може створювати представлення даних, але їх не можна читати після цього)
  6. Інструменти геообробки не дозволяють додавати до існуючого файлу (замінює лише весь файл) (оновлення: працює зараз)

SpatiaLite:

  1. є розширенням до SQLite, по-різному реалізованого в GI-програмному забезпеченні (в основному через проблеми з драйверами та версіями)
  2. набагато старші та дотепер краще інтегровані в QGIS
  3. у QGIS ви не можете видалити стовпці без SQL-запиту, який не є складним, але для деяких користувачів уже занадто багато "коду" (оновлення: QGIS 3 робить це зараз)
  4. досить великий файл, коли ви маєте лише геометричну руку, не дуже хороший як транспортний формат, але для зберігання в локальній базі даних (він починається з приблизно 5 МБ)
  5. Багато додаткових інструментів (перегляди, можуть створювати дорожні мережі, багато форматів імпорту / експорту, ST_Queries тощо)

Чи плануєте ви використовувати GeoPackage або SpatiaLite лише з QGIS або з іншим програмним забезпеченням? SpatiaLite також підтримує все це gaia-gis.it/gaia-sins/spatialite-sql-latest.html автономно без QGIS.
користувач30184

Я в основному використовую SpatiaLite разом із QGIS, але також і з SpatiaLite-GUI. Я впроваджую це на своїх навчальних курсах QGIS. Єдиний момент - проблема видалення стовпців для початківців. Я не впроваджую це в тренуваннях ArcGIS, оскільки у них є база даних FileGeodatata, яка є в деяких органах обов'язковою (у 10%, коли це ще не форма файлу, яка все ще є найсучаснішим ...). Я почав оголошувати GeoPackage на просунутих курсах QGIS, але із зворотними зворотами, написаними вище. Але оскільки GDAL має гарну реалізацію, це не може затягнутися, поки QGIS не матиме необхідних кнопок.
Мат

Як ви розповідаєте, ваше порівняння стосується використання QGIS. Я хотів би підкреслити, що судити про те, що SpatiaLite або GeoPackage кращий за справою "стовпчик", це дуже специфічно для QGIS. Сам SQLite не підтримує цю операцію безпосередньо sqlite.org/lang_altertable.html . Ті ж обхідні шляхи працюють як для SpatiaLite, так і для GeoPackage, навіть деякі програми можуть пропустити кнопки.
користувач30184

1
Я поставив це в контексті початкового питання, де мова йшла про QGIS. Точка з стовпцем була одним із прикладів, коли я сподіваюся, що стандарт призведе до більш послідовного використання в програмах, оскільки це тема "нормального" користувача. Не впевнений, чи це стане можливим із SpatiaLite, оскільки рівень інтеграції настільки різний навіть через кілька років. Зрештою для мене це призведе до того, що це може бути новий стандартизований транспортний формат (GeoPackage). SpatiaLite набагато більше схожий на ГІС зі своїми вбудованими функціями (ST-Queries, безліч опцій імпорту даних, мережа ...).
Мат

І GeoPackage, і SpatiaLite засновані на SQLite.
Маттіас Кун
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.