光栅矢量化多边形拓扑处理工具

rastachimp的Python项目详细描述


RastachImp

rastachimp是一个实用程序库,用于执行从raster矢量化的多边形的拓扑处理,如rasterio.features.shapes function

  • 简化,使用douglas peucker:Shapely(和geos)可用于简化多边形,但会在共享边界的多边形之间创建间隙和重叠(即使preserve_topology=true)
  • 平滑,使用chaikin方法
  • 致密化

rastachimp将多边形分解为边(使用shapely),对其应用操作,然后重建转换的多边形。只要rasterio.features.shapes的输出是像素坐标(默认值),或者到世界坐标的转换没有旋转组件(通常是这种情况),它就可以正常工作。由于有限的浮动精度,在更一般的情况下可能无法很好地工作,尽管如果多边形是节点化的(例如,使用bpol tool of v.clean in GRASS)则可以。

安装

pip install rastachimp

使用量

执行简化的函数是simplify_dp。作为输入,它将元组(几何体、值)作为rasterio.features.shapes和公差(与输入几何体的单位相同)的输出。它返回元组(几何体、值)的迭代器,就像rasterio.features.shapes一样。

fromrasterioimportfeaturesfromrastachimpimportas_shapely,simplify_dp# 2D array with classification valuesimage=np.array(....,dtype=np.uint8)# no transform => in pixel coordinatesshapes=features.shapes(image)# convert to Shapely geometry (features.shapes returns a GeoJSON dict)shapes=as_shapely(shapes)tolerance=2# simpl is an interator of tuples (geometry, value)simpl=simplify_dp(shapes,tolerance)

问题

https://github.com/gvellut/rastachimp/issues报告问题

待办事项

  • 更好地检测和处理不良输入
  • 其他泛化算法(visvalingam)
  • 其他平滑算法(贝塞尔曲线)

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

推荐PyPI第三方库


热门话题
java Grid loadmask(true)在gxt中不起作用   java将字符串索引转换为整数   为什么Java泛型适用于基元数组,但不适用于基元数组?   java如何让Azure应用程序服务Tomcat将所有80/443流量转发到运行在同一应用程序服务上的JBoss   具有多个值的java转换映射到树?   java如何设置SQL server连接URL?   java设置了多个相互独立的JFrame   安全性在JAVA中如何使用RSAPrivateKey的密码短语?   java不能使用比Apache Velocity中更大的条件   如何在Java中打印字符串的所有排列   停止Android Studio自动导入java。sql。日期   对象简单计算器程序java   java如何在安卓中使用“&”符号作为字符串?   java Connect,为我的安卓应用程序从REST API发布和获取数据