2011-07-01 9 views
8

ツールosm2pgsqlを使用して、phppgadminを管理ツールとして使用してosmファイルをpostgresデータベースにインポートします。私はxml形式のosmから小さな町をダウンロードしただけで、Macの端末を使ってインポートするのに問題があります。私はこれで少しの騒ぎがあるので、どんな助けでも大歓迎です。私はいくつかの記事を見ましたが、私のニーズを満たすために必要な明快さはありません。このエラーは確かに小さいものではない可能性があり得ることosmファイルをpostgres/postgisデータベースにインポートする

おかげ

イム..

Using projection SRS 900913 (Spherical Mercator) 
Setting up table: planet_osm_point 
NOTICE: table "planet_osm_point" does not exist, skipping 
NOTICE: table "planet_osm_point_tmp" does not exist, skipping 
SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, 'POINT', 2); 
failed: ERROR: function addgeometrycolumn(unknown, unknown, integer, unknown,  integer) does not exist 
LINE 1: SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, ... 
     ^
HINT: No function matches the given name and argument types. You might need to add explicit type casts. 

答えて

7

あなたのPostgresデータベースにPostGISの拡張をインストールする必要があります。 postgis.sqlへの正確なパスを使用して、どのようにそれがPostGISのがパッケージされていているディストリビューションに依存します

psql <database> < /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql 

:あなたはあなたのような何かをする必要があり、あなたのマシンにインストールしたPostGISを持っていると仮定すると。またたいこと/このようなコマンドを使用して空間参照システムテーブルをインストールする必要があります。

osm2pgsql -c -d your_country -U postgresの-W -Hはlocalhost:これは、例えばコマンドです

psql <database> < /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql 
+0

私はこれらのsqlファイルを実行したので、私は今必要なすべての機能を持っています。そのbtwのおかげで。私はまだosm2pgsqlでインポートを行う方法がわかりません。ありがとう – John

+0

'postgis.sql'を実行しようとすると、' Type 'スフェロイドが既に存在します。どうすれば修正できますか? –

+1

postgresql 9とpostgis 2のバージョンでは次のようになります。CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; [詳細](https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/postgis/) –

関連する問題