OGC WMS¶
OGC Web Map Service slouží ke stahování a sdílení mapových dat. Klientovi nejsou posílána vlastní data, ale pouze náhled (obrázek) těchto dat.
Poznámka
Více informací na školení Úvod do GIS.
from owslib.wms import WebMapService
wms = WebMapService(url)
print('{}\n{}{}\n{}'.format(wms.identification.title,
wms.identification.abstract,
wms.provider.name,
wms.provider.contact.address))
Prohlížecí služba WMS - ZM 10
Prohlížecí služba WMS-ZM10-P je poskytována jako veřejná prohlížecí
služba nad daty Základní mapy ČR 1:10 000.
Zeměměřický úřad
Pod Sídlištěm 9
Dostupné mapové vrstvy:
print(wms.contents)
{'GR_ZM10': <owslib.wms.ContentMetadata instance at 0x7f1d7bc1b8c0>}
Rozsah vrstvy:
layer = list(wms.contents.keys())[0]
print('{}\n{}'.format(wms.contents[layer].boundingBox,
wms.contents[layer].boundingBoxWGS84))
(-950003.175021186, -1250003.1750036045, -399990.474995786, -899996.8249909044, 'EPSG:5514')
(11.214011580382529, 47.96491460125967, 19.40766262309513, 51.691664934538636)
Stažení a uložení dat:
img = wms.getmap(
layers=[layer],
size=[800, 600],
srs="EPSG:5514",
bbox=[-950003, -1250003, -399990, -899996],
format="image/png"
)
with open('data/wms_download.png', 'wb') as out:
out.write(img.read())
Důležité
Možné problémy při připojení ke službě. V minulosti končilo připojení chybou
requests.exceptions.TooManyRedirects: Exceeded 30
redirects.
Vysvětlení hledejte na našem blogu.
Úkol
Vyzkoušejte připojení ke službě:
url='http://gis.nature.cz/arcgis/services/UzemniOchrana/Natura2000/MapServer/WmsServer'
layer='1' # Evropsky významné lokality (EVL)
Výše zmíněna služba AOPK podporuje pouze WMS verze 1.3.0. Vzhledem k tomu, že OWSLib používá ve výchozím nastavení verzi služby 1.1.1, je třeba verzi vynutit:
wms = WebMapService(url, version='1.3.0')