Извлечь имя многоугольника, если географическая точка находится внутри многоугольника? У меня есть два набора данных, один с именем и полигоном полигона, а другой с именем местоположения, широтой и долготой.
Данные 1 (Geo pandas Dataframe)
COMMUNITY NAME POLYGON
New York MULTIPOLYGON (((55.1993358199345 25.20971347951325,
55.19385836251354 25.20134197109752.... 25.20971347951325)))
Chennai MULTIPOLYGON (((65.1993358199345 22.20871347951325,
55.19325836251354 15.20132197109752 .... 15.20971347951325)))
Данные 2 (Data Frame)
STOP NAME LONGITUDE LANGITUDE
Chennai main stop 55.307228 25.248844
Cabra stop 55.278824 25.205862
USA stop NY 55.069368 24.973946
Если данные 2 (stop_name) находятся внутри данных 1 (polygon), необходимо извлечь имя полигона. ie. если USA Stop NY присутствует в любом «Нью-Йорке», необходимо добавить имя в новый столбец в data2.
Пример кода:
from shapely.geometry import Point, Polygon
# Create Point objects
p1 = Point(55.230830, 25.128038)
p2 = Point(24.976567, 60.1612500)
# Create a Polygon
coords = [(55.199335819934504,25.209713479513255),(55.193858362513538,25.20134197109752),(55.187450889885667,25.195407028080979 )]
poly = Polygon(coords)
p1.within(poly)
Обновление 1
Данные 1 (KML преобразован в Json, Json преобразован в Dataframe)
import geopandas as gpd
data_poly = gpd.read_file(path + "Data_community_file.geojson")