1

提到 Django:插件、包或内置函数。

我是否需要安装其他插件才能在 dwithin 中使用 gis 函数“PointField”和距离计算查询?现在的错误与init中缺少 PointField或要求 GDAL 有关(我正在使用带有 maxmind db 的 GeoIP2?不确定它们是否相似或一起工作) - 无法找到关于需要什么和什么的明确答案不是。

同样假设 dwithin 是最快的过滤器 - 授予我最大距离?ST_Distance 是一个较慢的函数,对于较大的数据库可能会变慢?

如果我现在使用 sqllite3 进行测试也有关系吗?是否具备这些功能?继续阅读有关 PostGIS 和其他限制的信息。

非常感谢你!

4

1 回答 1

0

我最终做了什么——据我所知:

因此,我可以将 Sqlite3 设为空间数据库——我尝试过,但要么在使其具有空间性时遇到了问题,要么只是我后来遇到的 GDAL 问题让我无法成功,无论如何我打算稍后使用 PostgreSQL,我只是决定它是是时候搬过去了

然后我决定切换到带有 PostGIS 的 PostgreSQL 和 OSGeo4W,并且还为 PostgreSQL 安装了 pip 安装的 psycopg2。
安装 PostgreSQL: PostGIS 时,我更喜欢使用我想在安装时使用的名称来“创建空间数据库”——这仅仅是因为我尝试自己制作,但我最终并没有像由安装。(是的,我是新手,不知道如何自己制作一个新的空间数据库,哈哈)也对所有环境变量说“是”,帮助一切找到所需的文件。

不是 100%,但我相信一切都需要相同,如果您使用 32 位 python,那么您需要 32 位其他所有内容(包括 OSGeo4W)(我相信这也包括 Windows,因为您可能不需要 32 位 dll,否则)

安装 OSGeo4W 后,您要么需要直接在设置中指向您的 GDAL Dll: GDAL_LIBRARY_PATH=your_path_to_the_dll/gdal204.dll
**设置为您拥有的实际 dll,django 似乎只查找 2.2 及更低版本,因此如果您只输入路径,它只会找到 gdal202 和一些旧版本。

(您可以编辑 site-packages.django.contrib.gis.gdal 下的 libgdal.py 文件,以便搜索较新版本的 gdal)

我非常头疼,试图让它在我一年前的 Windows 7 64 位安装上运行,并安装了很多随机的 Visual Studio 安装等,32 位 python,32 位 gdal 等等。 ,几天的思考我几乎拥有它(我没有)-如果您有很多问题,我强烈建议您安装全新的 Windows 10 64 位和所有 64 位 - 或者做似乎更好的建议并尝试在 ubuntu 上开发.

TRLR:如果您遇到很多问题并且不知道该怎么办:
按照此处 Django 站点上的说明安装全新的 windows 10 64 位,使用 64 位版本的所有内容。 https://docs.djangoproject.com/en/2.1/ref/contrib/gis/install/#windows 然后别忘了把你的GDAL_LIBRARY_PATH

于 2019-02-15T22:49:47.143 回答