2017-09-14 20 views
0

this questionthat instruction을 기반으로 shapefile을 분해하려고합니다. 그러나, 나는 코드의 내 라인 실행하면ogr 및 SQLite로 shapefile을 분해 할 때 오류가 발생했습니다.

ERROR 1: In ExecuteSQL(): sqlite3_step(SELECT ST_Union(geometry) FROM 'temp_2'): SQL logic error or missing database 

내가 무엇을 놓치고 : 나는 다음과 같은 오류가 얻을

ogr2ogr "c:/working/testing/dissolve.shp" "c:/working/testing/test.shp" -f"ESRI Shapefile" -dialect sqlite -sql "SELECT ST_Union(geometry) FROM 'test'" 

를?

편집 : QGIS의 "Dissolve"알고리즘은 완벽하게 작동합니다 (ogr2ogr를 사용하는 알고리즘이 아니라 자체 알고리즘). 이해가 안가는 마술이 있나요?

+0

실제 오류 메시지가 누락되었습니다. 'ogr2ogr'은 정말로 그것을 비밀로 유지합니까? –

+0

불행히도, 그게 다야. – s6hebern

답변

0

좋아, 나는 그것을 스스로 분류했다. 실패에 대한 이유는 삭제 된 것으로 Shape 파일 내에서 일부 기능이 오류 메시지에 따라 하나의 기능을 읽을 때, 표시되었던 것이 었습니다 : 지금, Shape 파일을 복사하여이 문제를 해결할 수 있었다

ERROR 1: Attempt to read shape with feature id (0), but it is marked deleted. 

을하는 또한 repacks 및 그것으로 표시된 모든 기능을 삭제합니다. 이 새로운 사본을 사용하면 초기 코드 줄이 완벽하게 작동합니다.