政务桌面应用系统开发提升政府服务效率的关键所在
1132
2022-11-23
基于gdal的矢量合并(python)
def uni(shpPath, fname): """ :param shpPath: 输入的矢量路径 :param fname: 输出的矢量路径 :return: """ driver = ogr.GetDriverByName("ESRI Shapefile") dataSource = driver.Open(shpPath, 1) layer = dataSource.GetLayer() # 新建DataSource,Layer out_ds = driver.CreateDataSource(fname) out_lyr = out_ds.CreateLayer(fname, layer.GetSpatialRef(), ogr.wkbPolygon) def_feature = out_lyr.GetLayerDefn() # 遍历原始的Shapefile文件给每个Geometry做Buffer操作 # current_union = layer[0].Clone() print('the length of layer:', len(layer)) if len(layer) == 0: return for i, feature in enumerate(layer): geometry = feature.GetGeometryRef() if i == 0: current_union = geometry.Clone() current_union = current_union.Union(geometry).Clone() if i == len(layer) - 1: out_feature = ogr.Feature(def_feature) out_feature.SetGeometry(current_union) out_lyr.ResetReading() out_lyr.CreateFeature(out_feature)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~