Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Wed 17 July 2019 16:48
- mad_sydela
- Participant occasionnel
- Date d'inscription: 17 Aug 2015
- Messages: 31
R - Import d'un flux WFS avec user et password
Bonjour,
Je cherche à utiliser R pour automatiser l'export d'une donnée présente dans un flux WFS en SHP.
J'utilise la fonction ogr2ogr et j'ai du importer le package gdalUtils.
L'import fonctionne avec un flux non protégé par un nom d'utilisateur et mdp. Mais maintenant, je souhaiterai l'utiliser pour un flux protégé (je précise que je dispose du login et mot de passe) mais ça ne fonctionne pas, y compris lorsque j'essaie de regarder les métadonnées du flux en question.
Connaîtriez-vous la syntaxe pour que ça fonctionne ?
Je vous remercie d'avance pour votre aide,
Cordialement,
MAD
Hors ligne
#2 Wed 17 July 2019 17:11
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: R - Import d'un flux WFS avec user et password
Bonjour,
pouvez nous déja nous montrer l'extrait de code ou commande
ou vous réaliser votre import ?
Qaund vous dites protégé par login/pwd, à quoi faites vous reference ?
Est ce une authentification HTTP ?
Ou bien un système qui utilise des cookies ?
Un lien vers le service WMS aiderait !
Hors ligne
#3 Mon 22 July 2019 17:11
- mad_sydela
- Participant occasionnel
- Date d'inscription: 17 Aug 2015
- Messages: 31
Re: R - Import d'un flux WFS avec user et password
Bonjour,
En reprenant le script trouvé d'un tuto, on a le script suivant et j'arrive à le faire fonctionner :
wfs_bwk <- "WFS:https://geoservices.informatievlaanderen.be/overdrachtdiensten/BWK/wfs"
info <- ogrinfo(wfs_bwk, # permet de visualiser les métadonnées
so = TRUE,
ro = TRUE)
ogr2ogr(
src_datasource_name = wfs_bwk, # the input source
layer = "BWK:Bwkhab", # the layer from the input
dst_datasource_name = "bwkhab2.shp", # the target file
f = "ESRI Shapefile", # the target format
spat = c(left = 142600, bottom = 153800, right = 146000, top = 156900), # the bounding box
t_srs = "EPSG:31370", # the coordinate reference system
verbose = TRUE
)
En le testant également à partir d'une autre url sans user/password, ça fonctionne également. J'ai ajouté direct dans l'url le nom de la couche et la projection:
http://carto.geovendee.fr/cgi-bin/mapse … =EPSG:2154
Mais avec les données que je souhaite récupérer, ça ne fonctionne pas (j'ai remplacé le user et mot de passe par ****** dans les url de test ci-dessous):
wfs_test <- "WFS:https://apps.sogelink.fr/maplink/public/wfs?"
wfs_test2 <- "WFS:https://apps.sogelink.fr/maplink/public/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=chantier:chantierExploitant&SRSNAME=EPSG:4326&username=*******&password=*******"
wfs_test3 <- "WFS:https://*******:******@apps.sogelink.fr/maplink/public/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=chantier:chantierExploitant&SRSNAME=EPSG:4326"
Et du coup, après avoir testé tout ça, je me dis que R ne lit pas le lien s'il est limité par un user/password. Savez-vous si c'est le cas ?
Avez-vous une idée de la syntaxe à utiliser ?
Je vous remercie par avance,
Cordialement,
MAD
Hors ligne
#4 Mon 22 July 2019 17:11
- mad_sydela
- Participant occasionnel
- Date d'inscription: 17 Aug 2015
- Messages: 31
Re: R - Import d'un flux WFS avec user et password
Bonjour,
En reprenant le script trouvé d'un tuto, on a le script suivant et j'arrive à le faire fonctionner :
wfs_bwk <- "WFS:https://geoservices.informatievlaanderen.be/overdrachtdiensten/BWK/wfs"
info <- ogrinfo(wfs_bwk, # permet de visualiser les métadonnées
so = TRUE,
ro = TRUE)
ogr2ogr(
src_datasource_name = wfs_bwk, # the input source
layer = "BWK:Bwkhab", # the layer from the input
dst_datasource_name = "bwkhab2.shp", # the target file
f = "ESRI Shapefile", # the target format
spat = c(left = 142600, bottom = 153800, right = 146000, top = 156900), # the bounding box
t_srs = "EPSG:31370", # the coordinate reference system
verbose = TRUE
)
En le testant également à partir d'une autre url sans user/password, ça fonctionne également. J'ai ajouté direct dans l'url le nom de la couche et la projection:
http://carto.geovendee.fr/cgi-bin/mapse … =EPSG:2154
Mais avec les données que je souhaite récupérer, ça ne fonctionne pas (j'ai remplacé le user et mot de passe par ****** dans les url de test ci-dessous):
wfs_test <- "WFS:https://apps.sogelink.fr/maplink/public/wfs?"
wfs_test2 <- "WFS:https://apps.sogelink.fr/maplink/public/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=chantier:chantierExploitant&SRSNAME=EPSG:4326&username=*******&password=*******"
wfs_test3 <- "WFS:https://*******:******@apps.sogelink.fr/maplink/public/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=chantier:chantierExploitant&SRSNAME=EPSG:4326"
Et du coup, après avoir testé tout ça, je me dis que R ne lit pas le lien s'il est limité par un user/password. Savez-vous si c'est le cas ?
Avez-vous une idée de la syntaxe à utiliser ?
Je vous remercie par avance,
Cordialement,
MAD
Hors ligne
#5 Thu 25 July 2019 17:23
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: R - Import d'un flux WFS avec user et password
donc avec les valeurs wfs_test2 et wfs_test3 ça ne fonctionne pas ?
Quand vous essayez de lancer directement un ogr2ogr en ligne de commande
ca fonctionne ?
Sinon quel est le message d'erreur ?
Hors ligne
#6 Thu 25 July 2019 17:44
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: R - Import d'un flux WFS avec user et password
Pour ma part, j'ai du renseigner la variable d'environnement
GDAL_HTTP_UNSAFESSL pour pouvoir passer outre un problème de certificat.
Peut être que votre souci vient de là.
Hors ligne
#7 Wed 21 August 2019 16:19
- mad_sydela
- Participant occasionnel
- Date d'inscription: 17 Aug 2015
- Messages: 31
Re: R - Import d'un flux WFS avec user et password
Bonjour,
Merci pour votre retour. Je vais tester.
Cordialement,
Hors ligne
#8 Thu 29 August 2019 11:30
- mad_sydela
- Participant occasionnel
- Date d'inscription: 17 Aug 2015
- Messages: 31
Re: R - Import d'un flux WFS avec user et password
Bonjour,
J'ai modifié cette variable sous Windows mais cela n'a rien changé lors du lancement du script R. Doit-on la changer à un autre endroit ? J'ai bien trouvé en cherchant sur internet que l'on peut la modifier sous Qgis, mais ne passant pas par ce logiciel pour réaliser le traitement, je n'en vois pas l'intérêt.
Sinon, mon objectif est d'automatiser l'export d'une donnée présente dans un flux WFS en SHP. Mon idée première était de passer par R, mais je ne suis pas sectaire. Si vous avez une autre idée, je suis bien entendue preneuse (python, ...).
Cordialement,
Hors ligne
#9 Thu 29 August 2019 12:12
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: R - Import d'un flux WFS avec user et password
Peut être qu'il faut définir la variable d'environnement dans R.
Mais dans un premier temps, si vous pouviez juste essayer
avec la commande ogrinfo, pour mieux isoler le problème.
Code:
set GDAL_HTTP_UNSAFESSL=YES
Code:
ogrinfo -ro WFS:https://*******:******@apps.sogelink.fr/maplink/public/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=chantier:chantierExploitant&SRSNAME=EPSG:4326
Pour lancer ogrinfo, si vous avez une install QGIS, vous devez avoir aussi
d'installé un programme nommé OSGEO4W Shell, c'est un terminal avec
tout les commandes osgeo.
Dernière modification par tumasgiu (Thu 29 August 2019 15:57)
Hors ligne