栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何处理Shapely中的舍入错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何处理Shapely中的舍入错误

从根本上讲,需要一个精确的模型,并且有各种计划在某个时候将其实现到GEOS中(不要屏住呼吸,因为已经讨论了好几年了)。

否则,这些选项可以是基于距离的测试(推荐),也可以是稍作调整的更昂贵的基于缓冲区的技术(请参阅机器epsilon):

from shapely.geometry import LineString, Pointline1 = LineString([(1, 1.2), (2, 2), (3, 2.3), (4, 1.2)])pt = Point(2.5, 1.2)pr = line1.interpolate(line1.project(pt))# Distance basedprint(line1.distance(pr) == 0.0)  # True# Buffer basedEPS = 1.2e-16print(line1.buffer(EPS).contains(pr))  # Trueprint(line1.buffer(EPS).intersects(LineString([pt, pr])))  # True

您还可以使用

or
运算符链接便宜和昂贵的测试,例如:

print(line1.contains(pr) or line1.buffer(EPS).contains(pr))

如果第一个返回,则仅运行第二个和更昂贵的测试

False



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号