Pages: 1
- Sujet précédent - QGIS et appel python: problème fonction st_srid(real) n'existe pas - Sujet suivant
#1 Wed 06 July 2016 08:00
- jdesert
- Juste Inscrit !
- Date d'inscription: 5 Jul 2016
- Messages: 1
QGIS et appel python: problème fonction st_srid(real) n'existe pas
Bonjour à tous,
Je suis tout nouveau sur ce forum mais aussi à toutes les problématiques QGIS et SIG.
Je m'y suis lancé la dedans avec confiance puisqu'il y a quelques années j'étais dans la programmation et que tous les trucs assez techniques ne me font pas peur en général.
Sauf que là, ça dépasse tout ce que j'avais imaginé lol.
J'essaie de rentrer dans un environnement de travail complexe avec
1° QGIS qui tape dans une base PostgreSQL (+POSTGis). Ca me permet de dessiner des polygones qui délimitent des bouts de carte
2° Un script python écrit par un pote qui parcourt les polygones pour appliquer des styles conditionnels et générer des images
La partie 1 fonctionne à merveille (c'est vraiment fou toutes les possibilités quand même).
Par contre, quand j'essaie de lancer le script python en partie 2, j'ai des erreurs
Les bouts de script incriminés :
Code:
couche_bati = mapnik.Layer('Batiments') couche_bati.srs = "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over" couche_bati.datasource = PostGIS( host='lol', user='lol', password='lol', dbname='gisdb', geometry_field ='way_area', table='(select p.*,st_intersection(p.way,ST_Transform(Fiches.the_geom,900913)) as way2 from planet_osm_polygon as p join Fiches on (ST_Covers(ST_Transform(Fiches.the_geom,900913),p.way)) where Fiches.id=''+territoire+'') as bati' ,extent_from_subquery='true' ,extent='(select ST_Extent(select ST_Transform(Fiches.the_geom,900913)) as way2 from Fiches where id=''+territoire+'')as extent' )
Et l'erreur que me donne l'execution du script python
Code:
File "./generation.py", line 75, in ,extent='(select ST_Extent(select ST_Transform(Fiches.the_geom,900913)) as way2 from Fiches where id=''+territoire+'')as extent' File "/usr/lib/python2.7/dist-packages/mapnik/__init__.py", line 462, in PostGIS return CreateDatasource(keywords) RuntimeError: Postgis Plugin: ERREUR: la fonction st_srid(real) n'existe pas LINE 1: SELECT ST_SRID("way_area") AS srid FROM planet_osm_polygon W... ^ HINT: Aucune fonction ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type.
J'ai essayé pas mal de trucs pour que ça marche mais rien n'a fonctionné (ce qui ne m'étonne pas trop vu que je ne comprends pas grand chose à ce que je fais concrètement).
Si vous avez des idées ou des questions, n'hésitez pas.
Pour préciser, mon environnement :
- QGIS 2.8
- Postgresql 9.5.3
Merci d'avance pour la lecture, j'espère que c'est pas trop indigeste,
JD
Hors ligne
Pages: 1
- Sujet précédent - QGIS et appel python: problème fonction st_srid(real) n'existe pas - Sujet suivant