WMS-kall fra Python¶
Viser hvordan resultater av to WMS-kall kan presenteres uten å lagre i egen fil. Bruk av markdown- og html-kode.
Notebook-fil: wms-2-image-grid.ipynb
NTNU 23.01.2025 Sverre Stikbakke
In [1]:
# Markdown-modulen inneholder md-funksjonen som genererer html-kode fra markdown-kode. Dette gir mulighet for å bruke verdier fra python-variabler i html-koden.
from IPython.display import Markdown as md
In [2]:
service_url = 'https://wms.geonorge.no/skwms1/wms.topo'
bbox_1 = '592000,6741000,652000,6801000'
bbox_2 = '652000,6741000,712000,6801000'
parameters = {
'VERSION': '1.3.0',
'REQUEST': 'GetMap',
'CRS': 'EPSG:25832',
'BBOX': bbox_1,
'WIDTH': '600',
'HEIGHT': '600',
'LAYERS': 'topo',
'FORMAT': 'image/png',
'STYLES': 'default'
}
In [3]:
# Kode som setter sammen verdiene fra service_url, bbox-variablene og parameters til en komplett url
# (det er brukt python list comprehension her sammen med join-funksjonen)
url_1 = service_url + '?' + '&'.join(['='.join(x) for x in parameters.items()])
print(url_1)
https://wms.geonorge.no/skwms1/wms.topo?VERSION=1.3.0&REQUEST=GetMap&CRS=EPSG:25832&BBOX=592000,6741000,652000,6801000&WIDTH=600&HEIGHT=600&LAYERS=topo&FORMAT=image/png&STYLES=default
In [4]:
# bytter ut innholdet i BBOX
parameters['BBOX'] = bbox_2
url_2 = service_url + '?' + '&'.join(['='.join(x) for x in parameters.items()])
print(url_2)
https://wms.geonorge.no/skwms1/wms.topo?VERSION=1.3.0&REQUEST=GetMap&CRS=EPSG:25832&BBOX=652000,6741000,712000,6801000&WIDTH=600&HEIGHT=600&LAYERS=topo&FORMAT=image/png&STYLES=default
In [5]:
md(f"""
<table>
<tr>
<td><img src={url_1}></td>
<td><img src={url_2}></td>
</tr>
</table>""")
Out[5]: