Le 30/12/2010 08:25, Nicolas Dumoulin a écrit :

Merci de ta réponse, mais j'obtiens alors l'erreur suivante :
RuntimeError: PSQL error:
ERREUR:  Operation on mixed SRID geometries
Full sql was: 'SELECT AsBinary("way") AS geom from (select
ST_DIFFERENCE(ST_GeomFromText('POINT(3.098 45.739 3.1543 45.764)', 4326),way)
as way from planet_osm_polygon where name='Aubière') as roads WHERE "way"&&
SetSRID('BOX3D(344867.7824775615 5738534.792254916,351135.0698092228
5742697.566128345)'::box3d, 900913)'

OK. Le message indique que ST_Difference veut travailler avec 2 géométries décrites dans le même système de projection. Dans ce cas, tu peux changer à la volée la projection de ta bbox pour la mettre en projection "google" via ST_SetSRID [1]. Ca donnera ça :

(...)
ST_SetSRID(ST_GeomFromText('POINT(3.098 45.739 3.1543 45.764)', 4326),900913)
(...)
et normalement ça ne plantera plus (enfin, plus avec cette erreur en tout cas :-) )

Pour info, j'ajoute mes couches postgis avec le srs "+proj=latlong
+datum=WGS84" (copié-collé des exemples).
Pour être sûr de l'effet de ton option, tu as ST_SRID [2] pour vérifier comment ta couche est déclarée. Aucazou.

vincent

[1] : http://postgis.refractions.net/documentation/manual-1.5/ST_SetSRID.html
[2] : http://postgis.refractions.net/documentation/manual-1.5/ST_SRID.html

_______________________________________________
dev-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev-fr

Répondre à