Ejemplo n.º 1
0
 def refine_voronoi_nodes_around_locations(self, new_seed_locations, min_point_dist=0.01, min_angle=2,
                                           max_angle=15, num_child_points=20, failure_limit=5, num_adjacent=1):
     """
     Regenerates voronoi boundary nodes, attempting to add more seed_points around the given location. If
     min_point_dist is smaller than the value originally given when creating World then the cells will be
     smaller/higher resolution, therefore adding detail to the map at the given location.
     Process involves using existing cell centres as seed_points for voronoi process, but adding adding
     additional
     :param new_seed_points: list of [lon,lat] locations to place new sites around i.e. [[lon1, lat1], [lon2, lat2]]
     :param min_point_dist:
     :return:
     """
     cartesian_seed_points = geographic_utils.geographic_to_cartesian(new_seed_locations)
     # Populate self.voronoi_sites with (more) points that will create cells
     pdp.poisson_disk_placement_on_sphere_given_seed_points(self.voronoi_sites, cartesian_seed_points,
                                         min_point_dist, min_angle, max_angle,
                                         num_child_points, failure_limit, num_adjacent)
     # Re-initiate voronoi process
     self.generate_voronoi_nodes()