<div dir="ltr"><div><div>Hi Zack,<br><br></div>Your function sounds great. We've tried to implement something similar last summer but couldn't get it to work properly.<br></div>I have no authority to say if this should be implemented in GDAL or not, but you've got my vote ;)<br>

<div><div class="gmail_extra"><br clear="all"><div>Thanks,<br></div><div>
<br>
Paul<br>
<br>
<div style="font-size:13.3px;font-family:Verdana,Arial,Helvetica,sans-serif"><div style="border:1px solid #e5e5e5;background-color:#f8f8f8;padding:0.8em 0.8em 0.3em 0.8em"><div style="margin:0 0 8px 0"><p style="margin:0">

<span><b><img style="float:left;margin-left:5px;margin-right:5px" src="http://www.bontepaarden.nl/bontepaarden/images/newButton.png" alt="" height="120" width="160">Paul Meems </b><br><span>Release manager, configuration manager</span><br>

<span>and forum moderator of MapWindow GIS.</span><br><a href="http://www.mapwindow.org/" target="_blank"><span>www.mapwindow.org</span></a><br><br><span>Owner of MapWindow.nl - Support for</span><br><span>Dutch speaking users.</span><br>

<a href="http://www.mapwindow.nl/" target="_blank"><span>www.mapwindow.nl</span></a><br></span></p>
<p style="margin:0"><b><br></b></p></div></div><img src="http://p1.wisestamp.com/pixel.png?p=mozilla&v=3.9.12&t=1322134056890&u=482737fd0c4ca423" height="1" width="1"></div>
</div>
<br><br><div class="gmail_quote">2014/1/9 Zachary L. Stauber <span dir="ltr"><<a href="mailto:zachary@stauber.org" target="_blank">zachary@stauber.org</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Dear developers,<br>
     I would like to contribute some code to the project.  I have a utility I call gdal_clip I wrote wrote in C++, which I used to compile against the FWTools gdal .lib file and later Mr. Szekeres .lib files, which will "clip" an image.  It uses an input image and an input polygon shapefile, and where the polygons in the shapefile overlap the image, it will fill them in with a chosen color (defaults to black).  It will NOT resize the output image in any way.<br>


     This was useful for me to black out, or white out areas of tiles in orthophoto projects that were outside the project boundary (outside of control network and therefore of low accuracy).  I am out of the photogrammetry business, but I have photogrammetry colleagues who wish for me to recompile this every time there is a new set of builds on <a href="http://gisinternals.com/sdk" target="_blank">gisinternals.com/sdk</a>, so it may be useful to build it into GDAL's code.<br>


     It is pretty optimized, not doing a pixel-in-polygon check for EVERY pixel, but breaking the image into tiles and then breaking those tiles into quarters only if they intersect the polygons, and so forth down to individual pixels.  It works correctly with doughnut polygons and rotated images.  I probably need to pretty up the code in some way friendly to Doxygen, but otherwise it is ready to go.<br>


     In the future I'd like to generalize the code to deal with polygons from any vector data source that OGR reads, and optionally resize an image to cut it down if large parts are clipped.  It would also be nice to make it smart enough to reproject the input polygons to the image's coordinate reference system if they are not the same.  I also think right now it only reads in and outputs TIFF images.  But again, I think it is useful right now.  Please let me know if you all think this would be useful or would like the code to see.<br>


     It is all MIT license right now, but could be changed to GDAL's standard license if necessary.<br>
<br>
     -Zack Stauber<br>
      Albuquerque, New Mexico<br>
      United States<br>
<br>
______________________________<u></u>_________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/gdal-dev</a><br>
</blockquote></div><br></div></div></div>