<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title></title></head><body><p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none"> </span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">Hello Everyone,</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">I have recently worked on improving the existent WMS feature inside Marble. If you are interested in this functionality you might want to come up with your favorite WMS services (e.g. using <a href="https://www.geoseer.net/">https://www.geoseer.net/</a> ) and give it a try. I'd be curious about any feedback.</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">Recent additions inside the WMS wizard include (among numerous others):</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- More reliable queries</span></p>
<p style="margin: 0px 5px 0px 0px;"><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt; color: #000000; text-decoration: none;">- Refactored the whole backend code (now moved into the new class OwsServiceManager) out of the UI-code (MapWizard class) </span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Tabbed view that provides all infos for each layer before making the selection</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Multi-selection for layers (the order of selection is relevant: the first selection is considered the "primary" layer that most info is derived from and the rendering of the WMS service will happen in the selection order).</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- A preview image that takes the boundaries into account for displaying the (map theme) preview.</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Selection between the available standard bitmap file formats supported by Marble (maybe someone could look into SVG support as well)</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Choice between the EPSGs (reference systems/projections) relevant for Marble. Most prominently this includes 4326 (closely related to "Equirectangular") and 3857 ("Web Mercator").</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- You can enable the OpenStreetMap texture layer as a backdrop if the imagery of the WMS service only covers parts of the earth (which messes with the transparency feature). Or alternatively you can provide a color value that is used in all transparent parts of the WMS layer.</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- For WMS services with lots of layers (e.g. <a href="https://geowebservices.stanford.edu/geoserver/ows?SERVICE=WMS&">https://geowebservices.stanford.edu/geoserver/ows?SERVICE=WMS&</a> or <a href="https://www.umweltkarten-niedersachsen.de/arcgis/services/GSG_wms/MapServer/WMSServer">https://www.umweltkarten-niedersachsen.de/arcgis/services/GSG_wms/MapServer/WMSServer?</a> ) I introduced a lineedit that allows for wildcard searches)</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Cleaned up the legend and re-added legend image support for the first selected layer. </span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">TODOs:</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Include means of Authentication (username and password / API token where necessary) -> highest priority </span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Further bugfixes -> high priority</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- If multiple layers have been selected compile the resulting legend image from all of these. -> high priority</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Allow to include further map layers as a "backdrop" that were previously created with the MapWizard (requirement: compatible tile projections). This would allow for creating map themes with several layers using the Marble UI. -> medium priority</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Selection of Marble's existing blending algorithms for the backdrop layer(s). -> medium priority</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Add support for further EPSGs that can be included in a meaningful way  -> medium priority</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">This might include UTM-related EPSGs (however unfortunately our UTM projection calculations are broken at the moment, see: <a href="https://bugs.kde.org/show_bug.cgi?id=347536">https://bugs.kde.org/show_bug.cgi?id=347536</a> )</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- SLD support -> no priority atm</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- ...</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">Also I have added initial experimental support for WMTS (the tile-based flavor of WMS):</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">Lots of known restrictions:</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- This only works well if the TileMatrixSet is layouted in the same way as OpenStreetMaps Slippy Map (One Level Zero tile and a 2^x growth for Column and Row per level). And the TileMatrix identifiers need to be named exactly according to the "zoomlevel"/tile level (without e.g. EPSG snippets).</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- Also the level zero needs to include the whole latitude/longitude range ("whole earth"). Some WMTS services just provide a portion of the Earth for the level zero tile which currently is not compatible with Marble's tile approach. I don't have any plans to "fix" this, but if you feel tempted go ahead.</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- No GetTile requests - right now we just support the faster ResourceURL approach.</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- most rudimentary support for {Time} (which automatically gets translated to the arbitrary default "current").</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- due to the insane potential complexity supported by WMTS there are probably numerous cornercases that don't work. Initially it would be great to support "conservative" WMTS services that just imitate XYZ-server behavior.</span></p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">- no support for backdrops yet (it's on my TODO though as it should be easy to add).</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">If you are curious about WMTS services to work, you might want to try e.g. <a href="http://spectrum.mapinfoservices.com/rest/Spatial/WMTS">http://spectrum.mapinfoservices.com/rest/Spatial/WMTS</a> (yes this is a pretty "harmless" layer).</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">At the moment there are no plans to support related WFS/WCS calls but if you feel tempted to add them go ahead.</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">I'd be curious to get feedback about any use cases / URLs that are of interest (and are buggy or work noteworthy well). And if you feel tempted to contribute via patches, don't hesitate ... </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Have fun!</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Torsten</p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none"> </span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="font-family:arial,helvetica,sans-serif;font-size:10pt;color:#000000;text-decoration:none">  </span></p></body></html>