3

GeoDjango アプリケーション用に、Mac OS X Snow Leopard (10.6) で PostGIS (1.5) 用のテンプレート地理データベースを構築しようとしています。

私はフォローしています: http://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#creating-a-spatial-database-template-for-postgis

提供された postgis.sql を実行する必要があるポイントに到達することができました(つまりpsql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql

その時点で、実行しようとした最初の SQL ステートメントでエラーが発生します。psql プロンプトでそれを試すと、結果は次のようになります。

template_postgis=# CREATE OR REPLACE FUNCTION st_spheroid_in(cstring) RETURNS spheroid AS '/usr/local/pgsql/lib/postgis-1.5','ellipsoid_in' LANGUAGE 'C' IMMUTABLE STRICT;
NOTICE:  type "spheroid" is not yet defined
DETAIL:  Creating a shell type definition.
ERROR:  could not load library "/usr/local/pgsql/lib/postgis-1.5.so": dlopen(/usr/local/pgsql/lib/postgis-1.5.so, 10): Symbol not found: _DatumGetFloat4
  Referenced from: /usr/local/pgsql/lib/postgis-1.5.so
  Expected in: /opt/local/lib/postgresql83/bin/postgres 
 in /usr/local/pgsql/lib/postgis1.5.so

何が台無しになったのでしょうか?

4

3 に答える 3

2

正しい前提条件ライブラリがインストールされていることを確認してください。GEOS v2 をインストールしたときに同じエラーが発生し、v3 へのアップグレードで問題が修正されました。

于 2011-09-02T00:02:32.257 に答える
1

このエラーは、共有オブジェクトが見つからないことを示しています。最も明白な理由は、PostGIS が (適切に) インストールされていないことです。さらに、contrib/postgis-1.5 フォルダーの SQL スクリプトをインストールする順序も重要です。

私はこの順序と (Linux シェル コマンド) を正常に使用しました。

$ psql -U postgres -d database -f /usr/share/postgresql/9.0/contrib/_int.sql
$ psql -U postgres -d database  -f /usr/share/postgresql/9.0/contrib/pg_trgm.sql
$ psql -U postgres -d database  -f /usr/share/postgresql/9.0/contrib/postgis-1.5/postgis.sql
$ psql -U postgres -d database  -f /usr/share/postgresql/9.0/contrib/postgis-1.5/spatial_ref_sys.sql

この後、約 800 の関数、いくつかの新しい型、およびいくつかのオーバーロードされた演算子が利用可能になるはずです。

于 2011-01-08T11:48:08.807 に答える
1

PostGIS Landsliding Into PostGIS With KML Files用にテンプレート データベースをセットアップする方法は次の とおりです。

于 2011-01-05T21:54:42.560 に答える