SuperMap iClient3D for WebGL教程- 淹沒(méi)分析

淹沒(méi)分析是指根據(jù)指定的最大没炒、最小高程值及淹沒(méi)速度帜矾,動(dòng)態(tài)模擬某區(qū)域水位由最小高程漲到最大高程的淹沒(méi)過(guò)程豺型,是GIS分析中常用的功能,常用于模擬洪澇災(zāi)害過(guò)程饼齿。在SuperMap的三維產(chǎn)品中淹沒(méi)分析是通過(guò)分層設(shè)色的方式實(shí)現(xiàn)饲漾,以空間高度為強(qiáng)度值,在不同的高度設(shè)置不同的顏色缕溉,動(dòng)態(tài)修改覆蓋顏色的高度考传,實(shí)現(xiàn)淹沒(méi)過(guò)程動(dòng)態(tài)模擬。
下面來(lái)看實(shí)現(xiàn)過(guò)程证鸥。
一伙菊、設(shè)置顏色表

        var colorTable = new Cesium.ColorTable();
        function setColorTable(colorTable, key) {
            switch (key) {
                case "1":
                    colorTable.insert(71, new Cesium.Color(0, 39/255, 148/255));
                    colorTable.insert(0, new Cesium.Color(149/255, 232/255, 249/255));
                    break;
                case "2":
                    colorTable.insert(71, new Cesium.Color(162/255, 251/255, 194/255));
                    colorTable.insert(0, new Cesium.Color(1, 103/255, 103/255));
                    break;
                case "3":
                    colorTable.insert(71, new Cesium.Color(230/255, 198/255, 1));
                    colorTable.insert(0, new Cesium.Color(157/255, 0, 1));
                    break;
                case "4":
                    colorTable.insert(71, new Cesium.Color(210/255, 15/255, 15/255));
                    colorTable.insert(54, new Cesium.Color(221/255, 224/255, 7/255));
                    colorTable.insert(36, new Cesium.Color(20/255, 187/255, 18/255));
                    colorTable.insert(18, new Cesium.Color(0, 161/255, 1));
                    colorTable.insert(0, new Cesium.Color(9/255, 9/255, 212/255));
                    break;
                case "5":
                    colorTable.insert(71, new Cesium.Color(186/255, 1, 229/255));
                    colorTable.insert(0, new Cesium.Color(26/255, 185/255, 156/255));
                    break;
              default:
                break;
            }
        }

顏色表按照不同的空間高度,設(shè)置不同的顏色敌土,中間高度對(duì)應(yīng)顏色自動(dòng)插值,形成色帶运翼。
二返干、分層設(shè)色類HypsometricSetting

該類主要用于制定三維模型渲染顯示方案。分層設(shè)色是地圖可視化的常用方式血淌,它通過(guò)一定的顏色變化次序或色調(diào)深淺來(lái)表達(dá)和區(qū)別三維數(shù)據(jù)的不同屬性矩欠。
HypsometricSetting的主要屬性:
ColorTable : 獲取或設(shè)置顏色表。

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置顏色表
var colorTable = new Cesium.ColorTable();
colorTable.insert(900, new Cesium.Color(1, 0, 0));
colorTable.insert(600, new Cesium.Color(0, 0, 1));
hypsometricSetting.ColorTable= colorTable;
//獲取顏色表
var value= hypsometricSetting.ColorTable;

ColorTableMaxKey:獲取顏色表的最大key值悠夯。

var hypsometricSetting = new Cesium.HypsometricSetting();
var maxKey = hypsometricSetting.ColorTableMaxKey ;

ColorTableMinKey:獲取顏色表的最小key值癌淮。

var hypsometricSetting = new Cesium.HypsometricSetting();
var minKey = hypsometricSetting.ColorTableMinKey ;

CoverageArea:獲取或設(shè)置分層設(shè)色的區(qū)域

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置分層設(shè)色區(qū)域
var pos = new Array();
pos.push(110.0);pos.push(40.03);pos.push(110.0);
pos.push(110.0);pos.push(40.001);pos.push(110.0);
pos.push(110.103);pos.push(40.001);pos.push(110.0);
pos.push(110.103);pos.push(40.03);pos.push(110.0);
hypsometricSetting.CoverageArea= pos;
//獲取分層設(shè)色區(qū)域
var value= hypsometricSetting.CoverageArea;

DisplayMode : 獲取或設(shè)置顯示模式。

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置顯示模式
hypsometricSetting.DisplayMode= Cesium.HysometricSetting
Enum.DisplayMode.FACE;LineColor
//獲取顯示模式
var value= hypsometricSetting.DisplayMode;

emissionTexCoordUSpeed : 設(shè)置或獲取自發(fā)光紋理在U方向的運(yùn)動(dòng)速度沦补,整個(gè)紋理的U方向的紋理坐標(biāo)是從0.0到1.0乳蓄,速度單位是紋理坐標(biāo)的偏移量每秒

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置自發(fā)光紋理在U方向的運(yùn)動(dòng)速度
var emissionTexCoordSpeed = value;
hypsometricSetting.emissionTexCoordUSpeed = emissionTexCoordSpeed;
//獲取自發(fā)光紋理在U方向的運(yùn)動(dòng)速度
var value= hypsometricSetting.emissionTexCoordUSpeed ;

