时间:2021-05-22
Shapely是一个Python库,用于操作和分析笛卡尔坐标系中的几何对象。
引入包
from shapely.geometry import Pointfrom shapely.geometry import LineString共有的变量和方法
object.area
Returns the area (float) of the object.
object.bounds
返回对象的(minx,miny,maxx,maxy)元组(float类型)
object.length
返回对象的长度
object.geom_type
返回对象类型
object.distance(other)
返回本对象和另一个对象的距离
object.representative_point()
Returns a cheaply computed point that is guaranteed to be within the geometric object.
>>> from shapely.geometry import Point>>> print Point(0,0).distance(Point(0,1))1.0>>> from shapely.geometry import LineString>>> line = LineString([(0,0), (1,1), (1,2)])>>> line.area0.0>>> line.bounds(0.0, 0.0, 1.0, 2.0)>>> line.length2.414213562373095>>> line.geom_type'LineString'Point
class Point(coordinates)
三种赋值方式
>>> point = Point(0,0)>>> point_2 = Point((0,0))>>> point_3 = Point(point)一个点对象有area和长度都为0
>>> point.area0.0>>> point.length0.0坐标可以通过coords或x、y、z得到
>>> p = Point(2,3)>>> p.coords<shapely.coords.CoordinateSequence object at 0x7ffbc3d60dd0>>>> list(p.coords)[(2.0, 3.0)]>>> p.x2.0>>> p.y3.0coords可以被切片
>>> p.coords[:][(2.0, 3.0)]LineStrings
LineStrings构造函数传入参数是2个或多个点序列
一个LineStrings对象area为0,长度非0
>>> line = LineString([(0,0), (0,1), (1,2)])>>> line.area0.0>>> line.length2.414213562373095获得坐标
>>> line.coords[:][(0.0, 0.0), (0.0, 1.0), (1.0, 2.0)] >>> list(line.coords) [(0.0, 0.0), (0.0, 1.0), (1.0, 2.0)]LineString依然可以接受一个同类型对象
>>> line2 = LineString(line)>>> line2.coords[:][(0.0, 0.0), (0.0, 1.0), (1.0, 2.0)]常见格式转换
>>> Point(1,1).wkt'POINT (1 1)'>>> Point(1,1).wkb'\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?'>>> Point(1,1).wkb.encode('hex')'0101000000000000000000f03f000000000000f03f'>>> >>> Point(1,1).wkb.encode('hex')'0101000000000000000000f03f000000000000f03f'两者都有loads和dumps方法
对于wkt
>>> from shapely.wkt import dumps, loads>>> s = dumps(Point(1,2))>>> s'POINT (1.0000000000000000 2.0000000000000000)'>>> ss = loads(s)>>> ss<shapely.geometry.point.Point object at 0x7ffbc3d783d0>>>> ss.coords[:][(1.0, 2.0)]对于wkb
>>> from shapely.wkb import dumps, loads>>> s = dumps(Point(1,2), hex=True)>>> s'0101000000000000000000F03F0000000000000040'>>> ss = loads(s, hex=True)>>> ss<shapely.geometry.point.Point object at 0x7ffbc3d78790>>>> ss.coords<shapely.coords.CoordinateSequence object at 0x7ffbc3d783d0>>>> ss.coords[:][(1.0, 2.0)]更多关于python Shapely使用方法请查看下面的相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
javascript中setTimeout使用指南/*//方法1functionslows(){alert("15S后弹出!");}setTimeout("sl
这里我们使用dnsmasq对应的docker版本docker-dnsmasq。使用指南下载镜像dockerpulldocker-dnsmasq创建最简单的配置/
Docker-clientforpython使用指南:客户端初始化的三种方法importdockerdocker.api()docker.APIClient()
写好review,需要注意以下几点:测评对产品的包装、规格、结构整体性描述产品与众不同的亮点产品的缺点产品使用指南(来源:深圳拓扑)
本经验教你怎样使用CAD插件自动画杆路插件使用指南。 1、下载解压Autolisp插件至电脑D盘根目录下即可。 2、打开AotoCAD,如下图: 3、