django - Geo Django GDAL 异常 OGR 失败
问题描述
我正在使用 geo django 并在 Windows 上运行。我确实在设置中配置了 GDAL 和 OSGEOS。
这是我的 gdal 的 settings.py 代码。
import os
if os.name == 'nt':
import platform
OSGEO4W = r"C:\OSGeo4W"
if '64' in platform.architecture()[0]:
OSGEO4W += "64"
assert os.path.isdir(OSGEO4W), "Directory does not exist: " + OSGEO4W
os.environ['OSGEO4W_ROOT'] = OSGEO4W
os.environ['GDAL_DATA'] = OSGEO4W + r"\share\gdal"
os.environ['PROJ_LIB'] = OSGEO4W + r"\share\proj"
os.environ['PATH'] = OSGEO4W + r"\bin;" + os.environ['PATH']
我有一个具有点场的模型。模型:
class Event(models.Model):
user = models.ForeignKey(User, on_delete=models.SET, blank=True)
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
location = models.PointField(srid=4326, blank=True)
每当我尝试创建事件并设置点域值时,都会收到此错误:
GDAL_ERROR 6: b'Unable to load PROJ.4 library (proj.dll), creation of\nOGRCoordin
ateTransformation failed.'
Error transforming geometry from srid '4326' to srid '3857' (OGR failure.)
这个问题似乎是一个只有 Windows 的问题。当我在我的 virtualbox 上的 ubuntu 上运行此应用程序时,一切似乎都运行良好。
解决方案
尝试将此添加到设置文件
os.environ['GDAL_DATA'] = "C:\\OSGeo4W64\\share\\epsg_csv" <- (path to gcs.csv file)
推荐阅读
- linux - 在不同主机上代理 GRPC 请求
- rust - 使用 r2d2 在 rust/diesel 应用程序中实现连接池
- python-3.x - 错误请帮助我得到属性错误即使我已将数据类型指定为列表
- javascript - 为什么我在使用 docusign-esign npm 包调用 DocuSign API 时收到“未找到”错误?
- elasticsearch - Elasticsearch - 是否有一个选项或标志来防止使用查询搜索索引
- r - 如何从具有特定索引的选定行中计算平均值
- java - 如何将自定义类型的 ArrayList 传递给 AsyncTask 的 doInBackground?
- vue.js - 如果任何字段为空,则该按钮应禁用
- excel - 删除使用excel从公式计算的空白单元格
- python - 如何用 imshow 图替换 x 轴上的缩放比例?