오픈 소스, 크로스 플랫폼 데이터 셋 유형으로 Shapefiles에 대한 대안 [닫기]


20

ESRI 지향 소프트웨어를 개발 중이지만 향후 버전에서는 ESRI 소프트웨어를 사용하지 않을 수 있습니다. 쉐이프 파일과 지오 데이터베이스를 사용합니다. Android 및 기타 모바일 장치에 포함될 소프트웨어의 향후 버전을 기대하여 모든 데이터를 Shapefile로 가져올 계획입니다. 셰이프 파일은 오픈 소스 GIS 세계의 기능에 대한 가장 일반적인 데이터 유형 인 것으로 보이지만 다른 것은 무엇이고 어떤 이점이 있습니까? GeoJSON과 KML에 익숙하지만 다른 것도 있습니다.

모든 옵션을 알고 싶지만 특히 모바일 장치에 저장하기에 가장 적합한 데이터 집합 유형에 관심이 있습니다 (인터넷에 연결하지 않고도 데이터에 액세스 할 수 있어야 함).



1
2011 년의 질문은 GeoPackage가 존재하기 전에 요청되었으며 자연스럽게 그 대안을 포함하지 않습니다.
user30184

2
Esri 파일 지오 데이터베이스는 대부분의 작은 라이브러리의 텍스트 내용에 필적하는 최대 길이의 char 필드를 가지며 Esri 개인 지오 데이터베이스는 매우 긴 텍스트 필드도 지원합니다. 둘 다 QGIS 및 Esri ArcGIS를 통해 액세스 할 수 있지만 이러한 데이터 유형에 대한 지원은 이러한 패키지 외부에서 제한됩니다. 그러나 버전에 유의 하십시오. 발생하는 대부분의 Esri 소프트웨어가 10 이상 이므로 QGIS 용 지오 데이터베이스 API 가이 버전을 지원 해야 하므로 9.3 호환 버전을 만들려고 합니다 . GeoJSON과 KML은 큰 텍스트 필드를 지원할 수 있지만 보편적으로 읽을 수있는 것은 아닙니다.
Michael Stimson 21

1
음, 9.3은 파일 지오 데이터베이스 호환성에 대한 좋은 계획이 아닙니다. FGDB API는 9.x 스타일의 .gdb를 지원하지 않습니다.
Vince

1
@ElioDiaz 셰이프 파일은 가장 보편적 인 피쳐 전송 미디어이므로 거의 모든 GIS 패키지가 열리거나 Esri 셰이프 파일을 가져올 수 있기 때문에 한계에도 불구하고 여전히 존재합니다 . 형식은 공개 표준이므로 누구나 자신의 방식으로 읽고 구현할 수 있습니다. 의심 할 여지없이 뛰어난 GIS 기능 형식은 있지만 보편적으로 채택되지는 않았습니다.이 주제는 GIS.SE 에서 여러 번 논의되었습니다. 우리가 원했던 한, shapefile은 한동안 피쳐에 대해 가장 낮은 공통 분모 가 될 가능성이 높기 때문에 웃기만하면됩니다.
Michael Stimson

답변:


18

@ user890이 말했듯이, 이것은 데이터가 어떻게 사용되는지에 달려 있습니다. 주로 데이터에 액세스 할 수있는 두 가지 방법이 있습니다.

  1. 한 번에 메모리에 모두로드 한 다음 메모리의 데이터에 액세스 / 쿼리합니다.
  2. 특정 기능, 경계 상자 등을 쿼리하여

GeoJSON 및 KML과 같은 형식은 모든 것을 한 번에로드하려는 경우에 가장 적합합니다. 장점은 데이터를 응용 프로그램에보다 적합한 방식으로 구성 할 수 있다는 것입니다. 단점 : 파일 크기가 크므로 (텍스트 기반이므로) 파일에서 직접 효율적으로 쿼리를 수행 할 수 없습니다.

SQLite / Spatialite는 쿼리 (SQL)에 더 좋지만 데이터를 구조화하기가 더 어렵습니다. 쿼리 할 때 모든 것을 데이터베이스 테이블로 병합 한 다음 JOIN (비용이 많이들 수 있음)을 수행해야합니다.

실제로 모든 것을 다룰 수있는 완벽한 파일 형식은 없습니다 (그러나 shapefile은 완벽하지 않습니다). 고려해야 할 한 가지 대안은 고유 한 응용 프로그램 별 형식을 롤링하는 것입니다. 그러나 외부 세계와 데이터를 공유 할 필요가없는 경우에만 작동합니다.


14

OGR 벡터 형식 목록 (링크 업데이트)은 내가 들어 본 모든 오픈 소스 형식과 그 이상을 식별 한다고 생각합니다 . 각 형식에는 고유 한 장단점이 있으므로 어떤 것이 '최고'인지 말하기 어렵습니다. 모바일 앱의 경우 파일 크기가 더 중요한 결정 요인 중 하나라고 생각합니다.

