Skip to Content

Répondre au commentaire

python

  1. >>> from owslib.wms import WebMapService #(import du module)
  2. >>> wms = WebMapService('http://www.geosignal.org/cgi-bin/wmsmap?', version='1.1.1') #connexion au serveur
  3. >>> wms.identification.title #titre du serveur
  4. 'Serveur Geosignal'
  5.  
  6. >>> list(wms.contents) #liste des cartes servies
  7. ['RASTER25k', 'RASTER500k', 'Communes', 'Arrondissements', 'Regions', 'RASTER250k', 'RASTER1000k', 'RASTER5k', 'Autoroutes', 'RASTER100k', 'Cantons', 'Monde', 'Departementales', 'RASTER4000k', 'CommunesXY', 'RASTER50k', 'Serveur Geosignal', 'Voirie', 'Autres', 'Secondaires', 'Nationales', 'Departements']
  8.  
  9. >>> wms['CommunesXY'].boundingBox #emprise d'une couche
  10. (51000.0, 1622600.0, 1194820.0, 2675140.0, 'EPSG:27582')
  11.  
  12. >>> wms['CommunesXY'].boundingBoxWGS84 #emprise de la couche en WGS84
  13. (-5.4478900000000001, 41.369100000000003, 10.767300000000001, 51.069000000000003)
  14.  
  15. >>> [op.name for op in wms.operations] #requêtes possibles
  16. ['GetCapabilities', 'GetMap', 'GetFeatureInfo', 'DescribeLayer', 'GetLegendGraphic']
  17.  
  18. >>> wms.getOperationByName('GetMap').methods #comment interroger le serveur
  19. {'Post': {'url': 'http://www.geosignal.org/cgi-bin/wmsmap?'}, 'Get': {'url': 'http://www.geosignal.org/cgi-bin/wmsmap?'}}
  20.  
  21. >>> wms.getOperationByName('GetMap').formatOptions #formats possibles des images récupérées
  22. ['image/png', 'image/gif', 'image/png; mode=24bit', 'image/jpeg', 'image/wbmp', 'image/tiff']
  23.  
  24. >>> wms['CommunesXY'].styles #styles éventuels
  25. {} #il n'y en a pas
  26.  
  27. #récupération de la totalité de l'image png de CommunesXY (chaque paramètre est modifiable)
  28. >>> img = wms.getmap( layers=['CommunesXY'],
  29. ... srs='EPSG:27582',
  30. ... bbox=(-51000.0, 1622600.0, 1194820.0, 2675140.0),
  31. ... size=(400, 300),
  32. ... format='image/png',
  33. ... transparent=True)
  34.  
  35. #écriture du fichier sur le disque
  36. >>> communes = open('communesxy.png', 'wb')
  37. >>> communes.write(img.read())
  38. >>> communes.close()

Répondre