Hi Pierre,<br>So I am trying to have a 4meter by 4meter cell and I converted 4meters to degrees, because I think<br>ST_Extent will compute it in degrees as my geometry is in srid 4326. But I get this GDAL error which<br>I have no clue what it means. Any ideas how I can fix it? Also I noticed that if I set it to 1.0, 1.0 I get <br>
21 rows but the gridid isn't continuous either (which is weird). <br><br>CREATE TABLE vectorgrid AS<br>SELECT (gvxy).geom, ((gvxy).x - 1) * rwidth + (gvxy).y gridid<br>FROM (SELECT ST_PixelAsPolygons(rast) gvxy, ST_Width(rast) rwidth<br>
            FROM (SELECT ST_AsRaster(ST_Extent(way_geom)::geometry, 0.000036, 0.000036) rast<br>                         FROM buffers<br>                        ) foo1<br>           ) foo2;<br><br>ERROR:  rt_raster_gdal_rasterize: Unable to add band to GDALDataset<br>
<br>********** Error **********<br><br>ERROR: rt_raster_gdal_rasterize: Unable to add band to GDALDataset<br>SQL state: XX000<br><br><br><br><div class="gmail_quote">On Thu, Mar 22, 2012 at 2:13 PM, Pierre Racine <span dir="ltr"><<a href="mailto:Pierre.Racine@sbf.ulaval.ca">Pierre.Racine@sbf.ulaval.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You can control how the grid is aligned by using more ST_AsRaster parameters. See:<br>
<br>
<a href="http://postgis.refractions.net/documentation/manual-svn/RT_ST_AsRaster.html" target="_blank">http://postgis.refractions.net/documentation/manual-svn/RT_ST_AsRaster.html</a><br>
<br>
If you want it to align on your point, just align it on your points...<br>
<span class="HOEnZb"><font color="#888888"><br>
Pierre<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> -----Original Message-----<br>
> From: <a href="mailto:manohar.kaul@gmail.com">manohar.kaul@gmail.com</a> [mailto:<a href="mailto:manohar.kaul@gmail.com">manohar.kaul@gmail.com</a>] On Behalf<br>
> Of Ed Linde<br>
> Sent: Thursday, March 22, 2012 9:05 AM<br>
> To: PostGIS Users Discussion<br>
> Cc: Pierre Racine<br>
> Subject: Re: [postgis-users] ST_Buffer + grid problem<br>
><br>
> Hi Pierre,<br>
> Thanks for the grid idea last night. I have a problem though, I want to have a 4m<br>
> by 4m cell sized grid over my buffer geometries which are in SRID = 4326. And<br>
> then I have another data set of 2D points which are also in SRID 4326...<br>
> wondering how I can figure out from just a given (lat,long) which cell ID in the<br>
> buffer grid it would belong to? I am thinking that I might run into "alignment<br>
> issues" because shouldn't the extent of the grid be exactly the same on the 2D<br>
> point cloud as well, so that the grid cell IDs will match? Unless I am missing<br>
> something here?<br>
><br>
> Cheers,<br>
> Ed<br>
><br>
><br>
><br>
> On Wed, Mar 21, 2012 at 8:46 PM, Pierre Racine <<a href="mailto:Pierre.Racine@sbf.ulaval.ca">Pierre.Racine@sbf.ulaval.ca</a>><br>
> wrote:<br>
><br>
><br>
>       > I am not sure if this is possible, but I have computed (using ST_Buffer)<br>
> a sort of<br>
>       > buffer around several LINESTRINGs. Now I would like to lay some sort<br>
> of grid of<br>
>       > say 1m^2 cell size on top of this collection of geometries and then<br>
> compute the<br>
>       > intersection... so in the end I would like to for example, know that grid<br>
> cell ID = 1<br>
>       > intersects with buffers 1 and 10, grid cell 2 intersects with buffers 7, 10<br>
> etc..<br>
>       ><br>
>       > Is there a simple way of doing this in postgis? Maybe someone could<br>
> point me to<br>
>       > some documentation of how I can generate such a grid in postgis and<br>
> maybe<br>
>       > then I can use just ST_Intersect once I have these two geometries?<br>
><br>
><br>
>       With the raster type you can now easily create a vector grid like this:<br>
><br>
>       CREATE TABLE vectorgrid AS<br>
>       SELECT (gvxy).geom, ((gvxy).x - 1) * rwidth + (gvxy).y gridid<br>
>       FROM (SELECT ST_PixelAsPolygons(rast) gvxy, ST_Width(rast) rwidth<br>
>                   FROM (SELECT ST_AsRaster(ST_Extent(geom)::geometry, 1.0,<br>
> 1.0) rast<br>
>                                FROM yourbuffertable<br>
>                               ) foo1<br>
>                  ) foo2;<br>
><br>
>       Make sure a spatial index exist on both tables:<br>
><br>
>       CREATE INDEX yourbuffertable_geom_idx  ON yourbuffertable USING<br>
> gist  (geom);<br>
>       CREATE INDEX vectorgrid _geom_idx  ON vectorgrid USING gist<br>
> (geom);<br>
><br>
>       You can then perform a normal intersect query:<br>
><br>
>       CREATE TABLE interresult AS<br>
>       SELECT b.bufferid, g.gridid, ST_Intersection(g.geom, b.geom) geom<br>
>       FROM vectorgrid g, yourbuffertable b<br>
>       WHERE ST_Intersects(g.geom, b.geom);<br>
><br>
>       Pierre<br>
>       _______________________________________________<br>
>       postgis-users mailing list<br>
>       <a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a><br>
>       <a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br>
><br>
><br>
<br>
</div></div></blockquote></div><br>