Есть ли пакет django, который позволил бы мне получить страну из поля Point? - PullRequest
0 голосов
/ 24 сентября 2018

Я сейчас использую GeoDjango, и у меня есть поле Point.Существует ли библиотека django, которая позволила бы мне получить страну из поля Point. Плюс точка, если она также дает мне почтовый индекс.Я не хочу платить за внешние услуги.То, что бесплатно.Помогут ли в этом случае страны Джанго?

1 Ответ

0 голосов
/ 28 сентября 2018

Нет (насколько мне известно) модуля django, который вы можете искать в стране по координатам.

Что вы можете сделать, это создать модель для хранения набора данных, содержащего страны и ихсоответствующие геометрии (вы можете найти то, что вам нужно из этого ответа: https://gis.stackexchange.com/questions/495/seeking-administrative-boundaries-for-various-countries), а затем запросить свою точку зрения по этой модели.

  • models.py:

    class Country(model.Model):
        name = models.CharField(max_length=100)
        geom = model.PolygonField() # or what the dataset needs.
        zip_code = model.CharField(max_length=5)
        ...
    
  • запрос (при условии, что ваша точка - это Point объект с именем my_point):

    try:
        country = Country.objects.get(geom__contains=my_point)
    except Country.DoesNotExist:
        print('No country for old men... eerrr given point.')
    
    print(country.name, country.zip_code, ...)
    


PS: Вы найдете эту документацию полезной: https://docs.djangoproject.com/en/2.1/ref/contrib/gis/geoquerysets/
...