shapely库的用法,高效处理点、线、面的几何关系和相关延申(GeoPandas 库)python
warning:
这篇文章距离上次修改已过192天,其中的内容可能已经有所变动。
import geopandas as gpd
from shapely.geometry import Point, LineString, Polygon
# 创建点、线、面
point = Point(0, 0)
line = LineString([(0, 0), (1, 1), (2, 2)])
polygon = Polygon([(0, 0), (2, 0), (2, 2), (0, 2)])
# 创建GeoDataFrame
gdf = gpd.GeoDataFrame(
{
'geometry': [point, line, polygon]
},
crs={'init': 'epsg:4326'} # 设置坐标系为WGS 84
)
# 输出几何信息
print(gdf.geometry)
# 检查点是否在面内
print(polygon.contains(point))
# 计算线的长度
print(line.length)
# 计算两个面的交集
intersection = polygon.intersection(Polygon([(1, 1), (3, 1), (3, 3), (1, 3)]))
print(intersection)
这段代码展示了如何使用shapely
库创建点、线、面几何对象,并将它们存入GeoDataFrame
。然后,它演示了如何输出几何信息,如何检查一个点是否在一个面内,如何计算线的长度,以及如何计算两个面的交集。这些操作是GIS分析中常见的几何操作,使用shapely
库可以高效地完成。
评论已关闭