原文作者:我辈理想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。
【GeoDjango框架解析】配置geodjango开发环境
【GeoDjango框架解析】GDAL、GEOS、PORJ等配置的报错处理
Django是python的web框架,GeoDjango 是一个包含在 Django 中的 contrib 模块,它将 Django 变成一个世界级的地理网络框架。geodjango的基本使用和django区别不大,需要注意的是需要配置空间地理框架的相关环境,包括postgresql数据库、postgis空间扩展管理、gdal空间数据抽象库、geos几何引擎开源库、proj地图投影库、GeoIP基于IP的地理位置库。
GEOS是一个用于执行几何操作的C++库,是GeoDjango所使用的默认内部几何表示(它位于“懒”几何体的后面)。
PROJ 是用于将地理空间数据转换为不同坐标参考系统的库。
GDAL _是一个优秀的开源地理空间库,支持读取大多数矢量和栅格空间数据格式。
这里整理了查看版本的相关命令,安装环境前后用于确认版本信息。
具体安装可参考我的另一篇博客:Ubuntu安装postgresql并连接navicat
参考链接:https://www.cnblogs.com/haolb123/p/16553099.html
步骤一的链接上包含postgis的安装
sudo apt update && sudo apt upgrade -y
sudo apt install python-dev libpq-dev # 用于解决python库报错
sudo apt install libgeos-dev libgdal-dev # geos
sudo apt install proj-bin python3-pyproj # proj
sudo apt install binutils libproj-dev gdal-bin # gdal
export LD_LIBRARY_PATH=/usr/local/lib
# xyz 是版本信息
wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
tar xjf geos-X.Y.Z.tar.bz2
cd geos-X.Y.Z
./configure
make
sudo make install
cd ..
sudo apt-get install proj-bin python3-pyproj
# xyz 是版本信息
wget https://download.osgeo.org/gdal/X.Y.Z/gdal-X.Y.Z.tar.gz
tar xzf gdal-X.Y.Z.tar.gz
cd gdal-X.Y.Z
./configure
make # Go get some coffee, this takes a while.
sudo make install
cd ..
可通过安装OSGeo4W,完成gdal、geos、proj的安装。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.gis', # 新增部分
'users', # 用户
]
GEOS_LIBRARY_PATH = '/usr/lib/x86_64-linux-gnu/libgeos_c.so'
# windows
GEOS_LIBRARY_PATH = r'C:\OSGeo4W\bin\geos_c.dll'
GDAL_LIBRARY_PATH = '/usr/lib/libgdal.so'
# windwos
GDAL_LIBRARY_PATH = r'C:\OSGeo4W\bin\gdal305.dll'
一定要确保django默认数据库是postgis,注释sqlite3数据库。
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'postgis_db',
'USER': 'postgis_test',
'PASSWORD': '1234',
'HOST': '127.0.0.1',
'PORT': '5432',
},
}
psycopy2是python用于链接postgresql数据库的库。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ psycopg2-binary psycopy2
报错参考:python 安装 psycopg2 报错问题处理