Hi,
I would like to use MapSuite 7.0 WMTSLayer new functionality in our application.
So far, I’ve based myself on the sample provided here:
wiki.thinkgeo.com/wiki/Map_S…TS_Overlay
I tested the example exactly as provided, using MapSuite release build 7.0.0.0 as well as the development 7.0.4.0 version, but I’ve ran into various problems:
- I get a format exception “Input string was not in a correct format.” when my computer Windows localization is set to French (France).
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at ThinkGeo.MapSuite.WpfDesktopEdition.WmtsTiledOverlay.DBg=(XmlNode DRg=, XmlNamespaceManager Dhg=)
at ThinkGeo.MapSuite.WpfDesktopEdition.WmtsTiledOverlay.CRg=(XmlElement Chg=, XmlNamespaceManager Cxg=)
at ThinkGeo.MapSuite.WpfDesktopEdition.WmtsTiledOverlay.InitializeConnection()
This works fine if I set my localization to English (US).
- Once I get around the above problem, no exception is thrown but the map in the example is blank.
I traced the http requests coming from the application (no exception is drawn even when I set the overlay’s DrawingExceptionMode to Draw).
server.caris.com/spatialfusionserver/services/ows/wmts/NaturalEarth/1.0.0/WMTSCapabilities.xml
server.caris.com/spatialfusionserver/services/ows/wmts/NaturalEarth/1.0.0/newworld/default/GoogleMapsCompatible/3/200/197.png
server.caris.com/spatialfusionserver/services/ows/wmts/NaturalEarth/1.0.0/newworld/default/GoogleMapsCompatible/3/199/199.png
[…]
The two last requests are wrong, as they try to request for tiles (197,200) and (199,199) for zoom level 3 while the TileMatrix at this level is of size 8x8, as we can tell from the GetCapabilities response:
<
TileMatrixSet
>
<
ows:Identifier
>GoogleMapsCompatible<
ows:Identifier
>
<
TileMatrix
>
<
ows:Identifier
>3<
ows:Identifier
>
<
ScaleDenominator
>6.988528300358972E7<
ScaleDenominator
>
<
TopLeftCorner
>-2.0037508342789244E7 -2.0037508342789244E7<
TopLeftCorner
>
<
TileWidth
>256<
TileWidth
>
<
TileHeight
>256<
TileHeight
>
<
MatrixWidth
>8<
MatrixWidth
>
<
MatrixHeight
>8<
MatrixHeight
>
<
TileMatrix
>
<
TileMatrixSet
>
- The KVP server encoding type example did not work either but it only performed the GetCapabilities request:
v2.suite.opengeo.org/geoserver/gwc/service/wmts/?Service=WMTS&Request=GetCapabilities
- I’ve tested WMTSLayer as well, by putting the WMTSLayer over a LayerOverlay, and by basing myself off this example:
<a href=“wiki.thinkgeo.com/wiki/Map_Suite_Wpf_Desktop_Edition_Layers_%26_FeatureSources_Samples#WMTS_Layer” tabindex=“0” style=“color: #000000;”>wiki.thinkgeo.com/wiki/Map_S...WMTS_Layer</a>
but I’ve had not much success. Not only were the TileRow/TileCol out of bounds, but also when using KVP encoding, the request had wrong arguments, and looked pretty much like this:
[…]Service=WMTS&VERSION=1.0.0&Request=GetTile&Style=normal&TileMatrixSet=TestSet&TileMatrix=TestSet:8&TileRow=62345&TileCol=62565
As you can see, we have TileMatrix=TestSet:8, when it should be TileMatrix=8 (it appends the TileMatrixSet for some reason).
Thanks.