38 | | Although the tiled map has several zooming levels, only the lowest one will be used. |
39 | | `IReadBlock` requests will be handled by loading data from the files representing |
40 | | the selected area using existing PNG driver. |
| 38 | `RasterIO` method will determine the appropriate zooming level from which to get the tiles |
| 39 | so that their number won't be too big (e.g. 9 at most). `GetBlockSize` will report the size |
| 40 | as the dimensions of one tile and `GetXSize` and `GetYSize` will report the size of the map |
| 41 | on the lowest zooming level. |
49 | | Implementing `Create` method and `Update` mode dataset is questionable. |
50 | | The PNG driver has this mode controlled by compile time option, so the |
51 | | TMS driver would have to do the same. Even then, the PNG driver imposes some |
52 | | restrictions on the calling side: ''"Note: callers must provide blocks in increasing Y order."'', |
53 | | from `pngdataset.cpp`. This would translate to the TMS driver itself and its users too. |
54 | | JPEG drivers have `CreateCopy` method only. |
| 50 | === Write driver with `Create` === |
| 51 | |
| 52 | In this step the driver will also feature the `Create` method and `Update` mode datasets. |
| 53 | Upon writing, the `RasterIO` method will load all affected tiles from all zooming levels |
| 54 | into memory, perform the write operation and then write the tiles back to file system. |
| 55 | |