#json #django #leaflet #geojson #gdal
#json #django #листовка #geojson #gdal
Вопрос:
Я делаю проект Django и хочу сохранить полигоны, которые представляют интересующие области на карте. Я пытаюсь использовать django-leaflet и django-geojson. Моделью для фигур является:
#models.py
...
from django.contrib.gis.db import models as gismodels
...
class MushroomShape(gismodels.Model):
name = models.CharField(max_length=256)
geom = gismodels.PolygonField()
objects = gismodels.GeoManager()
def __unicode__(self):
return self.name
def __str__(self):
return self.name
Я пытаюсь создать многоугольные фигуры в администраторе, используя виджет листовки, для добавления в базу данных:
#admin.py
...
from leaflet.admin import LeafletGeoAdmin
from .models import MushroomShape
...
admin.site.register(MushroomShape, LeafletGeoAdmin)
Запуск сервера на моем компьютере, когда я рисую многоугольник в форме администратора и пытаюсь его отправить:
Клиентская сторона сообщает «Недопустимое значение геометрии». а серверная сторона сообщает:
Ошибка при создании геометрии из значения ‘{«type»:»Polygon»,»coordinates»:[[[-87.58575439453125,41.83375828633243],[-87.58575439453125,42.002366213375524],[-86.74942016601562,42.002366213375524],[-86.74942016601562,41.83375828633243],[-87.58575439453125,41.83375828633243]]]}’ ( Инициализация геометрии из входных данных JSON требуется GDAL.)
Небольшой толчок, помогающий понять, где я должен искать, чтобы решить эту ошибку, был бы действительно потрясающим.
Ответ №1:
Извините, если это плохой этикет (публикация ответа на мой вопрос вместо удаления), но я нашел свой ответ на официальной странице Django для библиотек geo:
https://docs.djangoproject.com/el/1.10/ref/contrib/gis/install/geolibs/
Я не знал, что GDAL необходим для некоторых функций geojson, которые я пытался использовать для работы. Я следовал их инструкциям и установил его с помощью
sudo apt-get install binutils libproj-dev gdal-bin
и моя ошибка исчезла.