0


python shapely库 的简单使用(点,线,面的构建以及基本函数)

一、点

1.点的构造

from shapely.geometry import Point

point = Point(0.0, 0.0)

Point((0.0, 0.0))

  1. 点的区域、长度

Point.area

Point.length

点的长度和区域面积都为0

3.点的边界框

Point.bounds 返回(minx, miny, maxx, maxy)

                          (0.0, 0.0, 0.0, 0.0)

4.点的坐标值

Point.x 返回x

Point.y 返回y

Point.coords 返回<shapely.coords.CoordinateSequence object at 0x000001AB195C7640>

list(Point.coords) 可以显示点坐标

坐标也可以切片 point.coords[:]

5.点的缓冲区

Point.buffer(1.5) 以点为中心,1.5为半径形成一个圆缓冲区

二、线

线具有0面积和非零长度

1.构建线(线由点构成)

from shapely.geometry import LineString

line = LineString([(0, 0), (1, 1)]) #可以传入多个坐标

2.Line.bounds

(minx, miny, maxx, maxy)

3.线的坐标值

line.coords

三、多边形

1.构建多边形

from shapely.geometry import Polygon

polygon = Polygon([(0, 0), (1, 1), (1, 0)])

也支持通过线构建

coords = [(0, 0), (1, 1), (1, 0)]

r = LinearRing(coords)

s = Polygon(r)

2.多边形的边界值

polygon.bounds 返回(minx, miny, maxx, maxy)

3.多边形的坐标

polygon.exterior.coords 返回外部点,就是边界点 返回对象

polygon.interiors 返回内部点 返回对象

四、Collection(集合)

通过一些对象的操作,形成的是collection对象

这里以两条线相交为例:

a = LineString([(0, 0), (1, 1), (1,2), (2,2)])

b = LineString([(0, 0), (1, 1), (2,1), (2,2)])

x = a.intersection(b) #<shapely.geometry.collection.GeometryCollection object at 0x...>

a与b两条线的图像与相交图像如下图所示

红色就为取交集部分。

标签: python

本文转载自: https://blog.csdn.net/weixin_50880191/article/details/120022237
版权归原作者 boyce666 所有, 如有侵权,请联系我们删除。

“python shapely库 的简单使用(点,线,面的构建以及基本函数)”的评论:

还没有评论