Exemple #1
0
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()
Exemple #2
0
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.")
Exemple #3
0
def get_weights(buffer_dir, area_level):
    with open(get_weights_path(buffer_dir, AREA_LEVEL_NAMES[area_level]),
              "rb") as f:
        return json.load(f)
Exemple #4
0
def get_weights(buffer_dir, area_level):
    with open(get_weights_path(buffer_dir,
                               AREA_LEVEL_NAMES[area_level]), "rb") as f:
        return json.load(f)