shapely 使用笔记 Shapely 是一个用于操作和分析几何对象的 Python 库。它提供了对各种几何对象如点、线、多边形等的创建、操作和计算的功能。Shapely 可以用于地理信息系统、计算机图形学等领域帮助处理和分析空间数据。1. 头文件from shapely.geometry import MultiPolygon, GeometryCollection, LinearRing from shapely.ops import cascaded_union, nearest_points from shapely.wkt import loads from shapely.wkt import dumps2. 点geometry.Point常用方法构造Point(x, y, z)近似相等# decimal为判断时的小数精度 # 例如decimal 5表示小数点后5位以下的部分都舍去然后再进行判断 p1.almost_equals(p2, decimal)2. 折线即polylinegeometry.LineString常用方法构造# 用列表进行初始化 LineString(list([(1, 2), (3, 4)])) # 扩展也可以用两个列表拼接 LineString(list(p1.coords) list(p2.coords))延展# 使其有宽度类型变为Polygon self.buffer(buffer_size, cap_style)常用属性获取所有点坐标# 返回坐标字符串 self.coords # 转换成列表 list(self.coords) # 是否有效例如长度不能为0 self.is_valid3. 环geometry.LinearRing常用属性有效# 自相交或者面积为0都视为无效 self.is_valid方向# 逆时针排列 self.is_ccw4. 面有可能是简单多边形框polygon也有可能是两个多边形框嵌套注意只能是二维的geometry.Polygon常用方法相交# 判断与折线相交 self.intersection(line) # 判断与其它面相交 self.intersection(polygon)包含self.cotains(line)常用属性所有点坐标self.coords外框点坐标self.exterior.coords面积self.area与其它类型的转换shapely转字符串geom dumps(self.geom, rounding_precisionprecision)字符串转shapelyself.geom loads(self.geom)5. 多面多个polygon组合在一起常用方法构造# 一般返回类型为面 multi_polygon MultiPolygon(polygons)6. 基本方法求并union_polygon cascaded_union(multi_polygon)寻找最近邻点# 返回两个点 points nearest_points(polygon_1, polygon_2)