[gdal-dev] GDAL WMTS get tiles no documentation
Even Rouault
even.rouault at spatialys.com
Wed May 29 03:41:32 PDT 2024
Hi,
The WMS cache (which is used underneath by the WMTS driver) writes each
tiles in a separate file. So if you use multi-threaded, as long as you
read in parallel different GDALDataset* object on the WMTS filename, and
read disjoint areas, that should be fine. There might be a slight risk
of things going bad if you happened to read the same tile from different
GDALDataset* object at the same time, as it could potentially read a
partially written cached tile, or concurrently write the tile in the
cache and corrupt it. The logic is in frmts/wms/gdalwmscache.cpp
Even
Le 29/05/2024 à 10:14, Michał Kowalczuk via gdal-dev a écrit :
> Because this is not clear in documentation, especially in WMTS driver
> docs, my question is strictly about this issue to programmers who have
> already explored this topic.
>
> Regards
> Michal
>
> W dniu śr., 29.05.2024 o 10:04 Rahkonen Jukka
> <jukka.rahkonen at maanmittauslaitos.fi> napisał(a):
>
> Hi,
>
> No, I am not sure because I do not program myself. Reading this
> document https://gdal.org/user/multithreading.html makes me feel
> that it is possible to do some things in parallel, but the
> programmer must know how to do it right.
>
> -Jukka Rahkonen-
>
> *Lähettäjä:*Javier Jimenez Shaw <j1 at jimenezshaw.com>
> *Lähetetty:* keskiviikko 29. toukokuuta 2024 10.41
> *Vastaanottaja:* Rahkonen Jukka <jukka.rahkonen at maanmittauslaitos.fi>
> *Kopio:* Michał Kowalczuk <michkowalczuk at gmail.com>;
> gdal-dev at lists.osgeo.org
> *Aihe:* Re: [gdal-dev] GDAL WMTS get tiles no documentation
>
> On Wed, 29 May 2024 at 08:59, Rahkonen Jukka via gdal-dev
> <gdal-dev at lists.osgeo.org <mailto:gdal-dev at lists.osgeo.org>> wrote:
>
> Hi,
>
> When you have a RasterBand from the WMTS data source, it is
> abstracted and you can read the raster data just like from any
> other data source and raster band
> https://gdal.org/tutorials/raster_api_tut.html#reading-raster-data
> <https://gdal.org/tutorials/raster_api_tut.html#reading-raster-data>“There
> are a few ways to read raster data, but the most common is via
> the GDALRasterBand::RasterIO() method. This method will
> automatically take care of data type conversion, up/down
> sampling and windowing.” GDAL knows which tiles to read.
>
> I do not know if the WMTS driver can do parallel tile
> downloads. If not, it is possible to run many RasterIO() at
> the same time, each reading data from a different window like
> in this rasterio document
> https://rasterio.readthedocs.io/en/latest/topics/concurrency.html
> <https://rasterio.readthedocs.io/en/latest/topics/concurrency.html>.
>
> Jukka, are you sure you can run several RasterIO in parallel (on
> the same dataset)? in GDAL GeoTIFF you cannot: the cache may be
> corrupted. In that case I open several datasets over the same
> file. I do not know about WMTS.
>
> -Jukka Rahkonen-
>
> *Lähettäjä:*gdal-dev <gdal-dev-bounces at lists.osgeo.org
> <mailto:gdal-dev-bounces at lists.osgeo.org>> *Puolesta *Michal
> Kowalczuk via gdal-dev
> *Lähetetty:* keskiviikko 29. toukokuuta 2024 9.08
> *Vastaanottaja:* gdal-dev at lists.osgeo.org
> <mailto:gdal-dev at lists.osgeo.org>
> *Aihe:* [gdal-dev] GDAL WMTS get tiles no documentation
>
> Hi GDAL fellows
>
> This is my first post on this mailing list, so I'm asking for
> understanding.
>
> As all we know the purpose of using WMTS over WMS, I'd like to
> implement parallel downloading tiles from service using C API.
>
> In my opinion GDAL documentation
> (https://gdal.org/drivers/raster/wmts.html
> <https://gdal.org/drivers/raster/wmts.html>) says nothing on
> this topic.
>
> I can get capabilities from WMTS, I can open the selected
> subdataset but how to get tiles for given extent? I could not
> find any information how to do it, even in the GDAL tests on
> github.
>
> I am kindly asking for tips. It also can be in python. How
> using pure GDAL API fetch tiles to dynamically complete the
> displayed map. This is my goal.
>
> Thank you!
>
> Michal
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org <mailto:gdal-dev at lists.osgeo.org>
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
> <https://lists.osgeo.org/mailman/listinfo/gdal-dev>
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20240529/0403cc46/attachment.htm>
More information about the gdal-dev
mailing list