用shpfile切割envi 的Dat

 pro Part_10
  compile_opt idl2, hidden
  e=envi(/headless)
  envi_file="D:\Lansat_Data_成品数据\2013_class"
  ;envi_file="D:\Lansat_Data_成品数据\2013.dat"
  ;envi_file="D:\Lansat_Data_成品数据\2013.dat"
  ;envi_file="D:\Lansat_Data_成品数据\2013.dat"
  ;envi_file="D:\Lansat_Data_成品数据\2013.dat"
  ;envi_file="D:\Lansat_Data_成品数据\2013.dat"
  raster = e.OpenRaster(envi_file)
  shp_name="C:\Users\l_j_w\OneDrive\毕业设计\2013年\喀喇昆仑边界\喀喇昆仑边界.shp"
  file_shp =  e.OpenVector(shp_name)
  CATCH, errorStatus
  IF (errorStatus NE 0) THEN BEGIN
    CATCH, /CANCEL
    PRINT, !ERROR_STATE.MSG
    ;CONTINUE
  ENDIF
  maskedRaster = ENVIVectorMaskRaster(raster, file_shp)
  outFile_temp = e.GetTemporaryFilename()
  maskedRaster.Export, outFile_temp, 'ENVI', DATA_IGNORE_VALUE=0
  x = (file_shp.data_range[3]-file_shp.data_range[1])/30;行数
  y = (file_shp.data_range[2]-file_shp.data_range[0])/30 ;列数
  Grid = ENVIGridDefinition(file_shp.Coord_Sys, $
    PIXEL_SIZE=[30.0D,30.0D], $  ;像元大小30M
    TIE_POINT_PIXEL=[0.0D,0.0D], $
    TIE_POINT_MAP=[file_shp.data_range[0],file_shp.data_range[3]], $
    NROWS=x, $
    NCOLUMNS=y)
  outFile = "D:\Lansat_Data_成品数据\2013_class_shp.dat"
  regrid = ENVISpatialGridRaster(Raster,GRID_DEFINITION=Grid)
  regrid.export,outFile,'envi'
  file_delete, outfile_temp
end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值