Nous adressons toutes nos pensées à la famille de notre ami Jérôme !
http://www.forumsig.org/showthread.php/43488-Disparition-de-Phoenix
Nous adressons toutes nos pensées à la famille de notre ami Jérôme !
http://www.forumsig.org/showthread.php/43488-Disparition-de-Phoenix
Un premier petit exemple avec le module http://pypi.python.org/pypi/OWSLib/0.3.1 , utilisé, entre autres, par Quantum Gis. Il permet de récupérer toutes les caractéristiques et les images d'un serveur WMS.
Me basant sur les exemples donnés, je vais interroger le service cartographique de geosignal (voir http://geotribu.net/node/59)
>>> from owslib.wms import WebMapService #(import du module) >>> wms = WebMapService('http://www.geosignal.org/cgi-bin/wmsmap?', version='1.1.1') #connexion au serveur >>> wms.identification.title #titre du serveur 'Serveur Geosignal' >>> list(wms.contents) #liste des cartes servies ['RASTER25k', 'RASTER500k', 'Communes', 'Arrondissements', 'Regions', 'RASTER250k', 'RASTER1000k', 'RASTER5k', 'Autoroutes', 'RASTER100k', 'Cantons', 'Monde', 'Departementales', 'RASTER4000k', 'CommunesXY', 'RASTER50k', 'Serveur Geosignal', 'Voirie', 'Autres', 'Secondaires', 'Nationales', 'Departements'] >>> wms['CommunesXY'].boundingBox #emprise d'une couche (51000.0, 1622600.0, 1194820.0, 2675140.0, 'EPSG:27582') >>> wms['CommunesXY'].boundingBoxWGS84 #emprise de la couche en WGS84 (-5.4478900000000001, 41.369100000000003, 10.767300000000001, 51.069000000000003) >>> [op.name for op in wms.operations] #requêtes possibles ['GetCapabilities', 'GetMap', 'GetFeatureInfo', 'DescribeLayer', 'GetLegendGraphic'] >>> wms.getOperationByName('GetMap').methods #comment interroger le serveur {'Post': {'url': 'http://www.geosignal.org/cgi-bin/wmsmap?'}, 'Get': {'url': 'http://www.geosignal.org/cgi-bin/wmsmap?'}} >>> wms.getOperationByName('GetMap').formatOptions #formats possibles des images récupérées ['image/png', 'image/gif', 'image/png; mode=24bit', 'image/jpeg', 'image/wbmp', 'image/tiff'] >>> wms['CommunesXY'].styles #styles éventuels {} #il n'y en a pas #récupération de la totalité de l'image png de CommunesXY (chaque paramètre est modifiable) >>> img = wms.getmap( layers=['CommunesXY'], ... srs='EPSG:27582', ... bbox=(-51000.0, 1622600.0, 1194820.0, 2675140.0), ... size=(400, 300), ... format='image/png', ... transparent=True) #écriture du fichier sur le disque >>> communes = open('communesxy.png', 'wb') >>> communes.write(img.read()) >>> communes.close()
En pratique le module est un parseur du fichier xml renvoyé par la requête :
http://www.geosignal.org/cgi-bin/wmsmap?service=WMS&version=1.1.1&request=GetCapabilities
mais c'est bien plus facile de le déchiffrer...., avant d'utiliser openlayers, par exemple.
Sauf mention contraire dans les contenus, l'ensemble de ce site relève de la législation française et internationale sur le droit d'auteur et la propriété intellectuelle.
Le portailSIG est édité par l'association loi 1901 Forum Systèmes d'Information Géographique
dont le siège social se situe à AMIENS
ISSN 2274-4150
Commentaires
Poster un nouveau commentaire