2011-07-12 54 views
4

我知道shp2pgsql位於postgresql目錄中,但我不確定在此之後要使用哪些命令。我已經徹底閱讀了手冊,並且我知道shp2pgsql命令的所有參數和選項。我得到的錯誤:使用shp2pgsql轉換形狀文件

-bash: shp2pgsql: command not found 

它也許是權限問題?

+0

聽起來像一個'PATH'問題​​。 '哪個shp2pgsql'顯示它在哪裏? –

+0

是的你是對的我把初始目錄導出到$ PATH,它非常感謝你的輸入。 – John

回答

0

解決方法是導出程序的路徑並將其放入$ PATH變量中。 另一種選擇是將命令移動到已包含在PATH中的目錄中,例如/ usr/bin。



出口PATH = /庫/ PostgreSQL的/ 9.0 /斌/:$ PATH


  1. 回聲$ PATH找到的目錄已經存在

  2. 進入該目錄程序

  3. mv shp2pgsql/usr/bin例如
10

正確的命令是«shp2pgsql»,你有一個錯字。

用例:

# shp2pgsql -c -D -s 4269 -I shaperoads.shp myschema.roadstable > roads.sql 
# psql -d roadsdb -f roads.sql 
  • -c創建表
  • -I上創建幾何結構的指數
  • -D使用轉儲格式
  • -s指定投影SRID

您首先生成一個sql文件,然後加載到你的數據庫中。

+0

對於輸入錯誤仍然越來越感到遺憾:roads.sql:權限被拒絕 – John

+2

對於那些與shp2pgsql一起使用的線程,您還可以將'shp2pgsql'的輸出直接傳遞給'psql',而不是保存中間SQL文件。上面的例子看起來像:'shp2pgsql -c -D -s 4269 -I shaperoads.shp myschema.roadstable | psql -d roadsdb'有關更多信息,請查看[Boston GIS shp2pgsql備忘單](http://www.bostongis.com/pgsql2shp_shp2pgsql_quickguide_20.bqg)。 –