IDL实现矢量文件裁剪栅格数据
利用ENVI_SUBSET_VIA_ROI_DOIT函数实现矢量文件裁剪栅格数据。
测试数据:栅格文件是Mercator投影,矢量文件是Geographic坐标系
infile='F:\Temp_Data\FY3_BEIJING_HFII_DAY_200808031211_Mercator.tif'
outfile='F:\Temp_Data\FY3_BEIJING_HFII_DAY_200808031211_Mercator_Sub.dat'
shpfile='F:\Shapefile\beijing.shp' envi_open_file,infile,r_fid=tfid
envi_file_query,tfid,dims=dims,ns=ns,nl=nl,nb=nb
oproj=envi_get_projection(fid=tfid)
iproj=envi_proj_create(/geographic) oshp=obj_new('IDLffShape',shpfile)
oshp->GetProperty,n_Entities=n_ent,attribute_info=attr_info,n_attributes=n_attr,Entity_type=ent_type
roi_ids=lonarr(n_ent)
for i=0,n_ent-1 do begin
entity=oshp->GetEntity(i)
if ptr_valid(entity.parts) ne 0 then begin
tempLon=reform((*entity.vertices)[0,*])
tempLat=reform((*entity.vertices)[1,*])
envi_convert_projection_coordinates, $
tempLon,tempLat,iproj, $
xmap,ymap,oproj
envi_convert_file_coordinates, $
tfid,xf,yf,xmap,ymap
roi_ids[i]=envi_create_roi(ns=ns,nl=nl)
envi_define_roi,roi_ids[i],xpts=xf,ypts=yf,/polygon
endif if i eq 0 then begin
xmin=round(min(xf,max=xmax))
ymin=round(min(yf,max=ymax))
endif else begin
xmin=xmin<round(min(xf))
xmax=xmax>round(max(xf))
ymin=ymin<round(min(yf))
ymax=ymax>round(max(yf))
endelse
oshp->DestroyEntity,entity
endfor
obj_destroy,oshp
xmin=xmin>0
xmax=xmax<ns
ymin=ymin>0
ymax=ymax<nl dims=[-1,xmin,xmax,ymin,ymax]
envi_doit,'envi_subset_via_roi_doit', $
fid=tfid, $
dims=dims, $
ns=ns,nl=nl, $
pos=indgen(nb), $
background=0, $
roi_ids=roi_ids, $
proj=oproj, $
out_name=outfile
envi_file_mng,id=tfid,/remove
envi_file_mng,id=rfid,/remove
envi_delete_rois,/all
结果如下:

IDL实现矢量文件裁剪栅格数据的更多相关文章
- 使用QGIS将文本坐标转换为矢量文件
本文主要是说明如果使用QGIS将文本格式的点坐标转换为矢量文件(如shapefile格式). 所需工具:QGIS 所需数据:文本格式的点文件 所需要处理的点坐标文件如下所示, 114.2 22.15 ...
- [转]TrueType(TTF)字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪)
原文入口: TTF字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪) 对于TrueType(TTF)字体格式的介绍可以看: https://www.cnblogs.com/slysky/p/1131 ...
- 时空地图TimeGIS 可编辑ArcGIS的Shape矢量文件的地理信息系统
时空地图 TimeGIS 6.0 是一个地理信息系统软件,它可以显示网络地图,编辑ArcGIS的SHP矢量文件格式,显示NETCDF等栅格文件,管理图层等. 在它的基础上,可以二次开发各种GIS应用, ...
- GDAL读写矢量文件——Python
在Python中使用OGR时,先要导入OGR库,如果需要对中文的支持,还需要导入GDAL库,具体代码如下.Python创建的shp结果如图1所示. 图1 Python创建矢量结果 #-*- codin ...
- 【180】IDL 读写 HDF 文件
HDF(Hierarchical Data Formats)数据格式由 NCSA 开发.HDF 提供了大量的数据模式,包括多维数组.表格.图像.注解和调色板.在下面的章节中,将描述 HDF 科学数据系 ...
- 【179】IDL 读写 NetCDF 文件
NetCDF(network Common Data Form)由位于科罗拉多州波尔市的 Unidata 程序中心开发,主要应用于大气科学的研究.NetCDF 的数据模式具有简单性和灵活性的特点.Ne ...
- OpenCV+Python实现视频文件裁剪功能
Python编程实现对视频文件进行剪切的功能.截取指定长度的视频并保存,运行后首先选择要裁剪的视频,然后输入开始时间点和停止时间点即可.将剪切后的视频保存为output.avi文件 所属网站分类: 资 ...
- 【171】IDL读取HDF文件
;+ ;:Description: ; Describe the procedure. ; ; Author: DYQ 2009-7-19; ; ;- PRO TEST_READHDF COMPILE ...
- 通过Nginx訪问FastDFS文件系统并进行图片文件裁剪的性能測试和分析
前段时间公司的分布式图片文件系统(FastDFS)做了图片裁剪和缩放功能,并把缩放计算和FastDFS做了解耦分离,前端用虚拟机作为图片文件缩放的訪问代理层(Nginx Proxy),后端使用ngin ...
随机推荐
- 2018.8.8 SpringMVC分层
分层: 表示层:请求分发,调用处理器,页面展示. 业务层:业务处理接口和实现. 持久层:数据访问和持久化. 各层之间解耦,下层对上层透明. 具体代码分析如下图,图转自https://blog.csdn ...
- python画高斯分布图形
高斯分布,也叫正态分布,是一个在数学.物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力. 若随机变量X服从一个数学期望为μ.方差为σ^2的正态分布,记为N(μ,σ^2).其概率 ...
- 用vs2010打开使用vs2013升级后的WP工程
项目在win7+vs2010的环境中建立的,后来在win8.1+vs2013的环境下修改和完善: 但是所有功能实现后发现wp7项目在使用vs2013打开后因为单向升级的原因,项目只能被编译为wp8项目 ...
- python中logging模块的用法
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
- 2019CVTE技术支持软件编程2
题目:有8位数密码,加密规则如下:第一步取最后一位数:第二部将倒数第二位数放到最前形成一个新数,再取新数最后一位,以此循环取完所有数为止:如98698426,密码为64982689,时间复杂度为O(N ...
- Ubuntu 终端使用ss代理
用polipo软件,这个软件可以吧socket5转换成http代理 $ sudo apt-get install polipo $ sudo vim /etc/polipo/config 在文件中加入 ...
- Spring MVC的原理及配置详解
网址链接:https://www.cnblogs.com/baiduligang/p/4247164.html
- 在linxu机器ansible上运行启动django项目命令
source py3env/bin/activate 进入虚拟环境 cd /xiangmulujing 进入项目路径 然后就可以执行运行命令了 python manage.py runser ...
- I.MX 6UL与6ULL应用领域区别
- Taro 常用 API
table th:first-of-type { width: 300px; } Taro 常用 API 说明 网址 Taro.getSystemInfoSync() 获取系统信息同步接口. http ...