dezoomify-rs icon indicating copy to clipboard operation
dezoomify-rs copied to clipboard

Feature request: new dezoomer for WMTS maps

Open lovasoa opened this issue 5 years ago • 4 comments

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

lovasoa avatar Jul 17 '20 15:07 lovasoa

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>

lovasoa avatar Jul 17 '20 15:07 lovasoa

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?

macmacleannz avatar Jul 20 '20 15:07 macmacleannz

I implemented basic support for wmts on the dezoomify web application https://dezoomify.ophir.dev

lovasoa avatar Dec 27 '20 10:12 lovasoa

Thanks @lovasoa ! I will test this as soon I'll have some time available.

lost-geographer avatar Jan 07 '21 08:01 lost-geographer