Thanks a lot Nabil servais. its works for me too....

On Fri, Sep 25, 2009 at 2:06 PM, Nabil Servais <nabil.serv...@gmail.com>wrote:

>
> Hello,
>
> I use json for output instead of cvs, and it works. Also I convert the
> lattitude and longitude into float.
>
> enjoy
>
> def get_lat_long(location):
>         key = settings.GOOGLE_API_KEY
>          output = "json"
>          location = urllib.quote_plus(location)
>         request =
> "http://maps.google.com/maps/geo?q=%s&output=%s&key=%s
> <http://maps.google.com/maps/geo?q=%s&output=%s&key=%s>" % (location,
> output, key)
>         data = urllib.urlopen(request).read()
>          dlist = simplejson.loads(data)
>         if dlist['Status']['code'] == 200:
>              lat = float(dlist['Placemark'][0]['Point']['coordinates'][0])
>              long = float(dlist['Placemark'][0]['Point']['coordinates'][1])
>             return (lat, long)
>         else
>             return ''
>
>
>
> Le 25/09/2009 09:47, please smile a écrit :
> > Hi all,
> >     I have a problem to convert latitude and longitude values into
> > point field value.
> >
> >
> >     def get_lat_long(location):
> >         key = settings.GOOGLE_API_KEY
> >         output = "csv"
> >         location = urllib.quote_plus(location)
> >         request =
> > "http://maps.google.com/maps/geo?q=%s&output=%s&key=%s
> > <http://maps.google.com/maps/geo?q=%s&output=%s&key=%s>" % (location,
> > output, key)
> >         data = urllib.urlopen(request).read()
> >         dlist = data.split(',')
> >         if dlist[0] == '200':
> >             #return "%s, %s" % (dlist[2], dlist[3])
> >             return (dlist[2], dlist[3])
> >         else:
> >             return ''
> >
> >
> >     My models.py
> >     --------------
> >     class Person(models.Model):
> >         address = models.CharField(_('address'), max_length=200,
> > blank=True)
> >         city = models.CharField(_('city'), max_length=100, blank=True)
> >         state = USStateField(_('state'), blank=True)
> >         zipcode = models.CharField(_('zip code'), max_length=5,
> > blank=True)
> >         point = models.PointField(blank=True, null=True)
> >
> >         objects = models.GeoManager()
> >
> >
> >
> >         def save(self, force_insert=False, force_update=False):
> >
> >         if self.point == None:
> >             location = "%s+%s+%s+%s" % (self.address, self.city,
> > self.state, self.zipcode)
> >             point_lat, point_long = get_lat_long(location)
> >             pnt = Point(point_long, point_lat)
> >             self.point = pnt
> >
> > Here I convert latitude , longitude value into point field value. But
> > i am getting   "Exception Value: Invalid parameters given for Point
> > initialization."
> >
> > please advise...
> > Thank you....
> >
> >  Trace back
> >  ---------------
> >  Environment:
> >
> > Request Method: POST
> > Request URL: http://192.168.1.57:8000/admin/people/person/add/
> > Django Version: 1.1
> > Python Version: 2.5.2
> > Installed Applications:
> > ['peoplesearch.people',
> >  'django.contrib.admin',
> >  'django.contrib.gis',
> >  'django.contrib.auth',
> >  'django.contrib.contenttypes',
> >  'django.contrib.sessions',
> >  'django.contrib.sites',
> >  'django.contrib.databrowse',
> >  'peoplesearch.haystack']
> > Installed Middleware:
> > ('django.middleware.common.CommonMiddleware',
> >  'django.contrib.sessions.middleware.SessionMiddleware',
> >  'django.contrib.auth.middleware.AuthenticationMiddleware')
> >
> >
> > Traceback:
> > File "/root/myprojects/directory/django/core/handlers/base.py" in
> > get_response
> >   92.                 response = callback(request, *callback_args,
> > **callback_kwargs)
> > File "/root/myprojects/directory/django/contrib/admin/options.py" in
> > wrapper
> >   226.                 return self.admin_site.admin_view(view)(*args,
> > **kwargs)
> > File "/root/myprojects/directory/django/views/decorators/cache.py" in
> > _wrapped_view_func
> >   44.         response = view_func(request, *args, **kwargs)
> > File "/root/myprojects/directory/django/contrib/admin/sites.py" in inner
> >   186.             return view(request, *args, **kwargs)
> > File "/root/myprojects/directory/django/db/transaction.py" in
> > _commit_on_success
> >   240.                 res = func(*args, **kw)
> > File "/root/myprojects/directory/django/contrib/admin/options.py" in
> > add_view
> >   734.                 self.save_model(request, new_object, form,
> > change=False)
> > File "/root/myprojects/directory/django/contrib/admin/options.py" in
> > save_model
> >   557.         obj.save()
> > File "/root/myprojects/peoplesearch/../peoplesearch/people/models.py"
> > in save
> >   118.             pnt = Point(point_long, point_lat)
> > File "/root/myprojects/directory/django/contrib/gis/geos/point.py" in
> > __init__
> >   32.             raise TypeError('Invalid parameters given for Point
> > initialization.')
> >
> > Exception Type: TypeError at /admin/people/person/add/
> > Exception Value: Invalid parameters given for Point initialization.
> >
> >
> > >
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to