Скажем, у меня есть список точек (координаты в метрах):
points = [(1, 1), (2, 2), (-1, 3), ..., (1000, 1000)]
И я хочу использовать библиотеку Shapely, чтобы вернуть все точки (от points
), которые находятся в радиусе N
метров, до некоторого указанного источника, например, (3, 3)
.
Обновление: если я выполню:
import numpy as np
points = [(1, 1), (2, 2), (3, 4), (100, 100), (5, 5), (1, 2)]
points_array = np.array(points)
print(points_array.shape) # prints [n,2] where n is the number of points
max_distance = 2
origin = np.array([3, 3])
distance_array = np.sqrt((points_array - origin) ** 2)
near_points = points_array[distance_array < max_distance]
print('near points', near_points)
Я получаю
(6, 2)
near points [2 2 3 4 2]
, что выглядит немного странно, потому что я не ожидал нечетного количества элементов, даже если получу [(2, 2), (3, 4), 2=?]