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

以下是我如何 使用 KML 文件设置 PostGIS 滑坡进入 PostGIS的模板数据库

于 2011-01-05T21:54:42.560 回答
1

此错误表示找不到共享对象。最明显的原因是没有(正确)安装 PostGIS。此外,contrib/postgis-1.5 文件夹中的 SQL 脚本的安装顺序也很重要。

我已经成功使用了这个命令和(Linux shell 命令):

$ 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 回答