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

基于TypeScript的WebGIS地圖接口庫設計與實現

2021-05-27 05:14:00楊益文
地理空間信息 2021年5期
關鍵詞:可視化功能

楊益文

(1.上海市測繪院,上海 200063)

隨著互聯網技術的快速發展,WebGIS新技術層出不窮,基于WebGIS應用構建系統已成為用戶首選。地理信息各軟件平臺廠商在優化軟件的同時,不斷迭代開發更新專有的WebGIS地圖開發接口庫,經過多年技術積累和新技術迭代發展,平臺地圖Web開發庫日趨龐大和復雜。互聯網地圖在互聯網技術變革下快速發展成熟壯大,具有地圖內容更新快、功能豐富、簡單易用等特點,受到許多用戶追捧。ArcGIS JS API是Esri公司推出的新一代WebGIS地圖開發接口庫[1],是完整的企業級WebGIS開發庫,其接口之豐富、數量之多、功能之強大,足以滿足企業級WebGIS應用開發的需求;但其核心本質是多年Web技術的累積,因此開發門檻高、學習成本高、入門難,遠不及當前日漸成熟的互聯網地圖簡單實用。

為了降低基于ArcGIS的WebGIS應用開發難度以及開發人員的入門門檻,本文采用主流TypeScript Web開發語言,遵循面向對象、面向模塊的開發理念[2],對ArcGIS JS API進行二次封裝,使封裝后的地圖接口具有高內聚、低耦合[3]、輕量、簡潔、易用等特性,同時能按需實現復雜業務定制。

1 設計思路

根據互聯網地圖的設計模式[4-8],本文基于ArcGIS JS API利用TypeScrpt封裝構建地圖接口核心庫,再圍繞核心庫按需、按功能、按業務擴展構建地圖插件庫,然后編譯混淆地圖接口核心庫和插件庫,最后通過NPM版本化管理分發交付用戶使用。

1)通過調研、分析、測試和使用高德、百度等互聯網地圖文檔、編程接口、開發示例和應用體驗,整體把握互聯網地圖設計的特點、思路和方向;結合企業級ArcGIS JS API架構特點,構建Smap地圖接口核心庫[9-10]。

2)Smap地圖接口核心庫以細粒度ArcGIS JS API為底層庫,緊密結合時空地理信息服務資源,按需組織服務和業務層,可接入地圖資源服務層權限管控系統,實現核心庫和資源層按需緊密定制和授權,從地圖接口庫層滿足服務層授權和內容定制需求。

3)圍繞地圖接口核心庫和用戶需求,構建擴展地圖接口插件庫;通過擴展地圖接口插件庫,實現Smap地圖功能接口無限擴展,以滿足用戶靈活多變的需求,同時可保持核心庫的簡潔、靈活和穩定。

2 關鍵技術

2.1 ArcGIS JS API

ArcGIS API for Javascript是Esri公司推出的基于開源Javascript Dojo工具包[11]開發的WebGIS地圖開發接口庫,可結合ArcGIS Enterprise與開源GIS平臺,搭建開發運行在瀏覽器中各專題、場景的專業二三維一體化WebGIS應用[12]。

2.2 TypeScript

TypeScript是由微軟開發的開源、跨平臺網絡編程語言[13],是Javascript的超集。其本質是向該語言添加了可選的靜態類型和基于類的面向對象編程,通過擴展Javascript的語法,使得現有的Javascript程序均可在TypeScript環境中運行。TypeScript也可為已存在的Javascript庫添加類型信息的頭文件,擴展其對于流行的庫支持。TypeScript必將是未來Web技術主流開發語言[14]。

2.3 Node Package Manager

Node Package Manager(NPM)是NodeJS包管理和分發工具。通過NPM管理機制實現基于Javascript包的編譯、混淆、打包、上傳和分發;基于NodeJS網絡應用可統一通過NPM分發管理機制實現包的下載、引用和調用[15]。

3 Smap地圖接口庫架構與工作流程

3.1 地圖接口庫架構

