Feature request: new dezoomer for WMTS maps
WMTS is a standard format for storing 2D map tiles. If dezoomify-rs could implement (a subset of) the specification, it would allow downloading high-resolution maps from many different sources.
See #61
Here is an example of a WMTS meta-information url: http://tiles.webmapp.it/apuane_25k_2018_288dpi/apuane_25k_2018_288dpi/wmt/wmts?&crs=EPSG:3857&dpiMode=7&format=image/png&layers=apuane_25k_2018_288dpi
and an excerpt of the contents :
<Capabilities xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
<!-- Service Identification -->
<ows:ServiceIdentification>
<ows:Title>tileserverphp</ows:Title>
<ows:ServiceType>OGC WMTS</ows:ServiceType>
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
</ows:ServiceIdentification>
<!-- Operations Metadata -->
<ows:OperationsMetadata>
</ows:OperationsMetadata>
<Contents>
<Layer>...</Layer>
<Layer>
<ows:Title>TRENTINO</ows:Title>
<ows:Identifier>trentino</ows:Identifier>
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
<ows:LowerCorner>10.44 45.66</ows:LowerCorner>
<ows:UpperCorner>11.98 46.55</ows:UpperCorner>
</ows:WGS84BoundingBox>
<Style isDefault="true">
<ows:Identifier>default</ows:Identifier>
</Style>
<Format>image/png</Format>
<TileMatrixSetLink>
<TileMatrixSet>GoogleMapsCompatible</TileMatrixSet>
</TileMatrixSetLink>
<ResourceURL format="image/png" resourceType="tile" template="http://tiles.webmapp.it/apuane_25k_2018_288dpi/apuane_25k_2018_288dpi/wmt/trentino/{TileMatrix}/{TileCol}/{TileRow}.png"/>
</Layer>
<TileMatrixSet>
<ows:Title>GoogleMapsCompatible</ows:Title>
<ows:Abstract>GoogleMapsCompatible EPSG:3857</ows:Abstract>
<ows:Identifier>GoogleMapsCompatible</ows:Identifier>
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>
<TileMatrix>
<ows:Identifier>0</ows:Identifier>
<ScaleDenominator>559082264.02872</ScaleDenominator>
<TopLeftCorner>-20037508.34 20037508.34</TopLeftCorner>
<TileWidth>256</TileWidth>
<TileHeight>256</TileHeight>
<MatrixWidth>1</MatrixWidth>
<MatrixHeight>1</MatrixHeight>
</TileMatrix>
<TileMatrix>...</TileMatrix>
<TileMatrix>
<ows:Identifier>13</ows:Identifier>
<ScaleDenominator>68247.346683193</ScaleDenominator>
<TopLeftCorner>-20037508.34 20037508.34</TopLeftCorner>
<TileWidth>256</TileWidth>
<TileHeight>256</TileHeight>
<MatrixWidth>8192</MatrixWidth>
<MatrixHeight>8192</MatrixHeight>
</TileMatrix>
<TileMatrix>...</TileMatrix>
</TileMatrixSet>
<TileMatrixSet>
</TileMatrixSet>
</Contents>
<ServiceMetadataURL xlink:href="http://tiles.webmapp.it/apuane_25k_2018_288dpi/apuane_25k_2018_288dpi/wmt/wmts/1.0.0/WMTSCapabilities.xml"/>
</Capabilities>
I use WMTS/WMS services a lot. There are several apps that I use to scrape the tiles -SAS Planet, MOBAC and Maproxy. They basically do a similar job to what dezoomer does in downloading tiles and creating a large files. The apps above take it a step further and create georeferenced files (geoTiff or MBtiles). The limitation of those apps is that they only work with a couple of common coordinate systems (web Mercator/Google and Lat/long/WGS84) and (without some extra Pascal programming) limited to 256x256 tiles (except Maproxy). The above samples is web Mercator and easy to download. The above also has a TMS that is multiple folders of 256x256 tiles using a tilejson file for it parameters.
http://tiles.webmapp.it/apuane_25k_2018_288dpi.json http://tiles.webmapp.it/apuane_25k_2018_288dpi/{z}/{x}/{y}.png
Let me know if you have any further question on geo web services?
I implemented basic support for wmts on the dezoomify web application https://dezoomify.ophir.dev
Thanks @lovasoa ! I will test this as soon I'll have some time available.