Python地理空间数据库之geopandas使用详解
import geopandas as gpd
from shapely.geometry import Point
# 创建一个GeoDataFrame,包含一个点和其相关属性
data = {'location': ['P1'], 'latitude': [40.7537], 'longitude': [-73.9848]}
df = gpd.GeoDataFrame(data, geometry=gpd.points_from_xy(data.longitude, data.latitude))
# 打印GeoDataFrame
print(df)
# 将GeoDataFrame的坐标系统设置为WGS84
df.set_crs(epsg=4326, inplace=True)
# 创建一个点对象
point = Point(116.405285, 39.904989)
# 将点对象转换为GeoDataFrame
point_gdf = gpd.GeoDataFrame({'geometry': [point]})
point_gdf.crs = df.crs # 确保两个GeoDataFrame具有相同的坐标参考系统
# 计算点与GeoDataFrame中所有点之间的距离
df['distance'] = df.distance(point_gdf)
# 打印距离计算后的GeoDataFrame
print(df)
这段代码首先导入geopandas库和shapely库中的Point类,然后创建一个GeoDataFrame,包含一个点和其相关属性。接着,将GeoDataFrame的坐标系统设置为WGS84,并创建一个点对象。最后,将点对象转换为GeoDataFrame,并计算它与原GeoDataFrame中所有点之间的距离。
评论已关闭