python输出方格_用Python创建方格多边形shapefile?

importos,sysimportogrfrommathimportceildefmain(outputGridfn,xmin,xmax,ymin,ymax,gridHeight,gridWidth):# convert sys.argv to floatxmin=float(xmin)xmax=float(xmax)ymin=float(ymin)ymax=float(ymax)gridWidth=float(gridWidth)gridHeight=float(gridHeight)# get rowsrows=ceil((ymax-ymin)/gridHeight)# get columnscols=ceil((xmax-xmin)/gridWidth)# start grid cell enveloperingXleftOrigin=xmin

ringXrightOrigin=xmin+gridWidth

ringYtopOrigin=ymax

ringYbottomOrigin=ymax-gridHeight# create output fileoutDriver=ogr.GetDriverByName('ESRI Shapefile')ifos.path.exists(outputGridfn):os.remove(outputGridfn)outDataSource=outDriver.CreateDataSource(outputGridfn)outLayer=outDataSource.CreateLayer(outputGridfn,geom_type=ogr.wkbPolygon)featureDefn=outLayer.GetLayerDefn()# create grid cellscountcols=0whilecountcols

ringYbottom=ringYbottomOrigin

countrows=0whilecountrows

ringYbottom=ringYbottom-gridHeight# new envelope for next polyringXleftOrigin=ringXleftOrigin+gridWidth

ringXrightOrigin=ringXrightOrigin+gridWidth# Close DataSourcesoutDataSource.Destroy()if__name__=="__main__":## example run : $ python grid.py .shp xmin xmax ymin ymax gridHeight gridWidth#iflen(sys.argv)!=8:print"[ ERROR ] you must supply seven arguments: output-shapefile-name.shp xmin xmax ymin ymax gridHeight gridWidth"sys.exit(1)main(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4],sys.argv[5],sys.argv[6],sys.argv[7])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值