Bonjour, 2012/10/11 polo <[email protected]>: > Bonjour, > > Dans le projet que j'ai en cours actuellement, je me sert de données > géographiques. Ces données sont en EPSG:4326 ce qui correspond au WGS84 > (systèmes mondial commun en latitudes - longitudes) or les données par > défaut dans les application de cartographie en ligne type openlayer et > leaflet, sont en EPSG 900913. > > Voici donc mon problème, je me sert de FLoppyForms (add-on geodjango) > permettant de saisir des données géographiques et d'intégrer cela dans > un formulaire. Quand je récupère ces données, je remarque qu'elles sont > en EPSG:900913 que je dois ensuite transformer en EPSG:4326. > > (snip) > > pointWGS84 = point.transform(4326)
transform() ne clone pas l'objet mais applique la transformation sur place. Pour récupérer un nouvel objet, il faut passer clone=True. https://docs.djangoproject.com/en/dev/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.transform D'autre part tu peux passer le srid voulu directement dans la définition du formulaire : import floppyforms as forms class GeoForm(forms.Form): geom = forms.gis.PointField(srid=4326) Avec ça, form.cleaned_data['geom'] devrait contenir le point en WGS84 sans qu'il y ait besoin de jouer avec les transformations. _______________________________________________ django mailing list [email protected] http://lists.afpy.org/mailman/listinfo/django
