【232】◀▶ IDL显示地理图像

时间:2021-10-06 08:14:07

参考:


01   IMAGE 将图像数据以图形窗体的形式显示。
02   COLORBAR 在已经存在的IDL图形中增加一个colorbar或创建。
03   MAPGRID 在已经存在的IDL地图图形上面绘制地图网格。

序号 名称  

功能说明

  语法 & 举例
01 IMAGE  

将图像数据以图形窗体的形式显示。
-----------------------------------------------
graphic = IMAGE( Data [, X, Y ] [, Keywords=value] [, Properties=value] [, Map Properties=value] [, Map Grid Properties=value] )

graphic = IMAGE( Filename [, Keywords=value] [, Properties=value] [, Map Properties=value] [, Map Grid Properties=value] )
-----------------------------------------------
Keywords:关键字只能在图形初始化创建的时候应用。

AXIS_STYLE=value, /BUFFER, /CURRENT, /DEVICE, DIMENSIONS=[width, height], LAYOUT=array, LOCATION=[x, y], MARGIN=scalar or [left, bottom, right, top], /NO_TOOLBAR, /NODATA, /OVERPLOT, /WIDGETS, GEOTIFF=structure, IMAGE_DIMENSIONS=array, IMAGE_LOCATION=array, /IRREGULAR, /ORDER
-----------------------------------------------
Properties:属性可以像关键字一样在创建的时候设置,或者也可以通过“.”的形式获取或改变。

ASPECT_RATIO, AXES, BACKGROUND_COLOR, BACKGROUND_TRANSPARENCY, CLIP, CROSSHAIR, FONT_COLOR, FONT_NAME, FONT_SIZE, FONT_STYLE, GRID_UNITS, HIDE, INTERPOLATE, MAPGRID, MAPPROJECTION, MAP_PROJECTION, MAX_VALUE, MIN_VALUE, NAME, POSITION, RGB_TABLE, SCALE_CENTER, SCALE_FACTOR, TITLE, TRANSPARENCY, UVALUE, WINDOW, WINDOW_TITLE, XRANGE, YRANGE, ZVALUE
-----------------------------------------------
Keywords:关键字只能在图形初始化创建的时候应用。

◈ Data:文件名、向量、二维数组或者三维数组
◈ DIMENSIONS:设置一个2元素向量[width, height]用来指定窗体宽和高的像素大小
◈ IMAGE_LOCATION:设置一个2元素向量[x, y]用来指定左下角像素点在数据单位中的位置,默认值是[0, 0],如果此处设置,那么X和Y参数可以忽略,就是相当于将左下角的像素点相当于地图中的左下角对应的经纬度值,例如世界地图就是[-180, 90]
◈ IMAGE_DIMENSION:设置一个2元素向量[width, height]用来指定图像在数据单位中的大小,也就是对应上面参数在X和Y方向延伸的经纬度值,例如世界地图就是[360, 180]
-----------------------------------------------
Properties:属性可以像关键字一样在创建的时候设置,或者也可以通过“.”的形式获取或改变。

◈ CROSSHAIR:Get Only,不能直接赋值
◈ MAPPROJECTION:与图像关联的地图投影名称字符串(Geographic、Mercator),设置值参考 Map Projections
  注意:如果设置MAPPROJECTION属性,也必须设置GRID_UNITS、IMAGE_LOCATION、IMAGE_DIMENSION关键字
◈ MAX_VALUE:显示图像的最大值
◈ MIN_VALUE:显示图像的最小值
◈ POSITION:4元素向量[X1, Y1, X2, Y2]定义图形在窗体中的位置,数值是0.0到1.0之间的小数,分别表示左下角和右上角的相对坐标位置
◈ RGB_TABLE:颜色表,不同索引值对应不同的颜色表,参考预定义的颜色表
◈ TITLE:设置标题
◈ FONT_COLOR:为标题和坐标轴(如果存在)设置文本颜色,默认值为"black",参考预定义RGB颜色,直接设置字符串
◈ FONT_NAME:为标题和坐标轴(如果存在)设置指定的字体,默认值为"DejaVuSans"
◈ FONT_SIZE:为标题和坐标轴(如果存在)设置指定的字体大小,默认值是:标题 11 points、坐标轴 9 points
◈ FONT_STYLE:为标题和坐标轴(如果存在)设置指定的字体样式,可以是整数或者字符串,允许的值如下:
  0 | "Normal" or "rm        | Default (roman)
  1 | "Bold" or "bf"         | Bold
  2 | "Italic or "it"        | Italic
  3 | "Bold italic " or "bi" | Bold italic
