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 ...
随机推荐
- 【转载】 spring事物配置,声明式事务管理和基于@Transactional注解的使用
https://blog.csdn.net/bao19901210/article/details/41724355
- js的组成部分
ECMAScript js基本语法与标准 DOM Document Object Model文档对象模型 BOM Browser Object Model浏览器对象模型
- Tomcat中的Connector配置
所有的Connector提供的配置项(不完全版scheme, isSecure, xpoweredBy, useIPVHosts ): allowTrace 如果需要服务器能够处理用户的HAED/TR ...
- 学习笔记DL003:神经网络第二、三次浪潮,数据量、模型规模,精度、复杂度,对现实世界冲击
神经科学,依靠单一深度学习算法解决不同任务.视觉信号传送到听觉区域,大脑听学习处理区域学会“看”(Von Melchner et al., 2000).计算单元互相作用变智能.新认知机(Fukushi ...
- (转)Unity_什么是Draw Call? 什么是Batch?
開發遊戲時,一定被時時提醒要減少 Draw Call,當然UNITY也不例外,打開Game Window裡的 Stats,可以看到 Draw Call 與 Batched 的數字.但到底甚麼是 Dra ...
- bootstrap简单使用实例
表格实例,包含bootstrap.css 和 2.1.1jquery <!DOCTYPE html> <html> <head> <meta charset= ...
- 《DenseNet Models for Tiny ImageNet Classification》课程设计论文
paper : <DenseNet Models for Tiny ImageNet Classification> https://arxiv.org/ftp/arxiv/pap ...
- Go 变量声明后若不赋值,各类型默认值
Go 变量声明后若不赋值,各类型默认值(数字类型默认为 0,其他类型为 nil): 数据类型 默认值 bool false string 空字符串 int 0 float32 0 float64 0 ...
- Java 动态绑定
转载 http://www.cnblogs.com/ygj0930/p/6554103.html 一:绑定 把一个方法与其所在的类/对象 关联起来叫做方法的绑定.绑定分为静态绑定(前期绑定)和动态绑 ...
- 通过Spark Streaming的foreachRDD把处理后的数据写入外部存储系统中
转载自:http://blog.csdn.net/erfucun/article/details/52312682 本博文主要内容包括: 技术实现foreachRDD与foreachPartition ...