2010-01-26 5 views
13

누구든지 C++에서 ESRI shapefile (http://en.wikipedia.org/wiki/Shapefile)을 처리 (읽기) 한 경험이 있습니까?ESRI shapefile을 선택할 수있는 C++ 라이브러리는 무엇입니까?

ShapeLib C 라이브러리 (http://shapelib.maptools.org/)와 OGR (http://www.gdal.org/ogr/)의 적어도 2 개의 오픈 소스 라이브러리를 발견했습니다. 어느 것이 더 낫습니까? 아무도 그 중 하나를 사용 했습니까? 그 경험은 어때?

답변

8

나는 그것들이 모두 괜찮은 것으로 알고 있지만, ogr은 약간 무겁거나 이상한 목적으로 ShapeLib 라이브러리를 선택하려고한다.

셰이프 파일 형식은 매우 간단합니다. 특정/단순한 쉐이프 파일에만 액세스해야한다면 휠 재발견 및 직접 액세스 할 수있는 코드 작성을 고려할 수 있습니다. 내가 임베디드 애플 리케이션 에서이 일을했습니다 그리고 훨씬 더 많은 시간을 다음 libs를 사용하지 않았다.

+0

ShapeLib를 사용하기로 결심 해 주셔서 대단히 감사합니다. 이 경우 lib를 사용하여 다양한 응용 프로그램에서 이미 테스트 된 코드를 재개발하는 것은 의미가 없습니다. –

+0

안녕하세요, 미안 해요, 내 질문에 그냥 shapefiles 렌더링하는 방법을 알고 싶습니까? 내가 의미하는 것은지도 데이터를 그리는 것입니까? 모든 오픈 소스 코드가 이러한 목적으로 사용될 수 있습니까? 답장을 보내 주셔서 감사합니다. 감사합니다. – iXcoder

+0

@Robin,이 질문에 대한 답변을 얻는 가장 좋은 방법은 인터넷 검색입니다. 다음 번 최선의 방법은 별개의 질문으로 게시하는 것입니다. 주석은 새로운 문의 행을 시작할 적절한 장소가 아닙니다. – Richard

23

GDAL/OGR에서 OGR Shapefile 드라이버는 직접 Shapelib 구현을 사용하므로 실제로 차이가 없습니다. OGR 소스 트리를 확인하면 shpopen.c and dbfopen.c과 같은 Shapelib 파일을 찾을 수 있습니다.

또한 Frank Warmerdam은 Shapelib와 OGR의 저자이기 때문에 Frank는 Shapelen과 OGR 간의 동기화에서 shpopen.c와 dbfopen.c를 유지한다는 것을 확인할 수 있습니다.

요약하면 Shapefile 형식 사양의 구현과 관련하여 Shapelib과 OGR간에 차이가 없습니다.

관련 문제