Пожалуйста, помогите мне в решении этой проблемы.
class RecievingImages(models.Model):
"""Original and Masked Images"""
name = models.CharField(max_length = 100, unique = True, primary_key=True)
cordinate_X = models.FloatField()
cordinate_Y = models.FloatField()
point = models.PointField(srid=4326, geography=True, default='POINT(0.0 0.0)')
def __str__(self):
return self.name
class Meta:
verbose_name_plural = 'Image Mapping'
У меня есть координаты, которые я получил от API карт Google. Пример здесь
cordinate_X : 21.2166277
cordinate_Y : 72.7763859
Технически, эти координаты Гуджарата, Индия фактическая ссылка координат
Теперь, чтобы построить на листочке, я преобразовал это в поле точек со ссылкой на эту ссылку { ссылка }
from django.contrib.gis.geos import Point
for l in RecievingImages.objects.all():
... l.point = Point(x=l.cordinate_X, y=l.cordinate_Y, srid=4326)
... l.save()
Теперь, когда я вернулся на страницу администрирования Django, где-то в море неправильно отмечены координаты
Спасибо за ваше время.
С уважением
Обновление
После большого количества поиска в Google я обнаружил, что может быть проблема с srid used то есть карты Google могли использовать '3587', а я использовал '4326'. Я пытался изменить это, но получаю ошибку.
raise NotSupportedError('PostGIS only supports geography columns with an SRID of 4326.')
django.db.utils.NotSupportedError: PostGIS only supports geography columns with an SRID of 4326.
База данных, которую я использовал, - PostGIS.