一种面向ArcGIS极地矢量场可视化的角度转换方法转让专利

申请号 : CN201710674691.7

文献号 : CN107451958B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王云鹤毕海波秦克玉黄海军

申请人 : 中国科学院海洋研究所

摘要 :

本发明涉及一种面向ArcGIS极地矢量场可视化的角度转换方法,读取矢量场数据和经度数据,通过角度转换和校正,得到以指定方向为参考方向的矢量场角度。本发明方法面向ArcGIS极地矢量场可视化,可在可视化前对矢量场角度数据在IDL软件里转换的方法,以正确表达矢量场的物理意义,弥补ArcGIS无法正确绘制极地矢量场的不足。

权利要求 :

1.一种面向ArcGIS极地矢量场可视化的角度转换方法,其特征在于:读取矢量场数据和经度数据,通过角度转换和校正,得到以指定方向为参考方向的矢量场角度,包括以下步骤:读取经度数据和矢量场V向数据、U向数据并进行插值处理,使各种数据的行、列数分别相同;

根据矢量场V向数据和U向数据利用反正切函数得出矢量场角度WD,利用勾股定理计算出矢量场大小WS;

对矢量场角度WD进行校正,并加入经度进行角度转换,再进行角度校正;

所述对矢量场角度WD进行校正具体为:

U>0的情况下,若V>0,则WD=WD,若V<0,则WD=WD+180,否则WD=90;

U<0的情况下,若V>0,则WD=WD+360,若V<0,则WD=WD+180,否则WD=270;

U=0的情况下,若V>0,则WD=0,若V<0,则WD=180,否则WD=0;

其中,V为矢量场V向大小,U为矢量场U向大小,WD为矢量场角度,WS为矢量场大小;

所述加入经度进行角度转换具体为:

为-180°到180°制的经度, 为数据框里朝窗口正下的经线经度,  为矢量场角度, 表示转换前的矢量场角度;

所述角度校正具体为:

若WD>360,则WD=WD-360;

若WD<0,则WD=WD+360;

其中,V为矢量场V向大小,U为矢量场U向大小,WD为矢量场角度,WS为矢量场大小;

将角度校正后的矢量场角度WD与矢量场大小WS储存为HDF格式的文件,用于通过地理信息软件显示。

2.根据权利要求1所述的一种面向ArcGIS极地矢量场可视化的角度转换方法,其特征在于:将HDF格式的WD和WS文件导入地理信息软件,进行地理配准,然后利用渔网点文件分别对WD和WS进行采样,生成WD和WS属性表;

在渔网点文件里新建矢量场大小和矢量场角度两浮点型字段,然后将渔网点文件与WD和WS属性表关联起来,利用栅格计算器计算使得矢量场大小等于WS、矢量场角度等于WD;

将点文件属性中的点符号设置为箭头,箭头大小为矢量场大小,箭头旋转角度为矢量场角度,实现矢量场的可视化。

3.根据权利要求1所述的一种面向ArcGIS极地矢量场可视化的角度转换方法,其特征在于以IDL程序实现。

4.一种面向ArcGIS极地矢量场可视化的角度转换方法,其特征在于:读取矢量场数据和经度数据,通过角度转换和校正,得到以指定方向为参考方向的矢量场角度,包括以下步骤:读取经度数据和矢量场大小WS数据和矢量场角度WD数据并进行插值处理,使各种数据的行、列数分别相同;

对矢量场角度WD进行角度制校正,并加入经度进行角度转换,再进行角度校正;

所述对矢量场角度WD进行角度制校正具体为:若WD<0,则WD=WD+360,否则,WD=WD;

所述加入经度进行角度转换具体为:

为-180°到180°制的经度, 为数据框里朝窗口正下的经线经度,  为矢量场角度, 表示转换前的矢量场角度;

所述角度校正具体为:

若WD>360,则WD=WD-360;

若WD<0,则WD=WD+360;

其中,V为矢量场V向大小,U为矢量场U向大小,WD为矢量场角度,WS为矢量场大小;

将角度校正后的矢量场角度WD与矢量场大小WS储存为HDF格式的文件,用于通过地理信息软件显示。

5.根据权利要求4所述的一种面向ArcGIS极地矢量场可视化的角度转换方法,其特征在于:将HDF格式的WD和WS文件导入地理信息软件,进行地理配准,然后利用渔网点文件分别对WD和WS进行采样,生成WD和WS属性表;

