geodjango使用和/或为以下开源地理空间库提供接口:
程序 |
描述 |
要求的 |
支持的版本 |
---|---|---|---|
几何引擎开源 |
是的 |
3.12、3.11、3.10、3.9、3.8 |
|
地图投影库 |
是(仅限PostgreSQL和SQLite) |
9.x、8.x、7.x、6.x |
|
采用空间数据抽象库 |
是的 |
3.8、3.7、3.6、3.5、3.4、3.3、3.2、3.1、3.0 |
|
基于IP的地理位置库 |
不 |
2 |
|
PostgreSQL的空间扩展 |
是(仅限PostgreSQL) |
3.4、3.3、3.2、3.1 |
|
sqlite的空间扩展 |
是(仅限于sqlite) |
5.1、5.0、4.3 |
请注意,这些库的旧版本或更新版本 may 也可以和吉昂哥一起工作。您的里程可能会有所不同。
备注
GeoDjango与GEOS、GDAL和GeoIP的接口可以独立于Django使用。 换句话说,不需要数据库或设置文件--正常从导入它们 django.contrib.gis
。
在Debian/Ubuntu上,建议您安装以下软件包,这些软件包将直接或通过依赖关系安装所需的地理空间库:
$ sudo apt-get install binutils libproj-dev gdal-bin
在UNIX和GNU/Linux系统上从源代码安装时,请仔细遵循安装说明,并按给定顺序安装库。如果使用mysql或oracle作为空间数据库,则只需要geos。
备注
在Linux平台上,可能需要运行 ldconfig
在安装每个库之后执行命令。例如:
$ sudo make install
$ sudo ldconfig
备注
MacOS用户必须安装 Xcode 以便从源代码编译软件。
GEOS是一个用于执行几何操作的C++库,是GeoDjango所使用的默认内部几何表示(它位于“懒”几何体的后面)。具体来说,调用C API库(例如, libgeos_c.so
)直接从python使用ctypes。
首先,从GEOS网站下载GEOS并解压缩源归档文件:
$ wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
$ tar xjf geos-X.Y.Z.tar.bz2
然后进入GEOS目录,创建一个 build
文件夹,然后进入该文件夹:
$ cd geos-X.Y.Z
$ mkdir build
$ cd build
然后构建并安装该程序包:
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ cmake --build .
$ sudo cmake --build . --target install
当geodjango找不到geos时,会出现以下错误:
ImportError: Could not find the GEOS library (tried "geos_c"). Try setting GEOS_LIBRARY_PATH in your settings.
最常见的解决方案是正确配置 库环境设置 or 设置 GEOS_LIBRARY_PATH 在您的设置中。
如果使用geos的二进制包(例如,在Ubuntu上),您可能需要 安装 binutils .
GEOS_LIBRARY_PATH
¶如果您的GEOS库位于非标准位置,或者您不想修改系统的库路径,则 GEOS_LIBRARY_PATH
可以使用GEOS C库的完整路径将设置添加到您的Django设置文件中。例如:
GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'
备注
设置必须是 full 路径到 C 共享库;换句话说,您要使用 libgeos_c.so
不是 libgeos.so
.
PROJ 是一个用于将地理空间数据转换为不同坐标参考系的库。
首先,下载项目源代码:
$ wget https://download.osgeo.org/proj/proj-X.Y.Z.tar.gz
..。和基准移动文件(下载 proj-datumgrid-X.Y.tar.gz
对于低于7.x的项目) [1]:
$ wget https://download.osgeo.org/proj/proj-data-X.Y.tar.gz
接下来,解压源代码归档文件,并解压 data
子目录。这是必须做的 prior 要配置:
$ tar xzf proj-X.Y.Z.tar.gz
$ cd proj-X.Y.Z/data
$ tar xzf ../../proj-data-X.Y.tar.gz
$ cd ../..
对于Proj 9.x和更高版本,版本仅支持使用 CMake
(见 PROJ RFC-7 )。
用来建造 CMake
确保您的系统符合 build requirements 。然后创建一个 build
文件夹,然后进入该文件夹:
$ cd proj-X.Y.Z
$ mkdir build
$ cd build
最后,配置、制作和安装项目:
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install
GDAL _是一个优秀的开源地理空间库,支持读取大多数矢量和栅格空间数据格式。目前,geodjango只支持 GDAL's vector data 能力 [2]. GEOS 和 PROJ 应在建造GDAL之前安装。
首先下载最新的GDAL发布版本并解压归档文件:
$ wget https://download.osgeo.org/gdal/X.Y.Z/gdal-X.Y.Z.tar.gz
$ tar xzf gdal-X.Y.Z.tar.gz
对于GDAL 3.6.x和更高版本,版本仅支持使用 CMake
。用来建造 CMake
创建一个 build
GDAL目录中的文件夹,并进入该文件夹:
$ cd gdal-X.Y.Z
$ mkdir build
$ cd build
最后,配置、制作和安装GDAL:
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install
如果您有任何问题,请参阅下面的故障排除部分以获取建议和解决方案。
当geodjango找不到gdal库时,配置 库环境设置 or 设置 GDAL_LIBRARY_PATH 在您的设置中。
GDAL_LIBRARY_PATH
¶如果您的GDAL库位于非标准位置,或者您不想修改系统的库路径,则 GDAL_LIBRARY_PATH
可以将设置添加到Django设置文件中,其中包含GDAL库的完整路径。例如:
GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'
脚注
7月 22, 2024