[postgis-users] Raster suggestions?
Stephen Woodbridge
woodbri at swoodbridge.com
Sat Mar 8 07:59:44 PST 2008
Nicolas,
What does your mapfile layer definition look like when you use the
postgis tileindex?
Thanks,
-Steve
Nicolas Ribot wrote:
>> Greetings,
>>
>> We are working on modern topographic maps for the entire west coast (about
>> 20,000 7.5 minute quadrangles).
>>
>> I am currently designing a strategy for serving our products online.
>>
>> I plan to use PostGIS for the lines and text (that is a no-brainer), but I
>> am not sure what would be the best strategy for handling raster imagery.
>> Eventually we will have over 10 TB of raster imagery.
>>
>> I have searched the archives, and it looks like that I would use a 'chip'
>> table and the PGCHIP project looks pretty interesting. However, I was not
>> able to find a consensus on the best way to handle raster data. Some seem to
>> suggest geotiff tiles and others suggest a 'chip' solution.
>>
>> Can anyone offer me advice? I am on a shoestring startup budget, so the
>> simpler and more effective the solution, the better for me. I am completely
>> new to PostGIS, so please go easy on me! Any example solutions would be
>> greatly appreciated.
>>
>> Thanks for your support!
>>
>
> Hello,
> How do you plan to serve your data ? A map engine (perhaps MapServer)
> and a web application ?
> Do you actually need to store rasters into the database ?
> If you only need to display them or serve them through webservices,
> you could georefence them in postgis, storing their spatial extension
> and file name, but not the actual image data (and some other
> information you might find useful, like image dimension, date, image
> category, resolution, etc) into a 'raster' table, then use your map
> engine configuration to integrate this information into your
> application.
>
> We often do the following when serving rasters in a web application:
>
> 1. Create a raster table to hold filename, image's bbox, image's date, etc.
> 2. Populate this table with a python script using gdal/ogr to generate
> images' information (bbox, size, date, description, etc)
> 3. Eventually create views on this table to create logical groups of rasters
> 4. In MapServer, define one or several layers referencing these views
> and use these layers as tileindex in RASTER layers. MapServer will
> then use postgis views the same way it uses shapefile tileindex.
>
> You can then query all your geo data (vector and raster) using postgis
> functions.
> You can also easily create new views/mapserver layers on the raster table.
> You don't have to deal with TB of storage inside PostGIS.
>
> HTH
> Nicolas
>
> PS. I can provide you with a simple python script that scans some
> directories to find images and generates SQL queries to insert into a
> raster table defined as follow:
> CREATE TABLE rasters
> (
> id SERIAL not null,
> path VARCHAR(255) not null,
> date_creation DATE,
> date_import DATE,
> description TEXT,
> width INTEGER not null,
> height INTEGER not null,
> format INTEGER not null,
> bbox GEOMETRY not null,
> SRID INTEGER,
> CONSTRAINT rasters_idx primary key(id),
> CONSTRAINT format_idx foreign key(format) references raster_formats(id)
> );
>
> (We use a SRID column to be able to store rasters in several
> projections in the same table, rasters with same SRID are grouped
> together in created views. I'm not sure it's the smartest solution).
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list