[postgis-devel] [raster] Regular blocking refinement

Pierre Racine Pierre.Racine at sbf.ulaval.ca
Tue Jan 4 14:21:42 PST 2011


Hi Mateusz,

Happy you want to have a deeper look at the regular_blocking idea.

>However, what the "assumed to be all NODATA or zero valued" means?
>Does it mean we actually want to store those tiles in database
>or generate them on fly?
>Or, is this just an indication for clients: if a tile is missing in
>query result, cope with it on your own by generating NODATA tiles?

>IMHO, this matter is unclear and it is important to specify behaviour
>on SQL level first. For example, SQL query against in coverage
>configured as regular blocking, returns no tuples for missing tiles.
>
>It is important to clarify the "regular blocking" refers to virtual grid
>used as frame reference to place tiles, but empty cells in this grid are
>allowed.

I think the way Frank formulated this sentence:

"It is permissible to for regular_blocking rasters to omit some blocks/tiles (sparse rasters) in which case the missing tiles should be assumed to be all NODATA or zero valued."

really means "Clients should assume that missing tiles are nodata values" and do whatever is proper for them. We might however want to clarify the fact that the server will not generate anything as a replacement for missing tiles.

>I think the "no tuples for missing tiles" approach is better,
>because it does not imply any particular raster value: NODATA tile,
>zero'ed tile or transparent tile or anything else.
>Clients can cope with missing tiles as they like.

Agree on this.

My concern with the regular_blocking idea is somewhere else. For me it is still an unnecessary concept. A web client do not have to know if the tiles are regularly distributed and all present. It query and display all the tiles intersecting the display bounding box one after the other in whatever order they arrive. If some area are not covered by a tile it should not bother and display black or just the background. I still don't understand why a (your) desktop client can't just do the same, removing the need for an unnecessary regular_blocking flag hard to keep in synch if some tiles are modified by, say, another application. What does your application do when the layer is not regular_blocked? Can't it not do the same thing when it is regular_blocked? In brief why an application need to know if a layer is regularly blocked? Why can it just display the list of raster intersecting the display regardless of if they are single rasters or tiles? (like it does for gemoetries) They are in the same database table. The application should assume they are a same theme and display them as a single theme (like it does for gemoetries).

Sorry to start this discussion again.

Pierre


More information about the postgis-devel mailing list