banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

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

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

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

 

Pied de page des forums

Powered by FluxBB