Presentation is loading. Please wait.

Presentation is loading. Please wait.

ENVI-IDL可视化程序设计 楚雄师范学院地理科学与旅游管理学院 杨云源 kingcowboy@qq.com QQ:276561444.

Similar presentations


Presentation on theme: "ENVI-IDL可视化程序设计 楚雄师范学院地理科学与旅游管理学院 杨云源 kingcowboy@qq.com QQ:276561444."— Presentation transcript:

1 ENVI-IDL可视化程序设计 楚雄师范学院地理科学与旅游管理学院 杨云源 QQ:

2 目 录 第一章 ENVI-IDL开发环境 第二章 数据类型、运算符与表达式 第三章 选择结构与循环结构 第四章 过程与函数 第五章 直接图形法绘图 第六章 对象图形法绘图 第七章 文件访问 第八章 地图输出 第九章 界面与事件 第十章 IDL访问数据库 第十一章 图像处理 第十二章 ENVI-IDL编程与RS-GIS混合编程

3 第八章 地图输出 8.1地图输出概述 地图文件包括栅格图像文件、矢量地图文件。栅格图像文件、矢量地图文件的输入方法已经介绍,本节主要介绍地图输出与地图叠加输出的方法。 当不考虑栅格地图文件(如tiff格式、hdf格式、ENVI标准格式等)的坐标位置信息,可把栅格地图文件看成图像。图像文件的输出可以采用tv命令、tvscl 命令、image函数、对象图形法的IDLgrImage对象输出。

4 第八章 地图输出 IDL常用的矢量地图文件有shapefile、evf格式。以shapefile文件为例,要输出矢量地图文件,先使用二进制文件访问法或对象图形法的IDLffShape对象读取各个实体的坐标或坐标数组,转换到设备坐标或归一化坐标,再用输出点、线、面的命令逐一输出各个实体。 栅格图像与矢量地图叠加,需要两者都有相同的坐标、投影。若坐标、投影不相同,应提前进行转换。辅助图形要素主要是坐标轴、等值线、点、曲线、多边形等要素。栅格地图和矢量地图自带的坐标可视为数据坐标,数值较大,建议输出时采用设备坐标和归一化坐标。

5 第八章 地图输出

6 第八章 地图输出 8. 2 使用直接图形法输出图像 8.2.1 使用TV、TVSCL命令输出图像

7 第八章 地图输出

8 第八章 地图输出 8.2.2 使用IMAGE函数输出图像 获取图像数据的数组后,可采用image函数来输出图像。
格式:result=image(data[,关键字=值])

9 第八章 地图输出

10 第八章 地图输出 8.2.3 栅格图像、矢量地图与辅助图形要素叠加输出 1、栅格地图叠加坐标轴
使用tv、tvscl显示图像后,可继续在图面添加其它辅助信息,如文本、坐标轴、颜色棒等。

11 第八章 地图输出

12 第八章 地图输出 2、栅格地图叠加等高线 DEM叠加等高线时,等高线提取可以使用contour命令。tvscl命令默认的输出位置为左下角,而contour等输出的默认位置不在左下角。这种情况下,图像和图形叠加位置错位,需要对绘图起点进行调整。

13 第八章 地图输出

14 第八章 地图输出

15 第八章 地图输出 3、栅格地图叠加 若叠加的栅格地图数据有相同的投影和坐标,但是仅有部分重叠。则可以使用tvscl命令输出第一个栅格地图到默认的显示范围。然后按照两个图的左下角x、y的最小值和右上角x、y的最大值确定第二个栅格地图的显示范围(使用像素坐标)。该方法支持有相同投影、有重叠的栅格地图的显示。

16 第八章 地图输出 图8.8 Landsat数据和DEM数据叠加流程图

17 第八章 地图输出

18 第八章 地图输出 【例8.5】已有带投影和坐标的Tiff格式Landsat数据和Aster DEM数据,使用直接图形法将DEM、Landsat数据和等高线叠加显示在默认绘图范围。

19 第八章 地图输出

20

21 第八章 地图输出

22 第八章 地图输出 4、矢量地图叠加栅格地图 若矢量地图与栅格地图都有相同的投影和坐标,则可以实现叠加。以设备坐标法叠加shapefile和栅格地图为例:读入栅格地图,获取左下角和右上角的坐标值(边界盒),输出图像。读入shapefile文件时,根据本书介绍的shapefile文件的访问方法打开文件。然后循环读出shapefile文件每个实体(Entity)的坐标(点文件)或坐标数组(线文件、面文件),将坐标数据转换为相对于栅格地图左下角起点的设备坐标。对应地用绘制点、线、面的方法绘制地图,直到循环结束。绘图时,若shapefile文件边界超出栅格地图边界,则对栅格地图和shapefile坐标点同时做平移处理。

23 第八章 地图输出

24 第八章 地图输出

25 第八章 地图输出 8. 3 使用对象图形法输出栅格图像和矢量地图
使用IDLgrImage对象可实现图像输出。此部分内容在对象图形法中已经介绍,不再赘述。此处重点讨论基于对象图形法实现栅格图像和矢量地图叠加显示。图8.15是基于对象图形法的栅格图像和矢量地图叠加示意。 总体而言,采用对象图形法或直接图形法绘图时,数据读入、数据坐标转换都是相同的。不同的的是输出时,直接图形法使用函数或过程,对象图形法需使用对象。 对象图形法实现图像叠加,使用原子对象IDLgrImage“存储”图像文件,每个原子对象对应一个IDLgrModel对象或者所有原子对象对应一个IDLgrModel对象;使用obj_new函数创建对象后,为每个对象添加子对象(使用add方法);然后通过setproperty方法或getproperty方法实现对对象属性的操作;直到最终销毁对象。

26 第八章 地图输出

27 第八章 地图输出

28 当叠加的的栅格图像和矢量地图的投影、坐标相同,边界不一致时分三种情况处理:
①、栅格图像叠加栅格图像。先显示底图,再根据这些图像的左下角,右上角坐标计算出待叠加图像相对于底图的偏移值,计算出待叠加图像相对于底图的显示尺寸。 ②、栅格图像叠加矢量地图。先显示栅格底图,计算出矢量地图上每个点(面看成是闭合线、线看成是点对)相对于底图左下角的位置。 ③、矢量图叠加矢量图与栅格图叠加矢量图类似。

29 第八章 地图输出


Download ppt "ENVI-IDL可视化程序设计 楚雄师范学院地理科学与旅游管理学院 杨云源 kingcowboy@qq.com QQ:276561444."

Similar presentations


Ads by Google