모바일 애플리케이션의 경우 sqlite / spatialite 형식이 시작하는 논리 형식이라고 생각합니다. Android가 sqlite를 기본적으로 지원한다는 것을 알고 있습니다. 따라서 공간 확장을로드 할 수 있다고 가정하면 매우 강력한 기능을 사용할 수 있습니다.

얼마나 모험적인지에 따라 안드로이드 용 gdal을 만드는 것은 불가능하지 않은 것으로 보입니다 . 그런 다음 원하는대로 더 많은 형식을 가질 수 있습니다. 이 경로를 사용하면이 사이트의 많은 사용자가 관심을 가질 것이라고 확신합니다.


13

최근에 나온 새로운 형식은 Geopackage 입니다. 이 사양은 SQLite 데이터베이스를 기반으로 구축되었으므로 단일 파일 기반이지만 OGC 표준 이라는 추가 이점이 있습니다.
파일 크기에 관해서는, 그 기억 형식은보다 더 컴팩트 한 것으로 보인다 .shp.dbfShape 파일에 사용되는 공간 및 속성 데이터 형식. 따라서 GeoPackage는 셰이프 파일에있는 동일한 피처의 전체 크기와 같거나 더 작을 수 있습니다.
이 사진은 샌디에고의 하수관을 Shapefile과 GeoPackage로 저장 한 모습을 보여줍니다. 보시다시피, 기본적으로 같은 크기입니다. 셰이프 파일 및 지오 패키지 크기
이 형식은 SQLite를 기반으로하기 때문에 모바일 장치 용으로 준비되어 있어야합니다. 많은 앱이 이미이 데이터베이스 형식을 저장 용으로 사용하므로 입증 된 기술입니다. 번역이 필요없이 크로스 플랫폼에서 사용할 수 있습니다.


4

Lennert에 동의하여 작업에 적합한 형식을 선택하십시오.

그러나 Spatialite는 매우 다양한 형식임을 알았습니다. 단일 파일을 사용하여 shapefile과 같은 데이터를 저장하고 공유 할 수있는 유연성을 가지지 만 문자 제한으로 언급 한 문제는 무시합니다. 공간 데이터베이스의 이점을 활용할 수있는 기회를 제공합니다.

불행히도 ArcGIS에서 완벽하게 지원되지는 않지만 (약간 시도하지 않았으므로 틀릴 수 있습니다) QGIS에서는 훌륭하게 작동합니다.


4

다양한 형식이 있으며 가장 적합한 형식은 사용하는 데이터 세트, 사용하는 도구 및 관련 작업에 따라 다릅니다.

내가 사용하는 것 중 일부 :

  • 파일 지오 데이터베이스 및 공간 데이터베이스 : 내가 사용하는 포괄. 모든 종류의 데이터를 보유 할 수 있으며 관계, 색인 생성이 가능합니다. Esri 환경에서 작업 할 때는 gdb를 사용하고 다른 것은 공간적입니다.

  • GeoJson : 읽기 쉬운 형식 일반적으로 인덱싱 방식이 많이 필요하지 않은 작은 데이터 집합에 사용

  • 적절한 데이터베이스 : 나는 이것을 거대한 데이터 세트와 복잡한 알고리즘에 사용하는 경향이 있습니다.

그러나 다른 많은 것들도 있습니다.


3

SQLite / spatiallite 데이터베이스를 사용하는 것이 좋습니다. 지오 데이터베이스 (일대 다에서 여러 테이블 / 레이어)와 같은 단일 파일이며 ArcGIS Desktop 및 QGIS에서 사용할 수 있습니다.


폴리곤 데이터를 sqlite로 저장하고 QGIS로로드했으며 "CRS가 정의되지 않았습니다. 기본값은 CRS EPSG : 4326-WGS84"라는 메시지가 나타납니다. 프로젝션에 대한 정보를 잃지 않습니까?
Ichiro

폴리곤 레이어를 sqlite에 저장 한 소프트웨어는 무엇입니까?
artwork21

1

옵션은 실제로 어떤 언어를 사용할 것인지, 어떻게 데이터를 사용할 것인지에 달려 있습니다. 안드로이드는 아마도 자바 일 것이다. 모든 옵션은 해당 결정에 따라 일종의 비용 / 혜택 비교가됩니다. 모든 데이터 형식은 특정 사용 사례에 최적화되어 있습니다.

다음 질문은 데이터 사용 방법입니다. 모바일 앱이 공간 데이터를 읽습니까? 아니면 데이터를 자주 읽고 쓰는가? 다른 장치 나 서버와 데이터를 얼마나 자주 교환합니까?

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