For exporting, instead of using the rasters in "bdtq_20k_hydro_so_gfsm_aea_subset_1000m", you may want to try something like...
CREATE TABLE foo AS SELECT 1 AS rid, ST_AsRaster(( SELECT ST_Collect(geom) FROM hydrology.bdtq_20k_hydro_so_gfsm_aea_subset ), 1000.0, 1000.0 ) AS rast The above creates one raster using the collection of geometries, which can then be exported with gdal_translate. -bborie On 07/25/2012 12:57 PM, Guillaume Drolet DRF wrote: > Hi, > > I have been struggling with this since yesterday and now I think it is > time for me to request some help from the community : > > I am trying to convert a geometry table (polygons) to a raster that will > have 1000 m-pixels, and then export that raster to a TIF file using > gdal_translate. > I've tried loads of different queries but nothing seems to work... Here > are examples of some the queries I tried: > > CREATE TABLE rasters.bdtq_20k_hydro_so_gfsm_aea_subset_1000m AS > SELECT ST_AsRaster(hyd.geom, 1000.0, 1000.0) AS rast > FROM hydrology.bdtq_20k_hydro_so_gfsm_aea_subset AS hyd; > > ALTER TABLE rasters.bdtq_20k_hydro_so_gfsm_aea_subset_1000m ADD COLUMN > rid serial PRIMARY KEY; > > CREATE INDEX > ON rasters.bdtq_20k_hydro_so_gfsm_aea_subset_1000m > USING gist(st_convexhull(rast)); > > SELECT AddRasterConstraints('rasters'::name, > 'bdtq_20k_hydro_so_gfsm_aea_subset_1000m'::name, > 'rast'::name); > > Then at the command line: > >>gdal_translate "PG:host=localhost port=5432 dbname=testspdb > user=postgres password=*** schema=rasters > table=bdtq_20k_hydro_so_gfsm_aea_subset_1000m mode=2" > E:\temp\hydro1000m.tif > > I get this error: > > ERROR 1: Error, the table > rasters.bdtq_20k_hydro_so_gfsm_aea_subset_1000m contains tiles with > different size, and irregular blocking is not supported yet > GDALOpen failed - 1 > Error, the table rasters.bdtq_20k_hydro_so_gfsm_aea_subset_1000m > contains tiles > with different size, and irregular blocking is not supported yet > > My problem seems to be related to the irregular blocking of my raster. I > though I could create a raster with regular block and pixel size but I > didn't figure how to do this yet. I tried to achieve this by creating an > empty raster: > > CREATE TABLE rasters.test_rasterize ( > rid serial PRIMARY KEY, > rast raster > ); > > INSERT INTO rasters.test_rasterize VALUES ( > 1, > ST_MakeEmptyRaster(45, 62, 1828552.00, 1422569.00, 1000.0, 1000.0, > 0.0, 0.0, 3175) > ); > -- 45 and 62 are the approximate numbers of 1000 m pixels in x and y > that fit inside the extent of my geometry layer > UPDATE rasters.test_rasterize > SET rast = ST_AsRaster(geom, 1000.0, 1000.0) > FROM hydrology.bdtq_20k_hydro_so_gfsm_aea_subset; > > > When I call gdal_translate with rasters.test_rasterize, I get this: > > Input file size is 2, 4 > 0...10...20...30...40...50...60...70...80...90...100 - done. > > I'm getting desperate and will greatly appreciate any hints! > > If that can help, I'm using PostGIS 2.0.0 r9605 and GDAL 1.9.0 > > Many thanks, > > Guillaume > > _______________________________________________ > postgis-users mailing list > postgis-users@postgis.refractions.net > http://postgis.refractions.net/mailman/listinfo/postgis-users > -- Bborie Park Programmer Center for Vectorborne Diseases UC Davis 530-752-8380 bkp...@ucdavis.edu _______________________________________________ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users