3 ms·
I wonder if being able to quickly retrieve a numpy array of the polygon centers would make an equivalent difference. Since then you could at least retrieve the
by saeranv 4y ago
I wonder if being able to quickly retrieve a numpy array of the polygon centers would make an equivalent difference. Since then you could at least retrieve the centers from the polygon as an array you could just use numpy operations for the closest polygon operation:
```
centers = get_centers(polgons) # M x 3 array
close_idx = np.where(
np.linalg.norm(centers - point, axis=1) < max_dist)[0]
close_polygons = polygons[close_idx,:]
```
That's one reason I prefer for to use arrays for polygons, rather then abstract it into a Python object. Fundamentally geometries are sequences of points, and with some zero-padding to account for irregular point counts, you can still keep them in a nice, efficient array representation.
- toxik 4y agoAgreed, I speed up Python numpy code with numba quite often and it isn’t at all unreadable to put it in an ndarray subclass. poly = Polygon(vertices) I would bet you can achieve just as much of a speedup with numba or Cython using this form.