Python GeoPanda从给定点查找所有可能的相邻/最近的几何点

Python GeoPanda从给定点查找所有可能的相邻/最近的几何点,python,pandas,point,geopandas,shapely,Python,Pandas,Point,Geopandas,Shapely,我有一个这样的数据框 import numpy as np import pandas as pd import descartes from shapely.geometry import Point, Polygon import geopandas as gpd import matplotlib.pyplot as plt df = pd.DataFrame({'Address':['280 Broadway','1 Liberty Island','141 John Street'

我有一个这样的数据框

import numpy as np
import pandas as pd
import descartes
from shapely.geometry import Point, Polygon
import geopandas as gpd
import matplotlib.pyplot as plt


df = pd.DataFrame({'Address':['280 Broadway','1 Liberty Island','141 John Street'],
                   'Latitude':[ 40.71,40.69,40.71],
                   'Longitude':[-74.01,-74.05,-74.00]
                    }) 


%matplotlib inline

geometry = [Point(xy) for xy in zip( df["Longitude"],df["Latitude"])]
crs = {'init':'epsg:4326'}
df = gpd.GeoDataFrame(df,
                     crs=crs,
                    geometry=geometry)
df.head()
我将lat和lon转换为几何点,并尝试使用几何点查找每个地址的所有可能最近点。例如,一个块中相邻的所有可能的最近点。如果这些点在多边形形状中彼此相邻,则可能有多个点

这是我的方法,但没有真正得到我想要的

df.insert(4, 'nearest_geometry', None)
from shapely.geometry import Point, MultiPoint
from shapely.ops import nearest_points

for index, row in df.iterrows():
    point = row.geometry
    multipoint = df.drop(index, axis=0).geometry.unary_union
    queried_geom, nearest_geom = nearest_points(point, multipoint)
    df.loc[index, 'nearest_geometry'] = nearest_geom 
非常感谢您的帮助。

以下几点建议:1)您应该编辑您的问题,以明确说明此示例的设计结果。2) 您还应该在gis.stackexchange.com上询问以下问题:1)您应该编辑您的问题,以明确说明本示例的设计结果。2) 您还应该在gis.stackexchange.com上询问此问题