def main(buffers_dir=None, divisions=DIVISIONS, division_names=DIVISION_NAMES, divisions_dir=None, empty_shps_dir=EMPTY_SHPS_DIR, recalculate=False): p_counter = 0 for buffer_dir in iter_buffer_dirs(buffers_dir): for division, division_name in zip(divisions, division_names): weights_path = get_weights_path(buffer_dir, division_name) if not os.path.isfile(weights_path) or recalculate: division_dir = get_division_dir(division, divisions_dir) p = Process(target=calculate_intersect_weights, args=(division_dir, buffer_dir, weights_path, empty_shps_dir)) print("Start process of calculating intersections between", os.path.basename(division_dir), "and", os.path.basename(buffer_dir), "...") p.start() if p_counter % 5 == 0: p.join()
def main(buffers_dir=None, skip=None, recalculate=False, area_level="RADIO", subcategory=None, omit_fields=None, by_area=None): skip = skip or [] by_area = by_area or [] for buffer_dir in iter_buffer_dirs(buffers_dir): print("Calculating", os.path.basename(buffer_dir), "indicators") sys.stdout.flush() buffer_indic_path = get_indicators_shp_path( os.path.basename(buffer_dir), "buffers") # print(buffer_indic_path + ".shp") if not os.path.isfile(buffer_indic_path + ".shp") or recalculate: recalculate_indicators(buffer_dir, area_level, skip, subcategory=subcategory, omit_fields=omit_fields, by_area=by_area)
def main( buffers_dir=None, divisions=DIVISIONS, division_names=DIVISION_NAMES, divisions_dir=pf.DIVISIONS_DIR, empty_shps_dir=EMPTY_SHPS_DIR, recalculate=False, ): p = None p_counter = 0 for buffer_dir in pf.iter_buffer_dirs(buffers_dir): for division, division_name in zip(divisions, division_names): weights_path = pf.get_weights_path(buffer_dir, division_name) if not os.path.isfile(weights_path) or recalculate: division_path = pf.get_shp(division) p = Process( target=calculate_intersect_weights, args=(division_path, buffer_dir, weights_path, empty_shps_dir) ) print( "Start process of calculating intersections between", os.path.basename(division_path), "and", os.path.basename(buffer_dir), "...", ) p.start() p_counter += 1 if p_counter >= 5 and p_counter % 5 == 0: p.join() if p: p.join() print("Intersections calculation complete.")