#8563: [gis] Current locale considered when converting a geometry to WKT
----------------------------------------------+-----------------------------
Reporter: luizvital <[EMAIL PROTECTED]> | Owner: nobody
Status: new | Milestone:
Component: GIS | Version: SVN
Keywords: | Stage: Unreviewed
Has_patch: 0 |
----------------------------------------------+-----------------------------
I'm getting a OGRGeometry Exception intermittently, when saving a form.
After debuging the code I noticed that the WKT string generated from
geometries were taking the current locale into account, thus raising
the Exceptions due to a bad WKT string representation. Here goes an
example:
{{{
>>> import locale
>>> from django.contrib.gis.geos import Point
>>> p = Point(-45.23, -23.15)
>>> p.wkt
'POINT (-45.2299999999999969 -23.1499999999999986)'
>>> locale.getlocale()
(None, None)
>>> locale.setlocale(locale.LC_ALL, ('pt_BR','UTF-8'))
'pt_BR.UTF8'
>>> p.wkt
'POINT (-45,2299999999999969 -23,1499999999999986)'
}}}
Notice de comma "," for decimal separator in the last output.
It must be something in the GEOS C library and in this case should be
fixed there, but maybe it should be avoided reseting de locale before
calling the C routine and restoring the locale to what it was just
after.
I think the reason this problem was not always happening is related to
the some setlocale thread safety issue.
I was using the wkt from the geometry in a custom form PointField to get
the coordinate transformed to the desired srid.
--
Ticket URL: <http://code.djangoproject.com/ticket/8563>
Django Code <http://code.djangoproject.com/>
The web framework for perfectionists with deadlines
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---