在渔网点文件里新建矢量场大小和矢量场角度两浮点型字段,然后将渔网点文件与WD和WS属性表关联起来,利用栅格计算器计算使得矢量场大小等于WS、矢量场角度等于WD;

将点文件属性中的点符号设置为箭头,箭头大小为矢量场大小,箭头旋转角度为矢量场角度,实现矢量场的可视化。

6.根据权利要求4所述的一种面向ArcGIS极地矢量场可视化的角度转换方法,其特征在于以IDL程序实现。

说明书 :

一种面向ArcGIS极地矢量场可视化的角度转换方法

技术领域

[0001] 本发明涉及ArcGIS极地矢量场可视化前,矢量场角度数据在IDL软件里转换方法。

背景技术

[0002] ArcGIS软件绘图精美,功能强大,在海洋科学、遥感地信、地质等领域应用广泛。但是ArcGIS在矢量场可视化时具有局限性,ArcGIS对点的角度属性可视化规则仅有两种,如图1所示。左边Geographic可视化规则为窗口正上为0°,按顺时针旋转,分别表示0°到360°。右边Arithmetic可视化规则为正右方为0°,按逆时针旋转,分别表示0°到360°。很显然此种显示规则较为生硬,其不会根据这些点具体的经度来把控正确的箭头方位。此种显示规则比较适合通用横轴墨卡托投影(UTM投影),因为此投影下,经线是正上正下,纬线是左右水平的,与显示规则一致。然而在现实应用中,作为极地的研究者最常用的投影为极地正射投影(Polar Stereographic Projection),也就是经线在窗口里不是显示为正上正下,纬线也不是左右水平,具体见本发明例图,其正北大约指向窗口的中心,而非正上。如果矢量场的角度属性不进行角度转换,而直接进行可视化的结果是错误的。然而目前没有这种角度转换的公式或方法,急需解决。

发明内容

[0003] 针对上述ArcGIS软件局限性,本发明的目的提供一种ArcGIS极地矢量场可视化前,矢量场角度数据在IDL软件里转换的方法。该方法可以将显示窗口正上为0°,按顺时针旋转,分别表示0°到360°,转换为平行于经线,向北为0°,按顺时针旋转,分别表示0°到360°,以正确表达其物理意义。
[0004] 本发明解决其技术问题所采用的技术方案是:一种面向ArcGIS极地矢量场可视化的角度转换方法,读取矢量场数据和经度数据,通过角度转换和校正,得到以指定方向为参考方向的矢量场角度,包括以下步骤:
[0005] 读取经度数据和矢量场V向数据、U向数据并进行插值处理,使各种数据的行、列数分别相同;
[0006] 根据矢量场V向数据和U向数据利用反正切函数得出矢量场角度WD,利用勾股定理计算出矢量场大小WS;
[0007] 对矢量场角度WD进行校正,并加入经度进行角度转换,再进行角度校正;
[0008] 将角度校正后的矢量场角度WD与矢量场大小WS储存为HDF格式的文件,用于通过地理信息软件显示。
[0009] 一种面向ArcGIS极地矢量场可视化的角度转换方法,读取矢量场数据和经度数据,通过角度转换和校正,得到以指定方向为参考方向的矢量场角度,包括以下步骤:
[0010] 读取经度数据和矢量场大小WS数据和矢量场角度WD数据并进行插值处理,使各种数据的行、列数分别相同;
[0011] 对矢量场角度WD进行角度制校正,并加入经度进行角度转换,再进行角度校正;
[0012] 将角度校正后的矢量场角度WD与矢量场大小WS储存为HDF格式的文件,用于通过地理信息软件显示。
[0013] 所述对矢量场角度WD进行校正具体为:
[0014] U>0的情况下,若V>0,则WD=WD,若V<0,则WD=WD+180,否则WD=90;
[0015] U<0的情况下,若V>0,则WD=WD+360,若V<0,则WD=WD+180,否则WD=270;
[0016] U=0的情况下,若V>0,则WD=0,若V<0,则WD=180,否则WD=0;
[0017] 其中,V为矢量场V向大小,U为矢量场U向大小,WD为矢量场角度,WS为矢量场大小。
[0018] 所述加入经度进行角度转换具体为:
[0019] WD=WD'-(lon-lon′)
[0020] lon为-180°到180°制的经度,lon′为数据框里朝窗口正下的经线经度,WD为矢量场角度,WD′为转换前角度表示的矢量场角度。
[0021] 所述角度校正具体为:
[0022] 若WD>360,则WD=WD-360;
[0023] 若WD<0,则WD=WD+360。
[0024] 其中,V为矢量场V向大小,U为矢量场U向大小,WD为矢量场角度,WS为矢量场大小。
[0025] 所述对矢量场角度WD进行角度制校正具体为:
[0026] 若WD<0,则WD=WD+360,否则,WD=WD。
[0027] 将HDF格式的WD和WS文件导入地理信息软件,进行地理配准,然后利用渔网点文件分别对WD和WS进行采样,生成WD和WS属性表;
[0028] 在渔网点文件里新建矢量场大小和矢量场角度两浮点型字段,然后将渔网点文件与WD和WS属性表关联起来,利用栅格计算器计算使得矢量场大小等于WS、矢量场角度等于WD;
[0029] 将点文件属性中的点符号设置为箭头,箭头大小为矢量场大小,箭头旋转角度为矢量场角度,实现矢量场的可视化。
[0030] 以IDL程序实现。
[0031] 本发明具有以下有益效果及优点:
[0032] 1.本发明方法面向ArcGIS极地矢量场可视化,可在可视化前对矢量场角度数据在IDL软件里进行转换,以正确表达矢量场的物理意义,弥补ArcGIS在此方面的不足。
[0033] 2.本方法简洁便于操作。
[0034] 3.本方法全面,对两种极地矢量源数据都适用。
[0035] 4.本方法对矢量场角度WD进行校正,能够根据象限正确赋予WD大小。

