Opened 10 years ago

Last modified 7 years ago

#5716 closed enhancement

[PATCH] faster gdal_rasterize for a large number of small geometries — at Version 3

Reported by: youri Owned by: warmerdam
Priority: normal Milestone: 2.3.0
Component: Algorithms Version: svn-trunk
Severity: normal Keywords: faster, rasterize
Cc:

Description (last modified by youri)

Big performances enhancement for large number of small polygons.

The main idea is to loop over the geometries instead to loop over the pixels (by the way skipping out-of-scope geometries), and to write only concerned raster blocks. Very efficient for large files compared to original method. The old algorithm can theoretically still be more efficient for very large geometries (to be checked).

The attached files are working on svn-trunk rev 33442.

The default behaviour is to use the original algorithm when nb features < 1000, then use the new one. The algorithm can be explicitly set with the '-optim' param.

I hope this will help ! (some processes simply crash without this mod)

Change History (8)

by youri, 10 years ago

Attachment: gdal_rasterize.cpp added

comment:1 by Even Rouault, 10 years ago

Summary: faster gdal_rasterize for a large number of small geometries[PATCH] faster gdal_rasterize for a large number of small geometries

comment:2 by ctl101, 9 years ago

Hi, Might you be able to provide a compiled replacement gdal_rasterize.py file with which those with no programming knowledge can make use of your enhancements? Best regards.

by youri, 8 years ago

Attachment: gdalrasterize.cpp added

by youri, 8 years ago

Attachment: gdal_rasterize_bin.cpp added

by youri, 8 years ago

Attachment: gdal_rasterize_lib.cpp added

by youri, 8 years ago

Attachment: gdal_alg_priv.h added

comment:3 by youri, 8 years ago

Description: modified (diff)
Version: unspecifiedsvn-trunk
Note: See TracTickets for help on using tickets.