◈ GRID_UNITS:为图像网格设置指定的单位,可以是整数或者字符串,可能的值如下:
  0 | ""                 | None
  1 | "m" or "meters"    | Meters
  2 | "deg" or "degrees" | Degrees
◈ TRANSPARENCY:0到100的整数来设置图像的透明度,默认是0
◈ XRANGE:2元素向量设置X轴绘图数据的范围,默认绘制整个数据范围
◈ YRANGE:2元素向量设置Y轴绘图数据的范围,默认绘制整个数据范围
◈ GEOTIFF:返回包含 TIFF 数据信息的结构体
◈ GEOTIFF:返回包含 TIFF 数据信息的结构体

 

;定义图像data,图像大小为[1081,961],欲显示的经纬度范围为[105,5,150,45]

SpdImg = IMAGE(data, RGB_TABLE=33, GRID_UNITS=2, POSITION=[0.1,0.05,0.8,0.95], IMAGE_LOCATION=[105, 5], IMAGE_DIMENSION=[45, 40], DIMENSION=[1081*1.2, 961*1.2], MAP_PROJECTION='Geographic')

;定义显示的最大最小值
  SpdImg.MAX_VALUE=35
  SpdImg.MIN_VALUE=0
 
  ;可以设置透明度以及数据显示范围
  ;SpdImg.TRANSPARENCY=50
  ;SpdImg.XRANGE=[0,500]
  ;SpdImg.YRANGE=[0,500]

;设置名称
  SpdImg.TITLE="SST_4km_MODIS_AQUA_2016_JULY"
 
  ;设置网格属性,设置位置
  grid=SpdImg.MAPGRID
  grid.LABEL_POSITION=0
  ;grid.BOX_AXES=1
  grid.HORIZON_THICK=1
  grid.HORIZON_COLOR='black'
  grid.LINESTYLE=1
  ;grid.GRID_LONGITUDE=5
 
  ;改变坐标轴文字方向
  SpdImg['Latitude'].LABEL_ANGLE=90
  SpdImg['Longitude'].LABEL_ANGLE=0

;去掉经纬度两头的值
  SpdImg['5N'].TRANSPARENCY=100
  SpdImg['45N'].TRANSPARENCY=100
  SpdImg['105E'].TRANSPARENCY=100
  SpdImg['150E'].TRANSPARENCY=100

;附加COLORBAR
  c = COLORBAR(TARGET=SpdImg, ORIENTATION=1,TITLE='$Centigrade (\deg C)$')
  c.POSITION=[0.93,0.05,0.98,0.95]
  c.RANGE=[0,35]
  c.BORDER=1

【232】◀▶ IDL显示地理图像

 02 COLORBAR

在已经存在的IDL图形中增加一个colorbar或创建。
-----------------------------------------------
graphic = COLORBAR([, /DATA] [, /DEVICE] [, /NORMAL] [, /RELATIVE] [, TARGET=variable] [, Properties=value])
-----------------------------------------------
Properties:属性可以像关键字一样在创建的时候设置,或者也可以通过“.”的形式获取或改变。

ANTIALIAS, BORDER, CLIP, COLOR, FONT_NAME, FONT_SIZE, FONT_STYLE, HIDE, MAJOR, MINOR, NAME, ORIENTATION, POSITION, RANGE, RGB_TABLE, SUBTICKLEN, TAPER, TEXT_COLOR, TEXT_ORIENTATION, TEXTPOS, THICK, TICKDIR, TICKFORMAT, TICKINTERVAL, TICKLAYOUT, TICKLEN, TICKNAME, TICKVALUES, TITLE, TRANSPARENCY, UVALUE, WINDOW
-----------------------------------------------
◈ TARGET:设置关联的可视化对象(IMAGE/MAP)
-----------------------------------------------
◈ BORDER:在colorbar四周显示边界线,0没有边框,1有边框
◈ COLOR:设置边框和刻度的颜色
◈ FONT_NAME:设置文本字体
◈ FONT_SIZE:设置文本字体大小
◈ FONT_STYLE:设置文本显示样式
◈ HIDE:1隐藏,0可见
◈ NAME:为图形设置一个指定的名称,此名称可以使用"数组括号表示法"来返回图形
◈ ORIENTATION:colorbar显示方向,默认0水平,1垂直
◈ POSITION:colorbar位置设置,指定4元素向量[X1, Y1, X2, Y2]来定义colorbar左下和右上在图像部分中的位置
◈ RANGE:2元素向量设置colorbar的数据范围
◈ RGB_TABLE:颜色表,不同索引值对应不同的颜色表,参考预定义的颜色表
◈ TEXT_COLOR:设置文本颜色
◈ TEXT_ORIENTATION:设置文本显示方向(0-360度)
◈ TEXTPOS:设置刻度文本显示位置,0默认上面或左面,1下面或右面,0-1在中间部分显示
◈ THICK:0-10设置边界线、刻度的宽度
◈ TICKDIR:刻度方向,1朝外,0默认朝内
◈ TICKINTERVAL:用浮点型数据设置刻度值的间隔值,如果设置了,那么MAJOR属性就忽略了
◈ TICKLAYOUT:0默认显示轴线、刻度、标签,1仅显示标签,2在标签周围绘制方框
◈ TITLE:设置标题字符串
◈ TANSPARENCY:透明度,0默认不透明,100透明

 
 03 MAPGRID  

