문제

이 있는 경우 지리적 데이터 저장에 ESRI 양,당신은 적어도 세 가지 파:하나의 종료와 함께.shp 포함하는 벡터 데이터를 하나의 종료와 함께.dbf 포함한 특성과 로 끝나는 파일이다.shx 가 포함된 인덱스입니다.

나에게 관심에 shx 파일에 있습니다.그것은 어떻게 일하는가?을 포함하고 있는지 완벽한 매핑을 좋아의 첫 번째 기하학 지도를 세 번째 행에서 dbf and second geometry 지도를 첫 번째 행에 대한 모든 형상?나 그것은 작동하는 다른가요?

도움이 되었습니까?

해결책

에 따라 spec shx 포함되어 100 개의 바이트는 헤더 다음의 순서에 의해 8 바이트다.각각의 레코드 저장소에는 4 바이트 오프셋에는 4 바이트의 콘텐츠 길이 레코드에 대한니다.shp 데이터 파일이 있습니다.

+-----------------------------------------------+
| header (100 bytes)                            |
+-----------------+------------------+----------+
| offset(4 bytes) | length (4 bytes) | 
+-----------------+------------------+
| offset(4 bytes) | length (4 bytes) | 
+-----------------+------------------+
| offset(4 bytes) | length (4 bytes) | 
+-----------------+------------------+
| offset(4 bytes) | length (4 bytes) | 
+-----------------+------------------+
| ....                               | 
+-----------------+------------------+

참고로 오프셋을 지정하에서 16 비트 단어를,그래서 오프셋을 위한 첫 번째 레코드가 50(로.shp 헤더가 100 개의 바이트를,또는 50 어,긴).콘텐츠 길이도에서 지정된 16 비트 단어입니다.

그래서,당신은 알아낼 수 있는 수의 레코드에서 (index_file_length-100)/8, 고,인덱스를 사용하여 액세스하는 특정 모양에 기록한다.shp 파일에 임의의 또는 순서대로 수행됩니다.

다른 팁

Paul Dixon의 훌륭한 답변.

나는 당신이 그것으로 무엇을 할 것인지 궁금했지만! SHP 파일을 읽거나 쓰기 위해 코드를 작성하려면 도서관을 대신 사용하는 것이 좋습니다. gdal, 또한 좋은 상업적인 것들.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top