根據互聯網地圖設計模式,為保證地圖架構輕量、簡潔、易用,Smap地圖接口核心庫架構以TypeScript模塊為構件單元,構建Smap作為地圖接口庫核心輸出單元,并在Smap模塊中構建Map、Layers、Control、OverLayers等地圖內容功能部件。Map是地圖接口庫的核心對象,通過Map實例化實現地圖初始化、圖層加載渲染表達展示、地圖應用控件交互和地圖行為事件等內容。Layers是構成Map內容的核心層,地圖內容展示均通過該圖層來實現,也可支持圖層擴展開發,實現自定義和多平臺服務圖層定義接入。Control是Map對象的核心控件層,可按需定制、加載使用各種業務類型地圖控件。OverLayers是Map對象的核心覆蓋層,可為Map對象定制Mark、Polyline、Polygon等多種類型的覆蓋層,并可按需擴展實現。

Smap地圖接口插件庫同樣參照互聯網地圖設計模式,獨立于地圖接口核心庫設計,但可圍繞地圖接口核心庫按功能進行定制擴展開發,在使用過程中按需加載即可。 本文設計了數據可視化展示庫和通用功能擴展組件庫兩組Smap擴展插件庫,其中數據可視化展示庫可實現地理數據可視化定制表達;通用功能擴展組件庫中集成了與核心庫獨立的通用功能,包括Trajectory軌跡路徑回放、MigrationMap遷移圖、MapRoam漫游等通用接口模塊,后期可按需、按業務進行再擴展,豐富了基于地圖接口核心庫的擴展功能接口集。

3.2 工作流程

地圖接口核心庫的工作流程也是地圖全生命周期過程,用戶通過NPM分發下載安裝核心庫,在網絡開發應用中引用Smap地圖接口模塊包,通過設置屬性控制參數初始化Map對象。Map對象首先需通過認證標識到地圖服務資源認證服務器,并獲取資源認證密鑰;再根據授權控制授權賬號信息,獲取圖層和地圖控件定制授權詳細配置信息;然后根據獲取的圖層和地圖控件配置詳細信息,初始化地圖圖層和地圖UI控件層,實現地圖內容初始化和地圖事件暴露;最后應用層可根據Map對象,進行地圖內容控制和業務功能定制。工作流程如圖1所示。

圖1 工作流程圖

4 地圖接口模塊

地圖接口庫包括Smap地圖接口核心庫、基于核心庫的Smap數據可視化展示庫和Smap通用功能擴展組件庫。地圖接口核心庫是地圖構建的基礎,集成了地圖內容、控件、操作和事件,是構建地圖應用最基本的依賴;數據可視化展示庫是面向地圖數據的可視化展示應用庫,是地圖展示內容最好的表達;通用功能擴展組件庫是通用功能的集合。這些模塊相互組合使用,可構建面向空間的地理數據地圖應用,并可與業務系統相集成,滿足企業級用戶基于WebGIS的地理空間大數據展示、分析、可視化的應用需求,提升了業務系統應用價值。

4.1 Smap地圖接口核心庫

地圖接口核心庫完整構建了地圖全生命周期管理,包括地圖初始化管理、地圖內容可視化定制展示管理、地圖控件功能定制管理、地圖事件機制管理和地圖行為功能管理。通過簡潔代碼構建基于Smap的地圖,其中tokenconfigname用于后臺交換資源密鑰,userName和menuName相結合用以獲取定制授權地圖配置信息,viewMode用于指定地圖二三維模式,Center用于設置地圖中心點, zoom用于獲取縮放層級,zooms用于控制地圖縮放級別,pitch用于設置三維地圖視角傾斜角度,mapStyle用于指定地圖主題、設置showBuildingBlock建筑物模型。這些參數可按需組合使用,基于核心庫達到互聯網地圖接口簡潔、易用、輕量的效果,并呈現出企業級地理信息應用。核心庫使用效果如圖2所示。部分代碼為:

4.2 Smap數據可視化展示庫

