[postgis-users] Are there limitations using a PostGIS out-db raster?
Philip D'Rozario
philip at climaterisk.com.au
Tue Aug 21 15:36:56 PDT 2012
I hope someone has gone through this problem and can shed some light into this
problem :)
I have been trying to import a large raster into a PostGIS 2.0 database and hit
a few stumbling blocks.
Initially when I tried to import the raster using raster2pgsql, I would receive
the following error: rt_band_set_pixel_line: Coordinates out of range
After finding this page (http://trac.osgeo.org/postgis/ticket/1839) and using
gdalinfo I found that the raster exceeded the maximum allowed size of 65535 x 65535.
So I decided to use the out-db functionality by using the -R flag in raster2pgsql.
>From the documentation: Register the raster as a filesystem (out-db) raster,
Only the metadata of the raster and path location to the raster is stored in the
database (not the pixels).
I imported the raster using the following command:
raster2pgsql /gis/Flood/ari100.tif -R | psql -U username database
But when I tried a query:
SELECT ST_Value(rast, ST_PointFromText('POINT(152.9632 -26.4878)')) FROM ari100
I get the following error:
NOTICE: Attempting to get pixel value with out of range raster coordinates:
(23975, 29491)
CONTEXT: PL/pgSQL function "st_value" line 13 at RETURN
However, if I use GDAL (through Python) to query the raster directly using this
script (http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/val_at_coord.py)
python val_at_coord.py 152.9632 -26.4878
I can retrieve the value correctly.
I decided to find the extents of the raster in the database:
SELECT ST_Height(rast) As rastheight, ST_Width(rast) As rastwidth from ari100;
rastheight | rastwidth
11602 | 42971
The height is completely incorrect (should be 77138).
So my question is: did I do something wrong (in using raster2pgsql) or is there
a limitation in using out-db rasters with PostGIS?
Tangentially: another option would be for me to import the raster as tiles, but
searching these (even with an index) takes more than a minute. Is there an
optimal tile size I can use for quick querying?
Thanks for your help
More information about the postgis-users
mailing list