[postgis-devel] [PostGIS] #2122: [raster] Real extent feature lost after metadata as views

Bborie Park dustymugs at gmail.com
Fri Nov 30 08:37:35 PST 2012

On Fri, Nov 30, 2012 at 8:28 AM, Sandro Santilli <strk at keybit.net> wrote:
> On Fri, Nov 30, 2012 at 08:24:07AM -0800, Bborie Park wrote:
>> On Fri, Nov 30, 2012 at 8:16 AM, Sandro Santilli <strk at keybit.net> wrote:
>> > On Fri, Nov 30, 2012 at 08:07:57AM -0800, Bborie Park wrote:
>> >> >
>> >> > Couldn't (or doesn't) a constraint contain the original extent ?
>> >> > The same information that you would have put into the raster_column field.
>> >> >
>> >>
>> >> It could be done as a constraint... a constraint that does not enforce
>> >> anything.  The problem with constraints that don't enforce anything is
>> >> that they're static and may go out of date...
>> >
>> > It could also constraint: all raster tiles  must be covered bu that extent.
>> >
>> >> There are a whole set of constraints present...
>> >>
>> >> srid
>> >> extent
>> >
>> > ^^^ so there's one already ?
>> Yes. This is a constraint enforcing that all tiles are within the
>> maximum extent for the table. A "true" data extent constraint would be
>> something else though that would be hard to enforce due to probable
>> performance issues.
> You could just make the test looser... no tile can be fully outside
> the real extent, and in no way above or on the left. Can overlap on
> the right and on the bottom, but not be fully outside.
> Should be fast.

That would be doable.  Extent constraint could be of the "true" data
extent and the check is purely an intersects test instead of within.
This constraint would only be able to be easily set at loading time
through raster2pgsql as doing it within the database would require
inspecting every band of every tile.

> How does the loader request regular blocking ?
> Is there an AddRasterColumn function to call, taking care about writing
> those constraints ?

raster2pgsql -t WIDTHxHEIGHT

That is how to specify tiling.  There is nothing to specify regular
blocking as regular blocking is a constraint applied later.
Constraints are applied using AddRasterConstraints().


More information about the postgis-devel mailing list