數據可視化展示庫基于地圖接口核心庫構建,可按業務需要根據地圖地理信息服務資源進行數據可視化表達和渲染;可通過靈活的配置,快速制作散點、軌跡、區面、熱力圖等與地理位置相關的可視化作品。例如,基于邊界數據,利用數據可視化展示庫setmaskboundary接口構建邊界光圈可視化效果,如圖3所示。

圖2 Smap地圖接口核心庫示例

圖3 Smap數據可視化展示庫示例

4.3 Smap通用功能擴展組件庫

Smap通用功能擴展組件庫也是基于地圖接口核心庫構建的,通過集成業務通用需求地圖功能構建擴展集。目前該庫集成了地圖軌跡播放、地圖漫游、遷徙圖等通用功能接口組件,用戶可按需配合地圖接口核心庫使用。例如,通過地圖軌跡播放Trajectory.play接口實現熱氣球軌跡播放展示,效果如圖4所示。

圖4 Smap通用功能擴展組件庫示例

5 結 語

參照互聯網地圖的設計思維和模式,本文設計了基于TypeScript、ArcGIS JS API和NPM技術的二三維一體化Smap地圖開發接口庫。該庫不僅具有互聯網地圖簡潔、輕量、易用等特點,而且具備擴展企業級地圖應用接口功能,可按需進行地圖功能定制擴展開發,解決了目前互聯網地圖功能不足、企業級地圖開發復雜等痛點,為WebGIS應用開發提供了靈活多變的選擇。

猜你喜歡
可視化功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
關于非首都功能疏解的幾點思考
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 日本91视频| 午夜免费小视频| 国产网站免费观看| 一级毛片免费高清视频| 欧美国产成人在线| 激情午夜婷婷| 99中文字幕亚洲一区二区| 欧美啪啪网| 麻豆精品久久久久久久99蜜桃| 天天综合网站| 亚洲日韩图片专区第1页| 日韩精品毛片| 超碰精品无码一区二区| 久久久久久久97| 欧美午夜视频| 51国产偷自视频区视频手机观看| 亚洲无线国产观看| 国产菊爆视频在线观看| 成人在线不卡视频| 午夜视频免费一区二区在线看| 人人澡人人爽欧美一区| 亚洲欧美成人| 国产精品成人一区二区| 一本大道在线一本久道| 国产精选自拍| 波多野一区| 亚洲国产成人久久77| 中文字幕1区2区| 精品无码国产一区二区三区AV| 国产成人精品高清在线| 秋霞午夜国产精品成人片| 2018日日摸夜夜添狠狠躁| 亚欧美国产综合| 五月六月伊人狠狠丁香网| 国产精品页| P尤物久久99国产综合精品| 亚洲二三区| 毛片免费在线视频| 激情综合婷婷丁香五月尤物| 91口爆吞精国产对白第三集| 中文天堂在线视频| 熟妇人妻无乱码中文字幕真矢织江| 成人福利在线观看| 毛片最新网址| 2020最新国产精品视频| 免费看的一级毛片| 亚洲欧美日本国产专区一区| 成人免费网站久久久| 久久综合色天堂av| 在线国产你懂的| 国产精品成| 欧美97色| 日韩高清无码免费| 91亚瑟视频| 久久毛片免费基地| 午夜人性色福利无码视频在线观看| 日韩成人高清无码| 亚洲日本韩在线观看| 亚洲国产精品不卡在线| 日本免费a视频| 国产午夜无码片在线观看网站| 亚洲免费三区| 久久久久青草大香线综合精品 | 国产午夜一级淫片| 欧美国产精品不卡在线观看| 精品五夜婷香蕉国产线看观看| 玩两个丰满老熟女久久网| 57pao国产成视频免费播放 | 国产乱人免费视频| 国产xx在线观看| 91精品国产自产在线观看| 国产麻豆精品久久一二三| 亚洲日产2021三区在线| 超清无码一区二区三区| 久久性妇女精品免费| 91精品网站| 成人av手机在线观看| 免费看的一级毛片| 欧美在线一级片| 久久精品娱乐亚洲领先| 国产波多野结衣中文在线播放| 国产一级精品毛片基地|