SpatiaLite 대신 GeoPackage를 사용합니까?


35

현재 GeoPackage 형식에 대한 지원을 포함하는 QGIS 2.18을 사용하고 있습니다.

GeoPackage는 Shapefile을 대체하는 것과 비슷하지만 GeoPackage에는 데이터베이스 기능이 있기 때문에 그렇지 않습니다. 동시에 GeoPackage는 공간 쿼리 및 기능이 없기 때문에 SpatiaLite를 완전히 대체하지 않습니다. 또한 Spatialite는 GeoPackage를 지원합니다.

QGIS 편집과 관련하여 언제 GeoPackage를 사용하고 (Spatial SQL 작업을 위해 SpatiaLite에서 GeoPackage에 액세스하는 것이), 언제 Spatialite 만 사용하는 것이 더 낫습니까?


1
이 질문에도 관심이 있습니다. geopackage-support는 현재 첫 번째 편집 후 잠금 버그로 인해 제한되어 있습니다.
힐러리

그러나 이것은 이미 해결 되었습니까?! 2.18 문제를 권장하지 않았습니다.
Matt

불행히도, 나는 2.18.3
hilpers

나는 오래된 버그 추적기에서 작성된 절차로 2.18.3으로 테스트했으며 그것을 재현 할 수 없었습니다. 어떤 상황에서 문제가 발생 했습니까?
Matt

또한 GeoPackage로 처음 편집 한 후 2.18.3에서 새로운 DWG / DXF 가져 오기를 사용할 때만 잠금 버그가 발생합니다. DWG를 성공적으로 가져오고 처음 생성 된 GeoPackage를 편집 할 수 있습니다 (예 : Vector Bender 플러그인으로 지리 참조). 그러나 QGIS 프로젝트를 닫고 다시 열면 토글 편집 버튼이 회색으로 표시되고 GeoPackage를 다시 편집 할 수 없습니다.
Rob Willson

답변:


32

QGIS에서 GeoPackage와 SpatiaLite의 작은 비교. QGIS와 함께 GeoPackage를 사용하는 것은 실제로 생산적이지 않습니다. 그래도 꽤 빨리 변경 될 수 있습니다 (추가 내용 참조).

새로운 QGIS 2.99 별칭 QGIS 3, 2017 년 11 월에 대한 일부 추가 사항 (또한 비교로 추가) : GeoPackage는 이제 QGIS 3에서 거의 문제없이 작동합니다. QGIS 개발자 버전과 관련하여 사소한 문제가 발생했습니다. SpatiaLite의 가장 문제가되는 문제도 해결되었습니다. 추가 해결 방법없이 열을 삭제할 수 있습니다. 둘 다 여전히 GUI를 통한 래스터 작성을 지원하지 않습니다. 데이터베이스의 래스터가 주요 의도가 아니기 때문에 큰 문제는 아닙니다. 두 형식 모두 실제로 작동하는 형식입니다. GeoPackage는 전송 형식에 중점을두고 있으며 SpatiaLite는 로컬 데이터 저장소를 구축하기위한 많은 도구 (파일 형식보다 RDBMS가 많기 때문에)가 많은 간편한 파일 기반 데이터베이스 시스템입니다.

둘 다 가지고있다 :

  1. 거래
  2. SQL 및 뷰 (하지만 뷰는 사용중인 소프트웨어에서 다르게 구현 됨)
  3. "모두 하나로"벡터 레이어, 기호 및 텍스트, 래스터
  4. shapefile에 비해 거의 제한이없는 속성 테이블
  5. 때때로 VACUUM이 필요함 (데이터베이스 별 데이터 스토리지)
  6. 대부분의 지오메트리 유형 (곡선과 같은)

