2017-02-20 41 views
0

我正在使用ogr2​​ogr刪除shapefile中的空幾何行。在目錄中工作時,所有工作正常,並且在沒有路徑的情況下運行下面的命令。爲了有效地做到這一點,我需要能夠通過給出它的路徑來查詢shapefile。我查詢的sqlite的部分是作爲目錄的路徑上的sqlite查詢,ogr2ogr

SELECT * FROM d:/數據/ FEMA /對負載/ CA /因皮里爾縣/ 06025C_20160805/S_BASE_IN DEX其中幾何不爲空

我得到的錯誤無法識別的記號「: 「,我認爲這只是sqlite的一部分,希望得到一個表名,而不是我的路徑。

現在的問題是:如何使用表的絕對路徑查詢sqlite表?

+0

SQLite文件是一個數據庫,所以它有一個文件名,並且可以包含多個表名。 –

回答

0

您不必在SQL查詢中指定絕對路徑,只需爲shapefile指定絕對路徑即可。

ogr2ogr -sql "SELECT * FROM S_BASE_INDEX" "D:\RESULTS\OutputFile.SHP" 
    "D:\data\fema\toload\CA\ImperialCounty\06025C_20160805\YourShapeFile.shp" 
+0

工作。非常感謝。我在下面列出了做這項工作的一行。這大約是dbf文件大小的兩倍。我還沒有看到究竟發生了什麼。也許類型正在改變,比如從int到一些長浮標?我希望所有的東西都能完全保留下來。 'ogr2ogr -f「ESRI Shapefile」-dialect sqlite -sql「select * from S_FIRM_PAN where geometry is not null」d:\ data \ fema \ tolo ad \ CA \ ImperialCounty \ 06025C_20160805 \ S_FIRM_PANnonempty.shp d:\ data \ fema \ toload \ CA \ ImperialCounty \ 06025C_20160805 \ S_FIRM _PAN.shp' – user3473556