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

基于開(kāi)源技術(shù)的地圖應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)
——以天地圖·合肥醫(yī)療衛(wèi)生為例

2022-09-02 02:20:50胡正星
城市勘測(cè) 2022年4期
關(guān)鍵詞:數(shù)據(jù)庫(kù)功能服務(wù)

胡正星

(合肥市測(cè)繪設(shè)計(jì)研究院,安徽 合肥 230061)

1 引 言

按照安徽省地理信息公共服務(wù)平臺(tái)(天地圖)市級(jí)節(jié)點(diǎn)2020年綜合技術(shù)評(píng)估要求,升級(jí)平臺(tái)的統(tǒng)一門戶建設(shè)服務(wù)能力,天地圖·合肥需要新增醫(yī)療衛(wèi)生作為示范應(yīng)用。本文探討基于開(kāi)源GIS技術(shù)棧構(gòu)建地理信息服務(wù)應(yīng)用平臺(tái),該方式兼?zhèn)潇`活、開(kāi)放的優(yōu)點(diǎn)。

本文詳細(xì)闡述如何使用GeoServer、OpenLayers、QGIS、PostgreSQL等開(kāi)源GIS軟件快速構(gòu)建地理信息服務(wù),實(shí)現(xiàn)天地圖·合肥醫(yī)療衛(wèi)生示范應(yīng)用。

2 開(kāi)源GIS框架

2.1 GeoServer

GeoServer是OpenGIS Web服務(wù)器規(guī)范的J2EE實(shí)現(xiàn),利用GeoServer可以方便地發(fā)布地圖數(shù)據(jù),允許用戶對(duì)特征數(shù)據(jù)進(jìn)行更新、刪除、插入操作,通過(guò)GeoServer可以比較容易地在用戶之間迅速共享空間地理信息。GeoServer是社區(qū)開(kāi)源項(xiàng)目,可以直接通過(guò)社區(qū)網(wǎng)站下載相關(guān)資料。

GeoServer支持OGC標(biāo)準(zhǔn)規(guī)范的系列服務(wù),支持PostgreSQL、MySQL等數(shù)據(jù)庫(kù)以及ArcSDE、Shapefile等中間件和文件資源,能夠?qū)⒕W(wǎng)絡(luò)地圖輸出為JPEG、PNG、KML等多種圖片和數(shù)據(jù)格式,可以運(yùn)行在任何基于J2EE/Servlet的容器之上,支持多種客戶端框架。

2.2 OpenLayers

OpenLayers是一個(gè)專為WebGIS客戶端開(kāi)發(fā)提供的前端類庫(kù),用于訪問(wèn)以標(biāo)準(zhǔn)格式發(fā)布的地圖數(shù)據(jù),實(shí)現(xiàn)訪問(wèn)空間數(shù)據(jù)的方法都符合行業(yè)標(biāo)準(zhǔn)。

OpenLayers是一個(gè)開(kāi)源項(xiàng)目,其目的是為互聯(lián)網(wǎng)客戶端提供強(qiáng)大的地圖展示功能,包括地圖數(shù)據(jù)顯示與相關(guān)操作,并具有靈活的擴(kuò)展機(jī)制。目前OpenLayers封裝了部分公共地圖數(shù)據(jù),如OpenSteetMap、Bing地圖的數(shù)據(jù)源等。

2.3 QGIS

QGIS是一個(gè)跨平臺(tái)的桌面端開(kāi)源GIS軟件,支持?jǐn)?shù)據(jù)的可視化、管理、編輯、分析等功能。通過(guò)QGIS進(jìn)行圖層的樣式配置,將圖層效果導(dǎo)出為符合OGC標(biāo)準(zhǔn)的SLD樣式文件,在Geoserver中導(dǎo)入SLD文件,完成地理空間數(shù)據(jù)發(fā)布后的地圖渲染效果。QIS也支持向PostgreSQL中導(dǎo)入SHP數(shù)據(jù)。

2.4 PostgreSQL和PostGIS

PostgreSQL是一個(gè)強(qiáng)大的、開(kāi)源的對(duì)象-關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。PostGIS則是PostgreSQL的一個(gè)擴(kuò)展插件,目的是使PostgreSQL支持空間數(shù)據(jù)的存儲(chǔ)和使用。PostGIS提供了上百個(gè)空間運(yùn)算的SQL方法,可用于空間數(shù)據(jù)的關(guān)系運(yùn)算、處理、編輯等功能。

3 系統(tǒng)設(shè)計(jì)

3.1 設(shè)計(jì)思路與目標(biāo)

天地圖·合肥醫(yī)療衛(wèi)生應(yīng)用系統(tǒng)建設(shè)目標(biāo)包括以下幾方面:①是圍繞醫(yī)療衛(wèi)生信息可瀏覽、可定位、可查詢的基本工作目標(biāo),借助開(kāi)源GIS,應(yīng)用“天地圖”地理信息服務(wù)和功能,構(gòu)建覆蓋全市范圍醫(yī)療衛(wèi)生信息管理新模式;②是梳理和處理全市各區(qū)域的醫(yī)院、社區(qū)診所、急診點(diǎn)、藥店、醫(yī)療器械點(diǎn)等數(shù)據(jù),構(gòu)建統(tǒng)一的醫(yī)療衛(wèi)生信息資源數(shù)據(jù)庫(kù)。

3.2 系統(tǒng)體系架構(gòu)

天地圖·合肥醫(yī)療衛(wèi)生應(yīng)用的整體架構(gòu)如圖1所示。應(yīng)用以公共地圖數(shù)據(jù)服務(wù)、醫(yī)療衛(wèi)生相關(guān)數(shù)據(jù)為基礎(chǔ),客戶端使用OpenLayers框架,后臺(tái)使用.NET框架,從而構(gòu)建一個(gè)涵蓋地圖顯示與操作、醫(yī)療衛(wèi)生查詢展示等功能的WebGIS系統(tǒng)。

圖1 醫(yī)療衛(wèi)生應(yīng)用的整體架構(gòu)

3.3 系統(tǒng)功能設(shè)計(jì)

根據(jù)設(shè)計(jì)需求,醫(yī)療衛(wèi)生應(yīng)用采用B/S架構(gòu),以Visual Studio平臺(tái)作為開(kāi)發(fā)工具,采用.NET Core和JavaScript進(jìn)行編程,利用OpenLayers進(jìn)行Web開(kāi)發(fā)。應(yīng)用的功能主要包括:地圖管理、醫(yī)療衛(wèi)生信息瀏覽與查詢等,如圖2所示。

圖2 系統(tǒng)功能設(shè)計(jì)示意圖

4 多源異構(gòu)數(shù)據(jù)集成

天地圖·合肥醫(yī)療衛(wèi)生應(yīng)用涉及五類數(shù)據(jù),分別是:綜合醫(yī)院、社區(qū)診所、急診點(diǎn)、藥店和醫(yī)療器械。其中綜合醫(yī)院為面狀數(shù)據(jù),其他均為點(diǎn)狀數(shù)據(jù)。

4.1 空間數(shù)據(jù)庫(kù)整合

空間數(shù)據(jù)庫(kù)因其具備空間位置、拓?fù)潢P(guān)系等空間特性,其存儲(chǔ)方式一般采用文件型方式,但隨著關(guān)系型數(shù)據(jù)庫(kù)的不斷流行,且主流關(guān)系型數(shù)據(jù)庫(kù)均支持存儲(chǔ)空間數(shù)據(jù),開(kāi)源數(shù)據(jù)庫(kù)PostgreSQL及其空間擴(kuò)展PostGIS能夠提供對(duì)空間數(shù)據(jù)的完美支持。本文利QGIS客戶端,連接PostgreSQL數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)的空間檢查、整理與導(dǎo)入,如圖3所示。

圖3 PostgreSQL數(shù)據(jù)庫(kù)

4.2 數(shù)據(jù)發(fā)布

GeoServer采用登錄GeoServer,新建工作區(qū)和數(shù)據(jù)存儲(chǔ),發(fā)布圖層。服務(wù)發(fā)布成功后,可以在GeoServer中預(yù)覽圖層,如圖4所示。

圖4 GeoServer預(yù)覽服務(wù)

5 應(yīng)用搭建

醫(yī)療衛(wèi)生應(yīng)用主要功能包括地圖數(shù)據(jù)的顯示操作、醫(yī)療衛(wèi)生數(shù)據(jù)的查詢定位,地名地址周邊醫(yī)療衛(wèi)生點(diǎn)查詢等。本應(yīng)用使用JavaScript的客戶端方式,結(jié)合開(kāi)源框架.NET Core開(kāi)發(fā)模式實(shí)現(xiàn)。

5.1 加載天地圖數(shù)據(jù)

天地圖提供免費(fèi)開(kāi)放的基礎(chǔ)地圖服務(wù),為瓦片地圖形式,在應(yīng)用中作為底圖直接調(diào)用。本應(yīng)用加載天地圖的在線地圖作為底圖,默認(rèn)顯示天地圖的矢量底圖,通過(guò)底圖列表實(shí)現(xiàn)切換天地圖數(shù)據(jù)類型的功能,如圖5所示。

圖5 地圖加載

5.2 基礎(chǔ)功能

(1)縮放功能

底圖縮放都是由OpenLayers的View類中的setZoom方法實(shí)現(xiàn),縮放的級(jí)數(shù)由setZoom方法的參數(shù)設(shè)置。首先通過(guò)view.getZoom()獲得當(dāng)前地圖的級(jí)數(shù),然后調(diào)用setZoom方法進(jìn)行縮放,通過(guò)view.setZoom(zoom-1)可將地圖縮小一級(jí),通過(guò)view.setZoom(zoom+1)可將地圖放大一級(jí)。

(2)測(cè)量功能

測(cè)量功能包括距離測(cè)量與面積測(cè)量。距離測(cè)量是指計(jì)算鼠標(biāo)繪制的線條實(shí)際長(zhǎng)度,面積測(cè)量則是指計(jì)算鼠標(biāo)繪制范圍的實(shí)際面積大小。OpenLayers的測(cè)量功能沒(méi)有提供封裝好的測(cè)量控件,但提供了相應(yīng)接口,需要基于幾何對(duì)象的相應(yīng)接口并結(jié)合圖形繪制功能來(lái)實(shí)現(xiàn),如圖6所示。

圖6 量測(cè)

(3)搜索功能

搜索功能調(diào)用天地圖的地名搜索服務(wù)。天地圖的地名搜索服務(wù)API是一類簡(jiǎn)單的HTTP/HTTPS接口,包括普通搜索、視野內(nèi)搜索、周邊搜索、拉框搜索、普通建議詞搜索等。使用搜索服務(wù)前需要申請(qǐng)自己的Key。

圖7 地名搜索

5.3 聚合功能

聚合標(biāo)準(zhǔn)是指在不同地圖分辨率下,通過(guò)聚合方式展現(xiàn)標(biāo)注點(diǎn)信息的一種方式,其目的是為了減少當(dāng)前視窗下地圖添加標(biāo)注點(diǎn)的數(shù)量,提升客戶端渲染速度。如果在地圖上添加很多標(biāo)注點(diǎn),當(dāng)?shù)貓D縮放到小級(jí)別時(shí)則會(huì)出現(xiàn)標(biāo)注點(diǎn)重疊的現(xiàn)象,既不美觀,多點(diǎn)渲染的效率也會(huì)受到影響。此時(shí),可以根據(jù)地圖縮放級(jí)數(shù)的大小,將當(dāng)前視窗的標(biāo)注點(diǎn)聚合顯示。

OpenLayers提供了相應(yīng)的聚合標(biāo)注功能,以此方式來(lái)提升速度,增強(qiáng)用戶體驗(yàn)。OpenLayers封裝了聚合數(shù)據(jù)源(ol.source.Cluster),可通過(guò)此數(shù)據(jù)源實(shí)現(xiàn)矢量要素的聚合功能,如圖8、圖9所示。

圖8 藥店聚合分布

圖9 社區(qū)診所聚合分布

5.4 醫(yī)療衛(wèi)生服務(wù)查詢

醫(yī)療衛(wèi)生服務(wù)查詢調(diào)用GeoServer的WFS服務(wù),將結(jié)果展示在地圖上,點(diǎn)擊結(jié)果行,彈出相應(yīng)Popup標(biāo)注,如圖10、圖11所示。

圖10 醫(yī)療衛(wèi)生查詢面板

圖11 醫(yī)院查詢結(jié)果

5.5 周邊搜索功能

在用戶搜索地名地址時(shí),能查找到該地名地址周邊一定距離的醫(yī)療衛(wèi)生點(diǎn),如圖12所示。該功能用Post GIS計(jì)算空間距離。對(duì)應(yīng)的SQL語(yǔ)句為:

圖12 周邊搜索

select st_astext(geom) as geometry,* from table where ST_DWithin(st_astext(geom),('POINT(X,Y)'),radius/ (2 *PI * 6371004) * 360)=true ;

猜你喜歡
數(shù)據(jù)庫(kù)功能服務(wù)
也談詩(shī)的“功能”
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
關(guān)于非首都功能疏解的幾點(diǎn)思考
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 六月婷婷精品视频在线观看| 老司机午夜精品网站在线观看| 九九香蕉视频| 欧美国产成人在线| 国产幂在线无码精品| 国产久操视频| 亚洲综合婷婷激情| 美女视频黄频a免费高清不卡| 99资源在线| 激情无码视频在线看| 久久亚洲欧美综合| 成人在线观看不卡| 67194亚洲无码| 亚洲精品免费网站| 久久精品国产精品青草app| 91精品专区国产盗摄| 国产女人18毛片水真多1| 欧美亚洲一区二区三区在线| 久久美女精品| 青青草综合网| 欧美亚洲日韩不卡在线在线观看| 久久国产精品77777| 99精品这里只有精品高清视频| 2020精品极品国产色在线观看| 久视频免费精品6| 色婷婷在线影院| 久久精品无码一区二区日韩免费| www.精品国产| 国产原创第一页在线观看| 97在线视频免费观看| 91娇喘视频| 欧美亚洲一二三区| 免费无码又爽又刺激高| 国产精品福利导航| 国产日韩丝袜一二三区| 五月天丁香婷婷综合久久| 国产精品污视频| 欧美成人精品一区二区| 日韩色图在线观看| 中国黄色一级视频| 亚洲品质国产精品无码| 免费欧美一级| 综合社区亚洲熟妇p| 国产精品成人久久| 天堂在线亚洲| 青草视频在线观看国产| 国产无码高清视频不卡| 亚洲中文字幕久久精品无码一区| 国产va在线观看免费| 亚洲国产综合自在线另类| 亚洲人成网站日本片| 亚洲精品人成网线在线 | 真实国产乱子伦视频| 亚洲婷婷丁香| 福利国产在线| 中文字幕资源站| 日本在线欧美在线| 九九免费观看全部免费视频| 国产男人天堂| 高清色本在线www| 人人爱天天做夜夜爽| 91青青草视频在线观看的| 2020国产在线视精品在| 男人天堂伊人网| 天堂网亚洲系列亚洲系列| AV在线天堂进入| 国产欧美日韩精品第二区| 97人妻精品专区久久久久| 狠狠做深爱婷婷综合一区| 91综合色区亚洲熟妇p| 在线a视频免费观看| 青青草欧美| 国产亚洲精久久久久久久91| 9丨情侣偷在线精品国产| 青草国产在线视频| 国模沟沟一区二区三区 | 亚洲欧美自拍中文| 日韩一级二级三级| 国产乱人免费视频| 日韩国产无码一区| 免费在线a视频| 毛片网站在线看|