Sto imparando come usare Geo Django. Quando un utente si registra risparmio il latitudine e la longitudine come si vede qui sotto:Geo Django prende le città dalla latitudine e dalla longitudine
from django.contrib.gis.db import models
from django.contrib.gis.geos import Point
class GeoModel(models.Model):
"""
Abstract model to provide GEO fields.
"""
latitude = models.FloatField(blank=True, null=True, verbose_name='Latitude')
longitude = models.FloatField(blank=True, null=True, verbose_name='Longitude')
location = models.PointField(blank=True, null=True)
class Meta:
abstract = True
def save(self, *args, **kwargs):
if self.latitude and self.longitude:
self.location = Point(float(self.latitude), float(self.longitude))
super(GeoModel, self).save(*args, **kwargs)
Avanti Voglio aggiungere un nuovo campo chiamato city
dove ** voglio conservare il "nome" città cioè con sede a Londra il lungo e dettagli lat forniti.
Ho guardato su django-cities
dove si salva un database di città da Nome geografico, ma questo sembra eccessivo e non compatibile con Python 3 quindi un no go per me. Ho visto un pacchetto chiamato geopy ma questo sembra sostituire completamente Geo Django e utilizza l'API di Google che viene fornita con restrizioni.
Voglio rimanere con Geo Django e in qualche modo fare una ricerca per scoprire il nome della città in base al long e lat quindi quali sono le mie opzioni? cioè ..
- Trova un modo per installare dati http://www.geonames.org/ django-città non funziona per Python 3 e Django 1.8.x
- In qualche modo utilizzare Geo Django per farlo ricerca utilizzando i dati? (non si può fare così)
È sopra il modo corretto di avvicinarsi a questo? In tal caso, come faccio ad avere i dati nel mio DB e poi a cercarli su Geo Django per trovare il nome della città?
'' geomodel.location'' che tipo di campo è questo "PointField''? – Prometheus
Sì, questo è il modello che hai definito nella tua domanda :) – stellasia
Ultima domanda quindi il '' MultiPolygonField'' usato nel modello City. com'è questo aspetto? Ho deciso di utilizzare Geo Name ma non ha quel campo http://www.geonames.org/search.html?q=london&country= – Prometheus