小编SbM*_*olo的帖子

Django - GeoDjango 以错误的顺序读取坐标

首先感谢您的帮助。

我正在用 Django 创建一个表单,它使用 OSMWidget 将坐标(多边形、线和点)保存到 PostgreSQL 数据库中的几何字段。它运行良好,我可以毫无问题地将信息保存在数据库中。当我使用 PgAdmin 进行查询时,我可以正确地看到 Leaflet 地图中显示的几何字段数据。

具有几何字段数据的 PgAdmin 地图示例.

以下是我在 forms.py 中的一些内容:

from django import forms
from django_select2 import forms as select2_forms
from django.contrib.gis import forms as osmforms

from django.forms import ModelForm
from .models import Dataset


class SessionForm(forms.ModelForm):

    at_choices = [(item.title, item.title) for item in Dataset.objects.all()]
    key_choices = [(item.keywords_d, item.keywords_d) for item in Dataset.objects.all()]

    uuid = forms.CharField(label='', max_length=10 , widget=forms.TextInput(attrs={'class': "form-control left-half"}))
    title = forms.CharField(label='Title', max_length=65536 , widget=forms.TextInput(attrs={'class': "form-control full-size-field"}))
    abstract = forms.CharField(label='Abstract', max_length=65536 , widget=forms.Textarea(attrs={'class': …
Run Code Online (Sandbox Code Playgroud)

python django geodjango coordinates leaflet

7
推荐指数
1
解决办法
576
查看次数

Django / Ubuntu 20 - 如何更改为以前版本的 GDAL

首先,感谢您的帮助。

我是 django 的新手,我正在开发一个网站,您必须在其中以某些形式输入坐标,然后它们应该是可编辑的。

到目前为止,太好了,我在创建它时没有遇到任何问题,但是,正如我所读到的,在一些较新的版本中,GDAL 读取坐标的顺序发生了变化,因此从地理空间数据库。换句话说,坐标输入正确(从 PgAdmin 中它们看起来是正确的)但是当您使用 Django 将它们加载到传单地图时读取错误。

我询问了如何纠正这个问题(链接到我之前的问题),但没有得到答案,也无法自己解决。因此,我唯一能想到的就是尝试使用以前版本的 GDAL,但是,我不太确定该怎么做。我按照以下步骤安装它:

pip3 install gdal
sudo apt-get install gdal-bin libgdal-dev
sudo apt-get install python3-gdal
Run Code Online (Sandbox Code Playgroud)

提前致谢

编辑:

我尝试使用 2.xx 版本,但在 3 下的每个版本中我都遇到了一些错误。

执行时pip3 install gdal==2.4.4,首先我得到错误command 'x86_64-linux-gnu-gcc' failed with status 1ERROR: Failed building wheel for gdal. 然后它成功卸载了 GDAL 3.0.4,一段时间后它报告了另一个状态 1:

ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-cjqeh4e7/gdal/setup.py'"'"'; __file__='"'"'/tmp/pip-install-cjqeh4e7/gdal/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' …
Run Code Online (Sandbox Code Playgroud)

python django ubuntu version gdal

0
推荐指数
1
解决办法
1312
查看次数

标签 统计

django ×2

python ×2

coordinates ×1

gdal ×1

geodjango ×1

leaflet ×1

ubuntu ×1

version ×1