python - geopandas 从给定点找到所有可能的相邻/最近的几何点
问题描述
所以,我有一个这样的数据框,
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 转换为几何点,并尝试使用几何点为每个地址找到所有可能的最近点。例如,与百老汇 280 号相邻的所有可能最近点,这些点在一个街区内彼此相邻。如果这些点彼此相邻且包含多边形形状,则可能存在多个点。
这是我的方法,但并没有真正得到我想要的,
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
任何帮助表示赞赏,谢谢。
解决方案
推荐阅读
- opencl - 如何在 Sycl+openCL+DPCPP 上定义和执行函数数组
- http - 是否可以在没有范围请求的情况下同时下载单个文件?
- performance - 如何对我的算法(在线俄罗斯方块)进行性能评估?
- angular - Angular Messenger 服务错误 TS2769:没有重载匹配此调用
- vba - VBA PowerPoint 表格单元格的格式
- c++ - 解析函数的问题(int 到 const char*)
- javascript - Chartjs Plugin Deferred 抛出“Uncaught TypeError: Cannot read property 'plugins' of undefined”错误
- java - 如何在 Java 的“游戏结束”屏幕上添加重启鼠标输入
- loopbackjs - 如何过滤环回4中类型为数组的结果?
- f# - F# 新类型是旧类型的扩展