emissionTextureUrl : 設(shè)置或獲取自發(fā)光紋理

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置自發(fā)光紋理
var emissionTextureUrl = String;
hypsometricSetting.emissionTextureUrl = emissionTextureUrl;
//獲取自發(fā)光紋理
var value= hypsometricSetting.emissionTextureUrl ;

LineColor :獲取或設(shè)置等值線的顏色。

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置線的顏色
var color = new Cesium.Color(1, 0, 0);
hypsometricSetting.LineColor = color;
//獲取線的顏色
var value= hypsometricSetting.LineColor ;

LineInterval :獲取或設(shè)置等值線的間隔夕膀。

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置線的間隔
hypsometricSetting.LineInterval= 10;
//獲取線的間隔
var value= hypsometricSetting.LineInterval;

MaxVisibleValue : 獲取或設(shè)置最大可見值虚倒。

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置最大可見值
hypsometricSetting.MaxVisibleValue = 150;
//獲取最大可見值
var value= hypsometricSetting.MaxVisibleValue;

MinVisibleValue :獲取或設(shè)置最小可見值美侦。

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置最小可見值
hypsometricSetting.MinVisibleValue = 30;
//獲取最小可見值
var value= hypsometricSetting.MinVisibleValue;

noValueColor :設(shè)置或獲取無(wú)效顏色值,默認(rèn)白色
Opacity : 獲取或設(shè)置不透明度魂奥,取值范圍為0-1菠剩,其中0表示完全透明,1表示完全不透明耻煤。

var hypsometricSetting = new Cesium.HypsometricSetting();
//設(shè)置透明度
hypsometricSetting.Opacity = 0.5;
//獲取透明度
var value= hypsometricSetting.Opacity;

分層設(shè)色類支持s3mtileslayer和tin地形具壮,當(dāng)對(duì)s3mtileslayer設(shè)置時(shí),分層設(shè)色類的最大哈蝇、最小可見值為圖層的最大棺妓、最小強(qiáng)度值,當(dāng)對(duì)地形設(shè)置時(shí)买鸽,則為地形的高度值涧郊。
三、動(dòng)態(tài)修改最大可見值

setInterval(function(){
    hyp.MaxVisibleValue = currentHeight;
}, 100)

最后來(lái)看下整體效果


淹沒(méi)分析.gif
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末眼五,一起剝皮案震驚了整個(gè)濱河市妆艘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌看幼,老刑警劉巖批旺,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異诵姜,居然都是意外死亡汽煮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門棚唆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)暇赤,“玉大人,你說(shuō)我怎么就攤上這事宵凌⌒遥” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵瞎惫,是天一觀的道長(zhǎng)溜腐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)瓜喇,這世上最難降的妖魔是什么挺益? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮乘寒,結(jié)果婚禮上望众,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好黍檩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布叉袍。 她就那樣靜靜地躺著,像睡著了一般刽酱。 火紅的嫁衣襯著肌膚如雪喳逛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天棵里,我揣著相機(jī)與錄音润文,去河邊找鬼。 笑死殿怜,一個(gè)胖子當(dāng)著我的面吹牛典蝌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播头谜,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼骏掀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了柱告?” 一聲冷哼從身側(cè)響起截驮,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎际度,沒(méi)想到半個(gè)月后葵袭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乖菱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年坡锡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窒所。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鹉勒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吵取,到底是詐尸還是另有隱情禽额,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布海渊,位于F島的核電站,受9級(jí)特大地震影響哲鸳,放射性物質(zhì)發(fā)生泄漏臣疑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一徙菠、第九天 我趴在偏房一處隱蔽的房頂上張望讯沈。 院中可真熱鬧,春花似錦、人聲如沸缺狠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)挤茄。三九已至如叼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間穷劈,已是汗流浹背笼恰。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歇终,地道東北人社证。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像评凝,于是被迫代替她去往敵國(guó)和親追葡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 本文首發(fā)于個(gè)人博客:Lam's Blog - 【OpenGL-ES】二維紋理奕短,文章由MarkDown語(yǔ)法編寫宜肉,可能...
    格子林ll閱讀 3,758評(píng)論 0 9
  • HTML標(biāo)簽解釋大全 一、HTML標(biāo)記 標(biāo)簽:!DOCTYPE 說(shuō)明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,229評(píng)論 1 41
  • 1篡诽、概述 前面幾篇文章OpenGL ES 3.0(一)綜述 崖飘、OpenGL ES 3.0(二)GLSL與著色器 討...
    高丕基閱讀 2,998評(píng)論 0 7
  • 本周周末的時(shí)間幾乎全部用來(lái)上課,正好學(xué)習(xí)的內(nèi)容中包含信息管理和空間管理杈女,收納便是其中的一部分朱浴,于是本周的讀書臨時(shí)調(diào)...
    小熊的蜂蜜罐子閱讀 1,079評(píng)論 0 6
  • 今天中午爸爸不回家吃飯了,媽媽帶我去買飯达椰,好多人在等著翰蠢,老板說(shuō)五六分鐘就好,可是我們等了好大一會(huì)才買上啰劲,弟...
    王辰溪閱讀 238評(píng)論 0 0