附图说明

[0036] 图1是ArcGIS角度显示规则示意图;
[0037] 图2a是矢量场中单个矢量示意图;
[0038] 图2b是矢量在矢量场中的表示方法示意图一;
[0039] 图2c是矢量在矢量场中的表示方法示意图二;
[0040] 图3是本发明的流程一的流程图;
[0041] 图4是本发明的流程二的流程图;
[0042] 图5是未经本发明处理而绘制的矢量场;
[0043] 图6是经本发明处理而绘制的矢量场;
[0044] 图7a是未经本发明处理而绘制的矢量场对比图一;
[0045] 图7b是经本发明处理而绘制的矢量场对比图二。

具体实施方式

[0046] 下面结合附图对本发明做进一步说明。
[0047] ArcGIS做极地矢量场可视化时加入了经度数据。在IDL程序控制界面里对矢量场角度大小考虑了经度,并做了角度转换。本发明过程以IDL程序实现。
[0048] 目前矢量场(空间的每一个点所赋予的“量”既有大小,又有方向,即矢量,整个空间充满了这样的矢量,这样的空间就是矢量场)源数据以两种形式存在,一种形式为以V向数据和U向数据存储,一种形式为以矢量场大小WS和矢量场角度WD存储,如图2a~2c所示。
[0049] 而ArcGIS软件(地理信息分析与应用的软件)出图只能识别WS和WD形式,因此如果用户的数据为V向数据和U向数据形式,则需要在IDL程序运行界面里先将V向数据和U向数据转为WS和WD,然后对WD进行角度转换,最后将处理好的数据写成HDF格式进行储存,以便在ArcGIS里出图,具体执行流程为流程一。流程一详解:首先在IDL软件里通过程序读入经度数据和矢量场V向数据和U向数据,然后读入的这些数据采用最近邻域法进行插值处理,使它们的行列数一致,便于后面计算;矢量场V向数据和U向数据利用公式一反正切函数计算出矢量场角度大小WD,利用公式二勾股定理计算出矢量场大小WS;由公式一直接计算的WD是不准确的,因为反正切函数在第一象限与第三象限是有混淆的,第二象限与第四象限是有混淆的,反正切函数会把正值全部分配在第一象限,把负值分配在第二象限,导致第三象限和第四象限的值为空,显然是错误的。因此需要校正,校正方法(规则一)为先由V向数据和U向数据的正负判断角度位于第几象限,然后将计算的角度分配在此象限里,以计算出正确的WD。为了使矢量遵循地理的东西南北,而不是窗口的上北下南左西右东,WD利用公式四加入经度,进行了角度转换。转换原理是地理的东西南北与窗口的上北下南左西右东间存在一种关系,这种关系就是公式四所表达的关系。此时的WD中的值,有些值小于0,有些值大于360,为了减少软件报错,将WD按照规则二校正到0°到360°,最后将WS与处理好的WD写成HDF格式的文件便于后期再ArcGIS里可视化。具体流程如图3所示。
[0050] 如果用户的数据为WS和WD形式,则需执行流程二进行角度转换。如图4所示。流程二详解:首先在IDL软件里通过程序读入经度数据和矢量场大小WS数据和角度WD数据,然后读入的这些数据进行插值处理,使它们的行列数一致,便于后面计算;原始WD大多是-180°到180°值,为减少软件报错,按照规则三将WD校正到0°到360°制。为了使矢量遵循地理的东西南北,而不是窗口的上北下南左西右东,WD利用公式四加入经度,进行了角度转换。转换原理是地理的东西南北与窗口的上北下南左西右东间存在一种关系,这种关系就是公式四所表达的关系。此时的WD中的值,有些值小于0,有些值大于360,为了减少软件报错,将WD按照规则二校正到0°到360°,最后将WS与处理好的WD写成HDF格式的文件便于后期再ArcGIS里可视化。
[0051] 以下为在ArcGIS里可视化过程,将写出的HDF文件通过ArcGIS现有的功能即可得到可视化的矢量场。具体步骤为,将整理好的HDF文件导入ArcGIS,首先进行地理配准,然后在工具箱Data Management Tools>Feature Class>Create Fishnet里生成渔网(包括点文件和线文件),利用点文件在工具箱Spatial Analyst Tools>Extraction>Sample里分别对WD和WS进行采样,生成WD和WS属性表。在渔网点文件里新建矢量场大小和矢量场角度两浮点型字段,然后将渔网点文件与事先生成的WD和WS属性表关联起来,利用栅格计算器进行计算,使得矢量场大小等于WS,矢量场角度等于WD。打开点文件属性,将点符号设置为箭头,箭头大小为矢量场大小,箭头旋转角度为矢量场角度,即可完成矢量场的可视化。未经本发明处理而绘制的矢量场如图5,其显示角度的原则为正上为0°,按顺时针依次为0°到360°,很显然与实际不符,实际为平行于经线向北为0°,按顺时针依次为0°到360°。而本示例研究区为北极及周边区域,其正北为经度的交线处,大致在区域的中心,因此未经本发明处理而绘制的矢量场是错误的。经本发明处理绘制的矢量场如图6,加入了经度,进行了角度转换使之遵循平行于经线向北为0°,按顺时针依次为0°到360°,从而能够正确表达矢量场的大小和角度。
[0052] 为了更具体的显示本发明的处理结果,整理了对比图,如图7a~7b所示。左侧为未经本发明处理而绘制的矢量场,右侧为经本发明处理而绘制的矢量场。图中红框内的矢量的实际角度为309.29°,很显然箭头方向为地理的北北西,而未经本发明处理的却指向了地理的南南西。
[0053] 公式一:
[0054] WD为矢量场角度(弧度表示),atan()为反正切函数,U为矢量场U向(纬线方向)大小,V为矢量场V向(经线方向)大小。
[0055] 公式二:
[0056] WS矢量场大小
[0057] 公式三:
[0058] WD′为矢量场角度(角度表示)
[0059] 公式四:WD=WD'-(lon-lon′)
[0060] lon为经度(-180°到180°制),lon′为数据框方向朝窗口正下经线的经度(-180°到180°制),例如本发明自带的例子中,朝窗口正下的经线为西经45°,赋值为-45;WD为经过角度转换后的矢量场角度(角度表示,0°到360°制)。
[0061] 规则一:
[0062] U>0的情况下,若V>0,则WD=WD,若V<0,则WD=WD+180,否则WD=90。
[0063] U<0的情况下,若V>0,则WD=WD+360,若V<0,则WD=WD+180,否则WD=270。
[0064] U=0的情况下,若V>0,则WD=0,若V<0,则WD=180,否则WD=0。
[0065] 规则注释:V为矢量场V向(经线方向)大小,U为矢量场U向(纬线方向)大小,WD为矢量场角度大小,WS为矢量场大小。
[0066] 规则二:
[0067] 若WD>360,则WD=WD-360;若WD<0,则WD=WD+360。
[0068] 规则注释:V为矢量场V向(经线方向)大小,U为矢量场U向(纬线方向)大小,WD为矢量场角度大小,WS为矢量场大小。
[0069] 规则三:
[0070] 若WD<0,则WD=WD+360,否则,WD=WD。