在已经存在的IDL地图图形上面绘制地图网格。
-----------------------------------------------
graphic = MAPGRID([Properties=value])
-----------------------------------------------
Properties:属性可以像关键字一样在创建的时候设置,或者也可以通过“.”的形式获取或改变。

ANTIALIAS, BOX_ANTIALIAS, BOX_AXES, BOX_COLOR, BOX_THICK, CLIP, COLOR, FILL_COLOR, FONT_NAME, FONT_SIZE, FONT_STYLE, GRID_LONGITUDE, GRID_LATITUDE, HIDE, HORIZON_COLOR, HORIZON_LINESTYLE, HORIZON_THICK, LABEL_ALIGN, LABEL_ANGLE, LABEL_COLOR, LABEL_FILL_BACKGROUND, LABEL_FILL_COLOR, LABEL_FORMAT, LABEL_POSITION, LABEL_SHOW, LABEL_VALIGN, LATITUDE_MAX, LATITUDE_ MIN, LONGITUDE_MAX, LONGITUDE_MIN, LATITUDES, LONGITUDES, LINESTYLE, NAME, THICK, TRANSPARENCY, UVALUE, WINDOW, ZVALUE
-----------------------------------------------
◈ BOX_AXES:设置这个属性就是给地图图形画上盒子样式的轴线
◈ BOX_COLOR:颜色
◈ BOX_THICK:盒子线的宽度,1-4可选择
◈ COLOR:网格线和盒子线的颜色
◈ FILL_COLOR:背景填充色
◈ FONT_NAME:标签的字体名称,默认"DejaVuSans"
◈ FONT_SIZE:标签的字体大小,默认9 points
◈ FONT_STYLE:标签的字体样式,加粗或斜线等
◈ GRID_LONGITUDE:经度网格的间隔度数
◈ GRID_LATITUDE:纬度网格的间隔度数
◈ HIDE:1隐藏,0显示
◈ HORIZON_COLOR:设置边界线的颜色
◈ HORIZON_LINESTYLE:设置边界线类型,参考设置
◈ HORIZON_THICK:设置边界线宽度
◈ LABEL_ALLGN:设置标签文本的对齐方式,0.0是左对齐,1.0是右对齐,0.5是居中对齐
◈ LABEL_ANGLE:设置标签文本的旋转度数(0-360)
◈ LABEL_COLOR:设置标签文本的颜色,默认与COLOR一致
◈ LABEL_FILL_BACKGROUND:设置1去填充标签背景,设置0则不填充标签背景
◈ LABEL_FILL_COLOR:如果LABEL_FILL_BACKGROUND为1,可以用来设置标签的背景色
◈ LABEL_FORMAT:设置网格标签上经纬度数据的显示格式
◈ LABEL_POSITION:设置标签的显示位置,默认0.5显示在中间,0显示在左下,1显示在右上,在0-1之间变化
◈ LABEL_SHOW:1插入标签,0隐藏标签
◈ LABEL_VALIGN:设置垂直标签文本的对齐方式,0.0是底对齐,1.0是顶对齐,0.5是居中对齐
◈ LATITUDE_MAX:纬度的最大显示值(标签部分)
◈ LATITUDE_MIN:纬度的最小显示值
◈ LONGITUDE_MAX:经度的最大显示值
◈ LONGITUDE_MIN:经度的最小显示值
◈ LATITUDES:返回纬度数组,可以使用相应属性
◈ LONGITUDES:返回经度数组,参考说明
◈ LINESTYLE:指定网格线的样式,参考设置
◈ NAME:为图形设置一个指定的名称,此名称可以使用"数组括号表示法"来返回图形
◈ THICK:用0-10的数值来设定网格线的宽度,默认是1
◈ TRANSPARENCY:用0-100的百分比来表示网格的透明度,默认是0,即不透明