Esri / street-data-processing-tools

ArcGIS geoprocessing toolbox containing tools to create and build a network dataset from commercial street data.
Apache License 2.0
36 stars 16 forks source link

Reduce memory consumption for large datasets #53

Closed mmorang closed 1 year ago

mmorang commented 1 year ago

The tool was running out of memory when run on very large (continent-wide) datasets on machines with 32Gb of RAM. This change updates the way street geometry is being read and cached to reduce overall memory consumption. Instead of reading all street geometry into a dataframe and storing it, read each feature one at a time as needed when constructing turn and signpost geometry and cache only those. This results in only ~15% of features being read and stored instead of the whole dataset. This has a slight negative impact on run time for smaller datasets since reading the data is less efficient, but things will run faster for larger datasets and will be much more likely to complete successfully.