亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SuperMap Object.NET的二三維一體化態(tài)勢標繪系統(tǒng)研究與應(yīng)用

        2014-04-29 01:12:38王洪昌劉禹鑫
        安徽農(nóng)業(yè)科學(xué) 2014年26期
        關(guān)鍵詞:森林防火

        王洪昌 劉禹鑫

        摘要 態(tài)勢標繪指在地圖背景上標繪各種具有空間特征的事、物的分布狀態(tài)或行動部署。給出了態(tài)勢標繪系統(tǒng)中實現(xiàn)各種標繪符號算法的關(guān)鍵技術(shù),提出并實現(xiàn)了基于SuperMap Object.NET的二三維一體化態(tài)勢標繪系統(tǒng)的集成應(yīng)用,并將成果成功應(yīng)用于黑龍江省森林防火電子沙盤指揮系統(tǒng)中,有效提高了系統(tǒng)態(tài)勢標繪的表現(xiàn)效果。

        關(guān)鍵詞 態(tài)勢標繪;SuperMap Object.NET;二三維一體化;森林防火

        中圖分類號 S126 文獻標識碼 A 文章編號 0517-6611(2014)26-09222-03

        Research and Application of Two or Three Dimensional Integration Posture Plotting System Based on SuperMap Object.NET

        WANG Hong-chang et al

        (Heilongjiang Geomatics Center of State Bureau of Surveying and Mapping, Harbin, Heilongjiang 150081)

        Abstract Posture plotting means to mark various spatial phenomena and objects on a map to describe some events or object distribution. This paper gives a key technology of algorithm to realize various plotting symbol in posture plotting system, propose and realize the application of two or three dimensional integration with posture plotting system based on SuperMap Object.NET, and the achievement is successful used for Heilongjiang Province forest-fire prevention electronic sand table command system, improves the performance effect of posture plotting in system.

        Key words Posture plotting; SuperMap Object.NET; Two or three dimensional integration; Forest-fire prevention

        態(tài)勢標繪系統(tǒng)是地理信息系統(tǒng)中應(yīng)具備的基本功能,是指在地圖背景上標繪各種具有空間特征的事、物的分布狀態(tài)或行動部署[1]。目前,在國內(nèi)外優(yōu)秀的GIS軟件系統(tǒng)中,如ArcGIS、SuperMap等,都對態(tài)勢標繪提供了基本的開發(fā)接口,但態(tài)勢標繪符號種類繁多,如商文俊等歸納起來一共分為5類:基本圖元、態(tài)勢區(qū)域、態(tài)勢箭頭、級別、象形符號[1]。傳統(tǒng)GIS軟件提供的開發(fā)接口不能完全滿足開發(fā)需要,在實現(xiàn)諸如態(tài)勢區(qū)域、態(tài)勢箭頭、引線標注等復(fù)雜標繪符號時還存在一定的困難,該研究給出了相關(guān)實現(xiàn)復(fù)雜標繪符號的具體實現(xiàn)算法。

        此外,二維GIS技術(shù)歷經(jīng)了一個比較長的發(fā)展過程,目前所能實現(xiàn)的功能都趨于穩(wěn)定和完善;而三維GIS技術(shù)已成為當前GIS技術(shù)發(fā)展的潮流,引領(lǐng)著新一代GIS技術(shù)和應(yīng)用的巨大變革。雖然當前三維GIS發(fā)展迅速,但也存在著許多的應(yīng)用缺陷,尤其在數(shù)據(jù)上,三維GIS與二維GIS存在數(shù)據(jù)不兼容的狀況,在應(yīng)用上往往是二維一套數(shù)據(jù)而三維一套數(shù)據(jù),造成了數(shù)據(jù)的嚴重冗余,加大了系統(tǒng)在開發(fā)、更新和維護上的難度[2-3]。SuperMap Object.NET提供的二三維一體化技術(shù)解決了GIS系統(tǒng)二維與三維中數(shù)據(jù)不兼容的問題。為此,筆者在SuperMap Object.NET基礎(chǔ)實現(xiàn)了態(tài)勢標繪系統(tǒng)的二三維數(shù)據(jù)一體化應(yīng)用。

        1 SuperMap Object.NET 介紹

        SuperMap Object.NET是超圖公司開發(fā)的GIS系列軟件中的基礎(chǔ)桌面開發(fā)平臺,目前最新的版本是SuperMap iObjects.NET 7C。 利用SuperMap Object.NET用戶能夠簡單快捷地在各種應(yīng)用系統(tǒng)中嵌入地圖應(yīng)用功能,大大增強了應(yīng)用系統(tǒng)的可操作度和空間分析能力[4]。

        SuperMap Object.NET提供的二三維一體化技術(shù)體系能保證二維與三維GIS技術(shù)的無縫融合,包括二維與三維在數(shù)據(jù)模型、數(shù)據(jù)存儲方案、數(shù)據(jù)管理、符號、可視化和分析功能的一體化,提供海量二維數(shù)據(jù)直接在三維場景中的高性能可視化、二維分析功能在三維場景中的直接操作和越來越豐富的三維分析功能。其突破了單純的三維只能查一查、看一看的瓶頸,推動三維GIS升華為面向業(yè)務(wù)管理和輔助決策的深度應(yīng)用。該研究采用SuperMap Object.NET提供的二三維一體化技術(shù)解決了態(tài)勢標繪系統(tǒng)中數(shù)據(jù)不統(tǒng)一的問題,實現(xiàn)態(tài)勢標繪系統(tǒng)中各標繪符號在二維系統(tǒng)和三維系統(tǒng)在數(shù)據(jù)存儲、符號、可視化的全面統(tǒng)一。

        2 態(tài)勢標繪系統(tǒng)符號具體實現(xiàn)

        態(tài)勢標繪目前在國內(nèi)外研究的技術(shù)比較多,如羅光成提出的軍標圖形運動航跡平滑處理方法研究[5],錢紅林等虛擬戰(zhàn)場環(huán)境三維可視化關(guān)鍵技術(shù)研究[6-7],張欣等提出的戰(zhàn)場態(tài)勢推演GIS動態(tài)表達技術(shù)與應(yīng)用[8]等。該研究主要給出態(tài)勢標繪系統(tǒng)復(fù)雜符號繪制的關(guān)鍵技術(shù)及算法。

        2.1 基本圖元符號

        基本圖元指簡單的點、線、面等要素對象。這些要素對象的繪制在大多數(shù)GIS平臺(如ArcGIS、SuperMap)中都有接口提供,所要指出的是在繪制完成后需要對要素對象進行符號化處理并且能對單個要素進行個性化符號定制,在GIS平臺中普通圖層一般是對整個圖層的所有要素對象進行符號化定制,不能對單個要素對象進行符號化定制,可以采用專題圖方式解決這個問題,例如ArcGIS、SuperMap等平臺提供的單值專題圖方式,或SuperMap平臺提供的自定義專題圖等。

        2.2 態(tài)勢區(qū)域

        態(tài)勢區(qū)域是指具有空間特征的事、物的分布狀態(tài)在地域上的發(fā)展趨勢。在態(tài)勢標繪系統(tǒng)中態(tài)勢區(qū)域往往是不規(guī)則的要素面對象,可以用簡單的閉合線或面對象代表態(tài)勢區(qū)域?qū)ο?,這些對象的繪制與符號化方式與基本圖元的繪制和符號化方式相同。該研究主要介紹匯聚區(qū)域的繪制方式,匯聚區(qū)域是指形如圖1所示的符號要素,它用來表示具有空間特征的事、物的集中分布狀態(tài)。該要素繪制的核心算法如下所示(采用C#語言):

        double distance=PlotHelper.distance(startPnt,endPnt);

        Point2D midPnt = PlotHelper.getMidPoint(startPnt,endPnt);

        Point2D pnt1 = PlotHelper.getThirdPoint(startPnt,midPnt,Math.PI * 1.5,distance / 4.5,PlotHelper.RIGHT_SIDE);

        Point2D pnt20 = PlotHelper.getThirdPoint(startPnt,endPnt,0,distance * 0.8,PlotHelper.LEFT_SIDE);

        Point2D pnt21 = PlotHelper.getThirdPoint(startPnt,pnt20,Math.PI * 1.5,distance / 5,PlotHelper.LEFT_SIDE);

        Point2D pnt30 = PlotHelper.getThirdPoint(startPnt,endPnt,0,distance * 0.45,PlotHelper.LEFT_SIDE);

        Point2D pnt3 = PlotHelper.getThirdPoint(startPnt,pnt30,Math.PI * 1.5,distance / 10,PlotHelper.LEFT_SIDE);

        Point2D pnt40 = PlotHelper.getThirdPoint(startPnt,endPnt,0,distance * 0.15,PlotHelper.LEFT_SIDE);

        Point2D pnt41 = PlotHelper.getThirdPoint(startPnt,pnt40,Math.PI * 1.5,distance / 7,PlotHelper.LEFT_SIDE);

        List controlPnts = new List();

        controlPnts.Add(startPnt);controlPnts.Add(pnt1);

        controlPnts.Add(endPnt);controlPnts.Add(pnt41);

        controlPnts.Add(pnt3);controlPnts.Add(pnt21);

        List place = PlotHelper.getAdvancedBezierPoints(controlPnts);

        2.3 態(tài)勢箭頭

        態(tài)勢箭頭用來表示目標對象的行進軌跡或移動路線。態(tài)勢箭頭從源地指向目的地,通常情況下不是直線,而是擁有不同弧度的曲線箭頭。因此態(tài)勢箭頭的繪制要滿足用戶的實時形變要求。按照形狀分類,態(tài)勢箭頭可分為簡單箭頭、燕尾箭頭、雙箭頭和多箭頭等(圖2)。這幾類箭頭繪制的核心算法基本相同,下面給出具體的核心算法。

        List points = new List();

        points.AddRange(inpoints);

        List arrowPoints = getArrowHeadPoints(points,headHeightFactor,headWidthFactor,neckHeightFactor,neckWidthFactor);

        Point2D neckLeftPoint = arrowPoints[0];

        Point2D neckRightPoint = arrowPoints[4];

        List bodyPoints = getArrowBodyPoints(points,neckLeftPoint,neckRightPoint,tailWidthFactor);

        List tailPoints = getArrowTailPoints(points,tailWidthFactor,hasSwallowTail,swallowTailFactor);

        Point2D tailLeftPoint = tailPoints[0];

        Point2D swallowTailPoint = tailPoints.Count == 3 ? tailPoints[1]: new

        Point2D((tailPoints[0].X+tailPoints[1].X)/2,(tailPoints[0].Y+tailPoints[1].Y)/2);

        Point2D tailRightPoint = tailPoints.Count == 3 ? tailPoints[2] : tailPoints[1];

        int n=bodyPoints.Count;

        List lPoints = bodyPoints.GetRange(0,n / 2);

        List rPoints = bodyPoints.GetRange(n / 2,n - n / 2);

        lPoints.Add(neckLeftPoint);rPoints.Add(neckRightPoint);

        lPoints.Reverse();lPoints.Add(tailLeftPoint);rPoints.Reverse();

        rPoints.Add(tailRightPoint);lPoints.Add(swallowTailPoint);

        rPoints.Add(swallowTailPoint);lPoints.Reverse();

        lPoints.AddRange(arrowPoints);lPoints.AddRange(rPoints);

        2.4 引線標注

        引線標注指形如圖3所示的符號要素。它主要用來對目標對象進行文字的輔助說明,如對作戰(zhàn)指揮的兵力部署、救援隊伍的詳細信息、標志性建筑物等信息進行說明等。引線標注繪制的具體算法如下所示。

        Point2Ds sopts = new Point2Ds();

        Point2D topLeftPoint = new Point2D(rect.Left,rect.Top);

        Point2D bottomRightPoint = new Point2D(rect.Right,rect.Bottom);

        Point2D topRightPoint = new Point2D(bottomRightPoint.X,topLeftPoint.Y);

        Point2D bottomLeftPoint = new Point2D(topLeftPoint.X,bottomRightPoint.Y);

        Point2D bottomCenterPoint = new Point2D();

        Point2D bottomHCenterPoint = new Point2D();

        Point2D corePoint = new Point2D();

        bottomCenterPoint.X =(bottomLeftPoint.X + bottomRightPoint.X)/ 2;

        bottomCenterPoint.Y =(bottomLeftPoint.Y + bottomRightPoint.Y)/ 2;

        bottomHCenterPoint.X =(bottomCenterPoint.X + bottomRightPoint.X)/ 2;

        bottomHCenterPoint.Y =(bottomCenterPoint.Y + bottomRightPoint.Y)/ 2;

        corePoint.X = bottomRightPoint.X;

        corePoint.Y = 2 * bottomRightPoint.Y - topRightPoint.Y;

        sopts.Add(bottomLeftPoint);sopts.Add(topLeftPoint);

        sopts.Add(topRightPoint);sopts.Add(bottomRightPoint);

        sopts.Add(bottomHCenterPoint);sopts.Add(corePoint);

        sopts.Add(bottomCenterPoint);

        GeoRegion region = new GeoRegion();

        region.AddPart(sopts);

        引線標注在繪制完成后,還需要能夠?qū)ζ渌诘奈恢眠M行拖拽,使其能精確地指向需要文字說明的空間對象,這需要實時根據(jù)圖4所示的錨點和中心點的相對位置關(guān)系重塑引線標注符號的空間形狀。圖4中錨點和中心點的空間位置關(guān)系按照平面坐標可分為8個位置區(qū)域,在每個不同的位置區(qū)域中,需要重新繪制引線標注對象。

        4 結(jié)語

        該研究基于SuperMap Object.NET平臺,通過其提供的二維一體化技術(shù),給出了態(tài)勢標繪中幾類標繪符號繪制的思路和具體算法,并將其成功應(yīng)用于黑龍江省森林防火電子沙盤指揮系統(tǒng)中,為火災(zāi)撲救提供了輔助決策支持。相信隨著科學(xué)技術(shù)的不斷推進和發(fā)展,態(tài)勢標繪系統(tǒng)也將不斷改進和升級,并且將應(yīng)用于更多的行業(yè)中。

        參考文獻

        [1] 商文俊.基于SuperMap Object的地圖標繪系統(tǒng)的設(shè)計實現(xiàn)[J].電腦知識與技術(shù),2008,10(28): 137-139.

        [2] 陳鵬,林鴻,張鵬程,等.基于SuperMap 6R技術(shù)的二三維一體化研究[J].測繪,2011,4(2):51-53.

        [3] 吳創(chuàng)奇.基于SuperMap的二三位一體化的WebGIS系統(tǒng)開發(fā)[J].科技創(chuàng)新導(dǎo)報,2011(21):23.

        [4] 施峰,王宏圖,代紀元,等.基于SuperMap的區(qū)縣礦產(chǎn)資源規(guī)劃數(shù)據(jù)庫系統(tǒng)研究[J].測繪與空間地理信息,2013(2):94-95.

        [5] 羅光成,楊日杰.軍標圖形運動航跡平滑處理方法研究[J].指揮控制與仿真,2011,33(4):87-89.

        [6]

        錢紅林,陳國華,周雯雯.虛擬戰(zhàn)場環(huán)境三維可視化關(guān)鍵技術(shù)研究[J].裝備 學(xué)院學(xué)報,2013,24(4):82-83.

        [7] 陶留鋒,邢廷炎,呂建軍.基于BlazeDS 推技術(shù)的即時協(xié)同標繪系統(tǒng)[J].計算機應(yīng)用與軟件,2013,30(9):104-105.

        [8] 張欣,張立立,曹國峰,等.戰(zhàn)場態(tài)勢推演GIS動態(tài)表達技術(shù)與應(yīng)用[J].地球信息科學(xué),2006,8(4):81-82.

        猜你喜歡
        森林防火
        林業(yè)資源保護和森林防火管理措施探討
        西海子管護站森林防火工作措施
        關(guān)于營林技術(shù)在森林防火中的應(yīng)用研究
        營林技術(shù)在環(huán)境中的應(yīng)用研究
        營林技術(shù)在森林防火中的應(yīng)用
        浙江天臺縣森林防火現(xiàn)狀及預(yù)防對策
        一区二区三区亚洲免费| 亚洲av永久无码精品一区二区 | 草草久久久无码国产专区| 午夜毛片午夜女人喷潮视频| 成年视频网站在线观看777| 亚洲国产综合精品中文| 91色老久久偷偷精品蜜臀懂色 | 亚洲日韩一区精品射精| 日韩av无码成人无码免费| 粉嫩高中生无码视频在线观看| 久久久99精品国产片| 在线观看国产视频午夜| 久久天天躁夜夜躁狠狠| 成人h视频在线观看| 亚洲另在线日韩综合色| 青青草免费在线视频导航| 久久国产亚洲精品一区二区三区| 亚洲第一狼人天堂网亚洲av| 一区二区三区在线 | 欧| 久久www色情成人免费观看| 国产精品午夜夜伦鲁鲁| 九月色婷婷免费| 人人爽人人爱| 97久久超碰国产精品2021| 亚洲熟妇av日韩熟妇av| 暴露的熟女好爽好爽好爽| 高跟丝袜一区二区三区| 亚洲免费成年女性毛视频| 91精品国产综合久久精品密臀| 18禁止看的免费污网站| 全部孕妇毛片丰满孕妇孕交| 98国产精品永久在线观看| 午夜婷婷国产麻豆精品| 免费人成视频网站网址| 少妇被又大又粗又爽毛片久久黑人 | 美腿丝袜美腿国产在线| 久久本道久久综合伊人| 放荡的少妇2欧美版| 亚洲色大成网站www永久一区 | 依依成人影视国产精品| 麻豆三级视频网站在线观看|