From caf214f17fef79a2f841fc1e6d6c3c9047a3211b Mon Sep 17 00:00:00 2001 From: Markus Konrad Date: Thu, 28 Jan 2021 15:36:02 +0100 Subject: [PATCH] fix problem with wrong intersection points from outside finite points --- examples/random_points_across_italy.png | Bin 49150 -> 51531 bytes examples/random_points_across_italy.py | 16 +++++-- examples/toyexample.py | 1 + geovoronoi/_geom.py | 2 - geovoronoi/_voronoi.py | 60 +++++++++++++----------- 5 files changed, 47 insertions(+), 32 deletions(-) diff --git a/examples/random_points_across_italy.png b/examples/random_points_across_italy.png index 5c8d81a6454914458f8b745fdedb67aa2a725789..152cca6aee43e26a3880127426a7a7dc56a856e9 100644 GIT binary patch literal 51531 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 Kv{+cz=l=s31u4-0 literal 49150 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

+x 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 diff --git a/examples/random_points_across_italy.py b/examples/random_points_across_italy.py index 78e7884..682078c 100644 --- a/examples/random_points_across_italy.py +++ b/examples/random_points_across_italy.py @@ -25,7 +25,7 @@ #%% -N_POINTS = 100 +N_POINTS = 105 COUNTRY = 'Italy' np.random.seed(123) @@ -56,14 +56,24 @@ #%% # -# calculate the Voronoi regions, cut them with the geographic area shape and assign the points to them +# Calculate the Voronoi regions, cut them with the geographic area shape and assign the points to them +# Note how in Sardinia there's only one point which is not assigned to any Voronoi region. +# Since by default all sub-geometries (i.e. islands or other isolated features) in the geographic shape +# are treated separately (set `per_geom=False` to change this) and you need more than one point to generate +# a Voronoi region, this point is left unassigned. By setting `return_unassigned_points=True`, we can get a +# set of unassigned point indices: # -poly_shapes, poly_to_pt_assignments = voronoi_regions_from_coords(pts, area_shape) +poly_shapes, poly_to_pt_assignments, unassigned_pts = voronoi_regions_from_coords(pts, area_shape, + return_unassigned_points=True) print('Voronoi region to point assignments:') pprint(poly_to_pt_assignments) +print('Unassigned points:') +for i_pt in unassigned_pts: + print('#%d: %.2f, %.2f' % (i_pt, pts[i_pt].x, pts[i_pt].y)) + #%% # diff --git a/examples/toyexample.py b/examples/toyexample.py index 38ab652..bbfdbf0 100644 --- a/examples/toyexample.py +++ b/examples/toyexample.py @@ -28,6 +28,7 @@ # [2, 0], [2, 1], [2, 2]]) points = np.array([[1, 1], [1.1, 0.9], [1.15, 0.8], [2.5, 0]]) +#points = np.array([[1, 1], [1.1, 0.91], [1.2, 0.8]]) # surrounding shape shape = Polygon([[-1, -1], [3, -1], [3, 3], [-1, 3]]) diff --git a/geovoronoi/_geom.py b/geovoronoi/_geom.py index ea0c92c..079c8cb 100644 --- a/geovoronoi/_geom.py +++ b/geovoronoi/_geom.py @@ -1,8 +1,6 @@ """ Geometry helper functions in cartesian 2D space. -"shapely" refers to the [Shapely Python package for computational geometry](http://toblerity.org/shapely/index.html). - Author: Markus Konrad """ diff --git a/geovoronoi/_voronoi.py b/geovoronoi/_voronoi.py index 6ba14a7..e6378e0 100644 --- a/geovoronoi/_voronoi.py +++ b/geovoronoi/_voronoi.py @@ -32,7 +32,7 @@ def points_to_coords(pts): return np.array([p.coords[0] for p in pts]) -def voronoi_regions_from_coords(coords, geo_shape, per_geom=True): +def voronoi_regions_from_coords(coords, geo_shape, per_geom=True, return_unassigned_points=False): """ Calculate Voronoi regions from NumPy array of 2D coordinates `coord` that lie within a shape `geo_shape`. Setting `shapes_from_diff_with_min_area` fixes rare errors where the Voronoi shapes do not fully cover `geo_shape`. Set this @@ -76,6 +76,7 @@ def voronoi_regions_from_coords(coords, geo_shape, per_geom=True): pts_indices = set(range(len(pts))) region_polys = {} region_pts = {} + unassigned_pts = set() for i_geom, geom in enumerate(geoms): pts_in_geom = [i for i in pts_indices if geom.contains(pts[i])] logger.info('%d of %d points in geometry #%d of %d' % (len(pts_in_geom), len(pts), i_geom + 1, len(geoms))) @@ -91,6 +92,7 @@ def voronoi_regions_from_coords(coords, geo_shape, per_geom=True): if exc.args and 'QH6214' in exc.args[0]: logger.error('not enough input points (%d) for Voronoi generation; original error message: %s' % (len(pts_in_geom), exc.args[0])) + unassigned_pts.update(pts_in_geom) continue raise exc @@ -107,7 +109,10 @@ def voronoi_regions_from_coords(coords, geo_shape, per_geom=True): for reg_id, old_reg_id in region_ids_mapping.items()} ) - return region_polys, region_pts + if return_unassigned_points: + return region_polys, region_pts, unassigned_pts + else: + return region_polys, region_pts def region_polygons_from_voronoi(vor, geom, return_point_assignments=False): @@ -150,30 +155,31 @@ def region_polygons_from_voronoi(vor, geom, return_point_assignments=False): finite_pt = vor.vertices[i] p_vert_indices.add(i) - # only add a far point if the finite end is not outside the bounding box already - if geom_bb.contains(asPoint(finite_pt)): - t = vor.points[pointidx[1]] - vor.points[pointidx[0]] # tangent - t /= np.linalg.norm(t) - n = np.array([-t[1], t[0]]) # normal - - midpoint = vor.points[pointidx].mean(axis=0) - direction = np.sign(np.dot(midpoint - center, n)) * n - - isects = [] - for i_ext_coord in range(len(geom_bb.exterior.coords) - 1): - isect = line_segment_intersection(midpoint, direction, - np.array(geom_bb.exterior.coords[i_ext_coord]), - np.array(geom_bb.exterior.coords[i_ext_coord+1])) - if isect is not None: - isects.append(isect) - - if len(isects) == 0: - raise RuntimeError('far point must intersect with surrounding geometry from `geom`') - elif len(isects) == 1: - p_vert_farpoints.add(tuple(isects[0])) - else: - closest_isect_idx = np.argmin(np.linalg.norm(midpoint - isects, axis=1)) - p_vert_farpoints.add(tuple(isects[closest_isect_idx])) + t = vor.points[pointidx[1]] - vor.points[pointidx[0]] # tangent + t /= np.linalg.norm(t) + n = np.array([-t[1], t[0]]) # normal + + midpoint = vor.points[pointidx].mean(axis=0) + direction = np.sign(np.dot(midpoint - center, n)) * n + + isects = [] + for i_ext_coord in range(len(geom_bb.exterior.coords) - 1): + isect = line_segment_intersection(midpoint, direction, + np.array(geom_bb.exterior.coords[i_ext_coord]), + np.array(geom_bb.exterior.coords[i_ext_coord+1])) + if isect is not None: + isects.append(isect) + + if len(isects) == 0: + raise RuntimeError('far point must intersect with surrounding geometry from `geom`') + elif len(isects) == 1: + far_pt = isects[0] + else: + closest_isect_idx = np.argmin(np.linalg.norm(midpoint - isects, axis=1)) + far_pt = isects[closest_isect_idx] + + if (far_pt - finite_pt)[0] / direction[0] > 0: # only if in same direction + p_vert_farpoints.add(tuple(far_pt)) # create the Voronoi region polygon as convex hull of the ridge vertices and far points (Voronoi regions # are convex) @@ -181,7 +187,7 @@ def region_polygons_from_voronoi(vor, geom, return_point_assignments=False): p_pts = vor.vertices[np.asarray(list(p_vert_indices))] # adding the point itself prevents generating invalid hull (otherwise sometimes the hull becomes a line # if the vertices are almost colinear) - p_pts = np.vstack((p_pts, vor.points[i_pt])) + p_pts = np.vstack((p_pts, vor.points[pt_indices])) if p_vert_farpoints: p_pts = np.vstack((p_pts, np.asarray(list(p_vert_farpoints))))