지오 패키지 :

  1. SQLite를 기반으로하는 OGC 표준으로, 구현이 다른 소프트웨어에서보다 일관되어야합니다. 예를 들어, SLD- 스타일이 사용될 때 기호는 QGIS 및 ArcMap에서 작동 할 수 있습니다.
  2. 꽤 젊음 (2014), QGIS에서 최대 2.18까지의 문제가 있음 (업데이트 : QGIS 3에서 우수한 지원)
  3. SpatiaLite에 반대하는 "일반"사용자를 위해 QGIS에서 열을 쉽게 제거 할 수 있습니다.
  4. 현재 DB-Manager는 잘 작동하지 않으며 래스터 지원은 단일 통합 래스터 읽기 (기록하지 않음) (QGIS 2.18.3 사용)로 제한됩니다 (업데이트 : DB-Manager는 현재 지오 패키지에서 잘 작동합니다)
  5. QGIS에서 작동하지 않지만 많은 사용자들 사이에서 공유하기 위해 사용되지 않을 때 가상 계층을 통한 문제는 그리 크지 않습니다
  6. 지오 프로세싱 도구는 기존 파일에 추가 할 수 없습니다 (전체 파일 만 대체 함) (업데이트 : 지금 작동)

SpatiaLite :

  1. GI 소프트웨어에서 다르게 구현되는 SQLite의 확장입니다 (주로 드라이버 및 버전 문제로 인해)
  2. 훨씬 더 오래되고 지금까지 QGIS에 더 잘 통합되었습니다.
  3. QGIS에서는 복잡하지 않은 SQL 쿼리없이 열을 삭제할 수 없지만 일부 사용자에게는 이미 "코드"가 너무 많습니다 (업데이트 : QGIS 3에서 현재 수행함)
  4. 손으로 지오메트리로 가득 찬 손을 가지고있을 때 꽤 큰 파일, 전송 형식은 아니지만 로컬 데이터베이스 저장소 (약 5MB로 시작)
  5. 다양한 추가 도구 (보기, 도로 네트워크, 많은 가져 오기 / 내보내기 형식, ST_Queries 등을 만들 수 있음)

GeoPackage 또는 SpatiaLite를 QGIS 또는 다른 소프트웨어와 함께 사용할 계획입니까? SpatiaLite는 또한 QGIS 없이이 gaia-gis.it/gaia-sins/spatialite-sql-latest.html 독립형을 모두 지원합니다 .
user30184

저는 대부분 SpatiaLite를 QGIS와 함께 사용하지만 SpatiaLite-GUI 와도 함께 사용합니다. QGIS 교육 과정에서 소개합니다. 초보자를위한 열을 삭제하는 데 문제가 있습니다. 필자는 일부 기관에 FileGeodatabase가 있기 때문에 ArcGIS 교육에 소개하지 않습니다 (10 %는 여전히 최신 상태의 shapefile이 아닙니다 ...). 고급 QGIS 과정에서 GeoPackage를 발표하기 시작했지만 위에서 언급 한 단점이 있습니다. 그러나 GDAL이 제대로 구현되었으므로 QGIS에 필요한 버튼이있을 때까지 오래 걸리지 않습니다.
Matt

알다시피, QGIS 사용에 대한 비교입니다. SpadropLite 또는 GeoPackage가 "drop column"사례로 더 나은지 판단하는 것은 매우 QGIS에 특유하다는 점을 강조하고 싶습니다. SQLite 자체는이 작업을 직접 sqlite.org/lang_altertable.html을 지원하지 않습니다 . SpatiaLite 및 GeoPackage 모두 동일한 해결 방법이 작동하지만 일부 소프트웨어에서도 버튼이 누락 될 수 있습니다.
user30184

1
QGIS에 관한 원래 질문의 맥락에 넣었습니다. 열이있는 요점은 표준이 "일반적인"사용자를위한 주제이기 때문에 표준이 프로그램에서보다 일관되게 사용되기를 바랍니다. 몇 년이 지난 후에도 통합 수준이 매우 다르므로 SpatiaLite를 사용하여 이것이 가능한지 확실하지 않습니다. 결국에는 새로운 표준화 된 전송 형식 (GeoPackage)이 될 수 있습니다. SpatiaLite는 내장 기능 (ST-Queries, 많은 데이터 가져 오기 옵션, 네트워크 ...)이있는 GIS와 훨씬 비슷합니다.
Matt

GeoPackage와 SpatiaLite는 모두 SQLite 기반입니다.
Matthias Kuhn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.