arcpy批处理,使用栅格的范围裁剪矢量,并将裁剪后的矢量栅格化
2018-02-15 03:54
399 查看
应用场景:需要自动化地执行操作,将栅格的范围裁剪矢量,并将裁剪后的矢量栅格化。使用arcpy实现,代码如下:import arcpy
arcpy.env.workspace = 'F:/DL_DATA/mass_buildings/test/sat'
rasters = arcpy.ListRasters("*", "tiff")
Output_Workspace = "F:/DL_DATA/mass_buildings/test/map_corr/ras/"
for ras in rasters:
img = arcpy.Raster(ras)
ext = img.extent
array = arcpy.Array()
array.add(ext.upperLeft)
array.add(ext.upperRight)
array.add(ext.lowerRight)
array.add(ext.lowerLeft)
polygon = arcpy.Polygon(array)
fname = str(img)
fname = fname.split('.')[0]
clip_in_name = 'tmp/'+fname+'_clip_in.shp'
clip_out_name = 'tmp/'+fname+'_clip_out.shp'
label_out_name = 'tmp/'+fname[:8]+'_r'
xy_tolerance = 0
arcpy.CopyFeatures_management(polygon, clip_in_name)
arcpy.Clip_analysis("F:\DL_DATA\mass_buildings\massachusetts-buildings_corrected.shp", clip_in_name, clip_out_name, xy_tolerance)
arcpy.env.extent = ext
arcpy.PolygonToRaster_conversion(clip_out_name, 'aa',label_out_name,"CELL_CENTER","NONE",1)
arcpy.RasterToOtherFormat_conversion(label_out_name, Output_Workspace, 'tiff')
print fname+'Done'
arcpy.env.workspace = 'F:/DL_DATA/mass_buildings/test/sat'
rasters = arcpy.ListRasters("*", "tiff")
Output_Workspace = "F:/DL_DATA/mass_buildings/test/map_corr/ras/"
for ras in rasters:
img = arcpy.Raster(ras)
ext = img.extent
array = arcpy.Array()
array.add(ext.upperLeft)
array.add(ext.upperRight)
array.add(ext.lowerRight)
array.add(ext.lowerLeft)
polygon = arcpy.Polygon(array)
fname = str(img)
fname = fname.split('.')[0]
clip_in_name = 'tmp/'+fname+'_clip_in.shp'
clip_out_name = 'tmp/'+fname+'_clip_out.shp'
label_out_name = 'tmp/'+fname[:8]+'_r'
xy_tolerance = 0
arcpy.CopyFeatures_management(polygon, clip_in_name)
arcpy.Clip_analysis("F:\DL_DATA\mass_buildings\massachusetts-buildings_corrected.shp", clip_in_name, clip_out_name, xy_tolerance)
arcpy.env.extent = ext
arcpy.PolygonToRaster_conversion(clip_out_name, 'aa',label_out_name,"CELL_CENTER","NONE",1)
arcpy.RasterToOtherFormat_conversion(label_out_name, Output_Workspace, 'tiff')
print fname+'Done'
相关文章推荐
- 使用矢量面裁剪栅格数据的对齐问题
- Arcgis Engine矢量裁剪栅格,调用Mask工具相关代码
- R结合GDAL批量矢量裁剪栅格
- Arcgis Engine矢量裁剪栅格,调用Mask工具相关代码
- Erdas:将shp文件保存为Erdas中适用的AOI文件 矢量数据裁剪栅格
- 矢量裁剪栅格(过滤)(c#)
- geotrellis使用(八)矢量数据栅格化
- ArcObjects c++ 获取栅格或矢量图层的范围
- gdal的矢量栅格化接口GDALRasterizeLayers使用(一)
- gdal的矢量栅格化接口GDALRasterizeLayers使用(一)
- ARCGIS中矢量裁剪栅格图像
- C#+Arcengine实现GP工具中Data Management Tool》raster》raster processing中的clip功能(矢量数据对栅格数据的裁剪)
- 使用 SharePoint Server 2007 实现项目级审核 “值不再预期范围内”错误
- 安卓控件使用系列6:EditText控制输入的字符范围
- ASP.NET中 RangeValidator(范围验证)的使用
- Roozz.com 使用Windows Azure进行世界范围的在线游戏和应用程序租赁业务
- 6-3 使用函数输出指定范围内的完数
- 图片裁剪的使用——拼图游戏
- Android裁剪图片(UCrop)使用说明