Ahoj,
I am using Marble 25.12.2.
I do ant want to create custom maps, using WMTS or WMS servers.
I miss an exhaustive documentation on how to do that; there is only very rudimentally documentation at techbase.kde.org/Marble/CustomMaps and techbase.kde.org/Marble/OSMSlippyMaps, not really targeting WMS and WMTS.
Now I specifically refer to “WMS” maps:
I often cannot use GetCapabilities, e.g. there is a server when I do a “GetCapabilities” request, marble shows me a dialogue window saying “Server is not an OWS server”. Manually adding the map (by fiddling a lot around with the explicit URL I found somewhere else) works.
This is the GetCapabilities URL that prodices the “Server is not an OWS server” response (there are credentials in the URL which I have censored, you have to retrieve them manually from josm.openstreetmap.de/wiki/Maps/Denmark#KDSScreenmap to make the URL work in the web browser).
And this GetCapabilities URL results in a “Wizard cannot parse server’s response” (again, credentials censored; need to be retrieved from josm.openstreetmap.de/wiki/Maps/Denmark#KDSDTKMap25).
But I also see those issues with WMS servers that do not need credentials at all.
So manual adding the map is needed, I succeeded, after lot of frickling.
A documentation on how Marble’s .dgml files work exactly would really be helpful and needed.
Is it somewhere, if not, should I open a “documentation feature wish” issue on the bugtracker (and maybe referring here to give context about the hassles experienced)?
I have the case where the URL I was given involves a version=1.3.0 in the query. But when I set version=1.3.0 in the <query /> tag in the .dgml file, marble still also adds a version=1.1.1 to the request, resulting in two version parameters. I encountered a WMS server that did not accept specifying this twice with different values. (Gladly it also worked with version=1.1.1).
How can I make marble not adding a version parameter to the query if it is already given? Other parameters which I manually specify are also omitted from the otherwise automatically added parameters.
It is the following map layer which shows the issue:
<texture name="map" expire="31536000">
<sourcedir format="png" expire="31536000">earth/denmark-roadmap</sourcedir>
<tileSize width="256" height="256"/>
<storageLayout maximumTileLevel="19" levelZeroColumns="1" levelZeroRows="1" mode="WebMapService"/>
<downloadUrl protocol="https" host="services.datafordeler.dk" path="/DKskaermkort/topo_skaermkort/1.0.0/Wms" query="username=CENSORED&password=CENSORED&transparent=TRUE&version=1.3.0&layers=dtk_skaermkort&styles="/>
<projection name="Mercator"/>
<blending/>
</texture>
resulting in e.g. the following server query:
https://services.datafordeler.dk/DKskaermkort/topo_skaermkort/1.0.0/Wms?username=CENSORED&password=CENSORED&transparent=TRUE&version=1.3.0&layers=dtk_skaermkort&styles=&service=WMS&request=GetMap&version=1.1.1&format=image/png&srs=EPSG:3857&width=256&height=256&bbox=1159396.844868164277,7594783.129357904196,1161842.829772948287,7597229.114262696356
(See the two version parameters!),
Resulting in an HTTP error 400 “Bad Request” and in the web browser giving the text:
Duplicate parameters are not supported: version
Removing the version=1.3.0 makes it succeeding.
(Note, once again, to reproduce you first need to retrieve from josm.openstreetmap.de/wiki/Maps/Denmark#KDSScreenmap the credentials which I have censored.)
Please also tell me if parts of this are a bug report, and if so, feel free to report it or tell me weather I should report it.
Regards!