#1 Tue 03 February 2015 13:36
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
Accès flux WFS GDAL python
Bonjour,
J'essaie d'accéder dans un script python à un flux WFS, sachant que je le fais derrière un proxy. Sous W7 dans une fenêtre de commande, ça se passe plutôt bien:
Code:
set GDAL_HTTP_PROXY=monproxy:monport set GDAL_HTTP_PROXYUSERPWD=user:passwd ogrinfo -ro WFS:http://ws.carmencarto.fr/WFS/119/fxx_inpn?
Quand je passe par un script python ça se passe moins bien.Mon code
Code:
try: from osgeo import ogr, osr, gdal except: sys.exit('ERREUR: impossible de trouver les modules GDAL/OGR') server = 'monproxy' port = 'monport' # specify proxy server gdal.SetConfigOption('GDAL_HTTP_PROXY', server + ':' + port) gdal.SetConfigOption('GDAL_HTTP_USERPWD', user:passwd') driver = ogr.GetDriverByName('WFS') wfs = driver.Open("http://ws.carmencarto.fr/WFS/119/fxx_inpn?") if not wfs: sys.exit('ERREUR: impossible d''ouvrir la source WFS')
ma variable wfs n'est pas renseignée et je bascule sur ma sortie Erreur
Pas d'indication ou de retours particulier sur l'instruction driver.Open
Donc je ne sais pas trop comment faire. J'ai essayer de jouer avec les autre variables de conf du proxy côté GDAL, mais sans succès ...
Quelqu'un arait-il une piste?
Merci
Sylvain
Hors ligne
#2 Tue 03 February 2015 15:46
Re: Accès flux WFS GDAL python
Plusieurs choses à essayer:
- le format de l'URL du WFS: dans les examples du cookbook GDQL Python (http://pcjericks.github.io/py-gdalogr-cookbook/vector_layers.html#get-wfs-layer-and-iterate-over-features ) et comme en ligne de commande avec ogrinfo, l'url à passer à driver.Open semble devoir être précédée de "WFS:" . Dans ton cas: "WFS:http://ws.carmencarto.fr/WFS/119/fxx_inpn?"
- le user:passw (user + ':' + passw) pour GDAL_HTTP_USERPWD: si le user/passw est pour le proxy (au lieu du serveur WFS), il y a l'option GDAL_HTTP_PROXYUSERPWD (http://trac.osgeo.org/gdal/wiki/ConfigOptions#GDAL_HTTP_PROXYUSERPWD )
Hors ligne
#3 Tue 03 February 2015 17:05
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
Re: Accès flux WFS GDAL python
Merci pour tes réponses
J'avais déjà exploré ces variantes, mais ça ne change pas le résultat ;-(
Sylvain
Hors ligne
#4 Tue 03 February 2015 18:16
Re: Accès flux WFS GDAL python
Est-ce que tu as essayé avec l'URL:
http://ws.carmencarto.fr/WFS/119/fxx_inpn?service=wfs
pour le service WFS ?
Je viens de tester sur ma machine (sans proxy): avec "http://ws.carmencarto.fr/WFS/119/fxx_inpn?" la variable wfs est None. Mais ça fonctionne avec service=wfs
Hors ligne
#5 Tue 10 February 2015 11:56
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
Re: Accès flux WFS GDAL python
Effectivement, ça marche de cette manière.
Merci!
Hors ligne
#6 Fri 27 February 2015 22:50
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: Accès flux WFS GDAL python
Il faut utiliser la même chaine de connexion que ce qui est utilisé avec ogrinfo, à savoir avec le préfixe WFS:
Le fait de requêter directement le driver WFS ne sert à rien. On peut tout aussi bien utiliser ogr.Open()
Hors ligne