Hi, I am using gdal_contour to generate iso-polygons from a hillshade raster created via the gdal_dem tool. In certain situations, I am seeing a lot of tiny/narrow polygons and large polygons with long, skinny *whiskers* protruding out (and sometimes in) . In these cases, the vertices in the *skinny* areas are less than 1e-07 away from their nearest edge/vertex.
Here is an example of how the tool is being called (GDAL version 3.4.1): > gdal_contour -p -f GPKG -amin level -nln hillshade -fl 231 295-hillshade-polygon.tif ./295-hillshade-polygons.gpkg For reference, the hillshade raster has EPSG:4326 defined as its CRS with a geo-pixel size of (0.044031311154586,-0.044031311154586). The diagram below depicts a simple example when working through the marching-squares algorithm by hand with a single threshold level of 231 (prior to the interpolation step): 229 229 229 x----------------x----------------x | | | | | | | case 2 * case 1 | | /|\ | | / | \ | | / | \ | 230 x------------*---o---*------------x 230 | | 231 | | | | | | | | | | | | | case 6 | | | case 9 | | | | | | | | 231 | | 230 x------------*---o---*------------x 230 | \ | / | | \ | / | | \|/ | | case 4 * case 8 | | | | | | | x----------------x----------------x 229 227 226 I would expect the vertices surrounding each of the 231 intensity values to be coincident, but the final result has the vertices in each set ~8e-08 apart.This leads me to believe there might be some precision issue in gdal_contour during bipolar edge interpolation? I ran this same configuration through another isoline generator for comparison (see https://github.com/rveciana/raster-marching-squares) and got what I would expect: a degenerate line with two sets of coincident vertices around each 231 intensity pixel location. If necessary, I can provide a complete example with the hillshade raster and the generated polygons. Thanks!
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev