用visvalingam-wyatt算法简化几何图形

visvalingamwyatt的Python项目详细描述


visvalingam-wyatt线简化的python实现 算法。

此实现是由于Eliot Hallmark。 这个版本只是将其打包为一个python模块。

使用

>>>importvisvalingamwyattasvw>>>points=[(1,2),(2,3),(3,4),...]>>>vw.simplify(points)[(1,2),(3,4),...]

点可以是任何类似于Sequence的对象(listtuple,a 公开__iter__方法的自定义类)。

测试不同的方法和阈值:

simplifier=vw.Simplifier(points)# Simplify by percentage of points to keepsimplifier.simplify(ratio=0.5)# Simplify by giving number of points to keepsimplifier.simplify(number=1000)# Simplify by giving an area thresholdsimplifier.simplify(threshold=0.01)

使用Geodata的缩写:

importvisvalingamwyattasvwfeature={"properties":{"foo":"bar"},"geometry":{"type":"Polygon","coordinates":[...]}}# returns a copy of the geometry, simplified (keeping 90% of points)vw.simplify_geometry(feature['geometry'],ratio=0.90)# returns a copy of the feature, simplified (using an area threshold)vw.simplify_feature(feature,threshold=0.90)

命令行工具vwsimplify可用于简化geojson 文件:

# Simplify using a ratio of points
vwsimplify --ratio 0.90 in.geojson -o simple.geojson

# Simplify using the number of points to keep
vwsimplify --number 1000 in.geojson -o simple.geojson

# Simplify using a minimum area
vwsimplify --threshold 0.001 in.geojson -o simple.geojson

为安装Fiona 简化任何地理数据层的附加功能。

许可证

麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在读取属性文件时获取空指针   java NoSuchMethodError:org。springframework。靴子网状物servlet。错误错误控制器。最新SpringCloudStarter NetflixZuul中的getErrorPath()   java Spring不使用相同的JDBC连接   sqlite DB中带方括号的java数据   如何编译基于Maven的Java项目以从命令行运行它   java如何限制cowndown计时器的操作(例如登录)   java如何使用spring和springboot应用程序配置数据库?我想知道如何回答这类问题?   java中的buildpath不支持java。图书馆路径   java如何使用条目集在树映射上迭代?   java如何将IndexOf与Scanner结合使用?   xml Java SAX解析器进程监视   java在多台远程机器上运行并行junit测试   当我尝试在ListView中动态添加项时,单击按钮时java崩溃