[gdal-dev] gdal_clip
Zachary L. Stauber
zachary at stauber.org
Wed Jan 8 15:31:21 PST 2014
Dear developers,
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.
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
gisinternals.com/sdk, so it may be useful to build it into GDAL's code.
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.
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.
It is all MIT license right now, but could be changed to GDAL's
standard license if necessary.
-Zack Stauber
Albuquerque, New Mexico
United States
More information about the gdal-dev
mailing list