999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

GIS標注算法服務化應用研究

2019-09-24 06:03:39謝祎楊建欽岳翔呼和
電腦知識與技術 2019年21期

謝祎 楊建欽 岳翔 呼和

摘要:針對海洋石油GIS平臺的文字標準功能,本文研究了通過服務器實現復雜算法服務的技術與方法。著重闡述了純WEB前臺調用后臺算法服務的步驟,以及算法的COM封裝、C#服務程序和COM算法模塊通訊等關鍵技術,并提出了WEB前端結合后臺算法服務復用原有資產以及高效的優勢。最后通過項目實踐驗證了這種復雜算法后臺服務化方案在中海油GIS平臺中的應用效果及意義。

關鍵詞:海洋石油;GIS平臺;標注算法;COM技術;后臺服務化應用

中圖分類號:TP391? 文獻標識碼:A

文章編號:1009-3044(2019)21-0024-02

開放科學(資源服務)標識碼(OSID):

“數字海洋”已成為海洋石油行業信息化建設的發展方向和趨勢。在對海洋石油資源的開發中,GIS平臺作為一種界面友好直觀的可視化手段,在海洋石油多系統、多層次并錯綜復雜的信息資源管理、分析和應用中發揮著重要作用。企業原有的GIS服務平臺前端是基于C++編寫的ActiveX控件,只能應用于Windows系統,不能應用于移動設備,且安裝過程麻煩,限制了平臺的應用。最近幾年基于純Web語言開發的GIS前端平臺以其免安裝,可運行于各版本瀏覽器,跨操作系統跨平臺、移動設備友好等特點得到了廣泛的應用。GIS平臺也基于純WEB前端技術進行了平臺升級,相應也產了一些問題。首先,原有的算法大多用C++編寫,算法移植需要大量的人力工時;其次,前端基于Javascript的代碼在運行復雜算法時效率低、運算速度慢,達不到使用要求。怎樣復用已有的算法資產且兼顧平臺性能是GIS升級中必須要考慮的問題。

本文介紹了將原有的C++文字標注算法封裝成COM,并用后臺服務調用的方式,在升級后的GIS平臺快速實現文字標注算功能的實用方案,并詳細介紹了具體實現的步驟和其中的技術要點。

1 升級后GIS平臺文字標注功能的實現研究

1.1 建設目標及思路

目標是將原有GIS平臺的多邊形文字標注功能移植到升級后基于純Web語言的GIS平臺。思路是將原有C++文字標注算法封裝成后臺服務模塊,通過服務調用方式給各前臺客戶端提供算法服務。

1.2 關鍵技術及方法

1.2.1 升級后的基于服務GIS平臺技術架構

升級后的基于服務的GIS平臺架構如上圖所示,移動設備、PC等客戶端通過瀏覽器加載GIS前臺核心框架代碼,GIS核心框架再根據具體需求加載空間數據插件(負責后臺數據庫數據讀取)、空間分析算法插件(坐標計算等算法)以及用戶定制的其他功能插件,GIS核心框架負責用戶交互、地圖繪制、空間對象管理等核心功能。調用后臺算法則由算法插件發起,C#網站服務程序負責接收調用參數,并調用本地COM算法,最終將結果返回前端GIS平臺。

1.2.2 文字路徑標注算法的封裝

文字路徑算法是根據多邊形坐標,計算標注文字位置的算法。在GIS系統中經常應用于各種面類型空間對象(如盆地、油田、礦區、保護區)的名稱標注。為了方便C#服務端程序調用,首先要將原有的C++代碼算法封裝成COM組件,以下是封裝成COM過程中要注意的幾個技術要點:

1)建立COM工程時,項目的通用框架和引用要使用和C#服務程序相同的.Net Framework版本,否則會導致C#服務程序加載COM時失敗。

2)定義接口參數時,傳入的內存指針地址用LONG類型,傳出的內存指針地址用LONG *類型,目的是方便使用全局堆地址進行數據交互。

3)在接收數據和返回結果時,要在全局堆分配內存,保證數 據在托管和非托管代碼間? ? 傳遞時不會出錯,代碼示例如下:

1.2.3 服務器端C#程序和COM程序的通訊

在調用COM算法時,C#程序和C++ COM組件的通訊是其中難點,因為要涉及托管代碼和非托管代碼間的參數傳遞,以下是調用步驟和要注意的技術要點。

步驟 :

1)將生成的COM控件在服務器端進行注冊。

2)在C#服務程序工程的引用中添加注冊好的COM控件,添加引用后,會自動生成和C++ COM的非托管代碼和C#托管代碼進行交互的Interop類,通過這個類C#就可以調用COM的接口。

3)調用時首先new 一個第2步生成的Interop類,然后直接調用定義好的接口,如下所示:

技術要點:

1) 托管和非托管代碼的通訊最容易出錯的地方是內存指針的傳遞。在C#托管代碼向C++ COM非托管代碼傳遞內存指針時,注意要在全局堆分配內存。示例如下:

2)傳參前,要將托管代碼本地數據拷貝到分配好的全局堆內存中,示例如下:

3)對于返回結果,則要執行相反的步驟,要將全局堆的數據,考入托管代碼本地內存。示例如下:

4)在調用結束后,不要忘記釋放全局堆內存,示例如下:

1.2.4 前端GIS調用后臺算法服務

瀏覽器端通過http請求,將要計算文字標注路徑的多邊形坐標和其它參數以JSON格式發給服務器端,計算結束后,前端的GIS平臺代碼使用AJAX異步通訊技術接收服務器傳回的JSON格式的計算結果,并負責解析成文字路徑坐標,然后根據經緯度坐標將文字標準在地圖上。

2 應用效果

圖2顯示的是升級后的GIS平臺界面,底圖是海洋石油GIS遙感底圖,圖中藍色的面對象是加載的渤海海域的盆地,盆地的名稱則是調用后臺文字路徑標注算法服務實現的文字標注,在實際使用中速度快、無延遲,完全滿足了升級后GIS平臺需求。

3 應用意義

通過以上描述的方法步驟,我們在很短的時間內為升級后的GIS平臺實現了文字路徑標注功能。其重要意義在于以下兩點:

1)為企業傳統軟件升級改造提供了一種重復利用原有算法,節約成本,減少開發周期的切實可行的方案。

2)將WEB技術前端跨平臺、跨瀏覽器、移動端友好等優點和后臺C++程序計算速度快、效率高的優點很好地結合在一起。為將來給升級后GIS平臺添加其他所需的復雜算法,如投影算法、空間分析算法等功能提供了一套成熟的解決方案。

參考文獻:

[1] 張云飛,張欽,楊建欽,歐陽侃夫. 基于空間對象的公共GIS模型及其在海洋石油信息化中的應用[J].中國海上油氣,2009 21(3): 211-214.

[2] 黃際洲,崔曉源. 精通.NET互操作:P/Invoke、C++ Interop和 COM Interop[M].北京:人民郵電出版社,ISBN:978-7-20434-9 .

【通聯編輯:梁書】

主站蜘蛛池模板: 亚洲欧美在线综合一区二区三区| 亚洲国产日韩欧美在线| 毛片a级毛片免费观看免下载| 久久亚洲欧美综合| 国产sm重味一区二区三区| 欧美日韩在线成人| 制服丝袜亚洲| 呦女精品网站| 亚洲一区波多野结衣二区三区| 国产午夜一级毛片| A级毛片无码久久精品免费| 成人福利在线视频| 亚洲天堂日韩在线| 亚洲三级电影在线播放 | 岛国精品一区免费视频在线观看| 国产精品美人久久久久久AV| 亚洲一级色| 国产真实乱人视频| 最新亚洲av女人的天堂| 久热这里只有精品6| 精品久久久久久成人AV| 日韩不卡高清视频| 人妻一区二区三区无码精品一区| 国产精品无码制服丝袜| 免费无码一区二区| 国产农村妇女精品一二区| 91美女视频在线观看| 99视频在线免费看| 中国毛片网| 热思思久久免费视频| 日韩欧美网址| 亚洲成网站| 欧美精品在线看| 久久综合一个色综合网| 露脸国产精品自产在线播| 亚洲日韩精品伊甸| 亚洲最新在线| 99久久国产综合精品女同| 一级片免费网站| 日韩不卡免费视频| 91人妻日韩人妻无码专区精品| 国产成人福利在线视老湿机| 青青青国产免费线在| 国产成人超碰无码| 久久99国产乱子伦精品免| 亚洲精品色AV无码看| 在线观看91精品国产剧情免费| 久久综合成人| 99久久无色码中文字幕| 中文字幕亚洲电影| 国产成人一区免费观看| 日韩精品亚洲精品第一页| 久久婷婷六月| 欧美日本视频在线观看| 人妻无码中文字幕一区二区三区| 亚洲综合极品香蕉久久网| 国产欧美专区在线观看| 久久国产精品无码hdav| 国产美女91呻吟求| 亚洲Av综合日韩精品久久久| 特级aaaaaaaaa毛片免费视频 | 中文字幕久久波多野结衣| 精品国产乱码久久久久久一区二区 | 成人免费一级片| 日韩免费中文字幕| 亚洲欧美精品一中文字幕| 天堂成人在线视频| 亚洲av日韩综合一区尤物| 中文字幕第1页在线播| 亚洲热线99精品视频| 亚洲va视频| 538国产在线| 四虎永久免费在线| 亚洲综合专区| 日本人又色又爽的视频| 四虎永久免费在线| 亚洲网综合| 青青极品在线| 久久福利片| 在线不卡免费视频| 免费a级毛片18以上观看精品| 国产精品女在线观看|