Jose Gomez-Dans wrote:
I have a raster file and a vector file. I want to assign to each pixel in my raster size a value derived from the vector file (which are polygons). To do this, I want to test that the centroid of my pixel lies within a given polygon. In the past, I have done this gdal_rasterize-ing the polygon file, and going through numpy arrays. It is a bit cumbersome, and the rasterization is not really needed with OGR.

Perhaps cumbersome, but in fact, at some level, you are indeed doing a rasterization with the P-in-P testing, as you are working with ALL the pixels in your raster. I bet it would be a lot faster to rasterize the polygons once, rather than doing point-in-polygon tests for every single raster point.

Think of it this way:

With rasterize, you are first finding ALL the points in a given polygon. With P-in-P testing, you are finding if one point is in a given polygon. If you had a few points to do, it would be a waste to find them all, but since you are, in fact, doing all the raster points, why not only do it all at once?

-Chris

--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

[EMAIL PROTECTED]
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to