陽(yáng)利鋒,廖 珊
(1.創(chuàng)輝達(dá)設(shè)計(jì)股份有限公司,湖南 長(zhǎng)沙 410004;2.湖南省自然資源事務(wù)中心,湖南 長(zhǎng)沙 410004)
隨著移動(dòng)信息技術(shù)、GIS技術(shù)的快速發(fā)展,高速公路的空間屬性越來(lái)越受重視。里程樁號(hào)作為高速公路的基礎(chǔ)數(shù)據(jù),其與空間坐標(biāo)的轉(zhuǎn)換需求體現(xiàn)在高速公路管理的各個(gè)環(huán)節(jié),如道路巡查、數(shù)據(jù)展示、養(yǎng)護(hù)決策等,因此建立統(tǒng)一的GPS坐標(biāo)與高速公路里程樁號(hào)的轉(zhuǎn)換服務(wù)非常必要。
1.1.1 前期數(shù)據(jù)準(zhǔn)備
利用互聯(lián)網(wǎng)資源獲取高速公路shp數(shù)據(jù)、高速公路區(qū)域谷歌影像或天地圖影像(無(wú)偏移版)[2]。
1.1.2 路線數(shù)據(jù)繪制
1)以G25為例,需要繪制中分帶、上行第一車道、上行第二車道、上行第三車道、上行路肩、上行路側(cè)、下行第一車道、下行第二車道、下行第三車道、下行路肩和下行路側(cè)。
2)中分帶數(shù)據(jù)繪制。在ArcMap中打開高速公路shp數(shù)據(jù)和影像數(shù)據(jù),利用編輯工具將高速公路線與影像中的隔離帶中心線對(duì)齊,并添加如表1所示的路線數(shù)據(jù)字段。
表1 路線數(shù)據(jù)字段表
3)其他數(shù)據(jù)繪制。打開中分帶數(shù)據(jù),進(jìn)入編輯模式,選取中分帶數(shù)據(jù),在編輯工具欄中點(diǎn)擊“平行復(fù)制”操作窗口,設(shè)置距離為10 m,兩側(cè)模式,即可生成中分帶旁邊的兩條車道。依次類推,創(chuàng)建路線的所有車道,并將各路線的屬性補(bǔ)充完整,最終效果如圖1所示。
圖1 路線效果圖
1.1.3 路徑創(chuàng)建并校準(zhǔn)路徑
1)創(chuàng)建路徑。通過“線性參考工具”→“創(chuàng)建路徑”打開操作面板,“路徑標(biāo)識(shí)符”字段選取“Route-Name”,“測(cè)量源”字段選取“TWO_FIELDS”,“測(cè)量始于”字段選取“StartPile”,“測(cè)量終于”字段選取“EndPile”,點(diǎn)擊確定,路徑創(chuàng)建完成。此時(shí)利用“識(shí)別路徑位置”窗口可識(shí)別路線任意位置的樁號(hào)。
2)校準(zhǔn)數(shù)據(jù)采集。為了提高路徑測(cè)量的準(zhǔn)確性,需對(duì)實(shí)際公里樁處的GPS坐標(biāo)進(jìn)行采集,再利用該數(shù)據(jù)進(jìn)行路線校準(zhǔn)。采集方式很簡(jiǎn)單,采集人員在公里樁的標(biāo)識(shí)牌位置刻錄手機(jī)的GPS坐標(biāo)即可。采集的數(shù)據(jù)如表2所示。
表2 路線校準(zhǔn)數(shù)據(jù)示例表
3)路線校準(zhǔn)[3]。將采集的校準(zhǔn)數(shù)據(jù)轉(zhuǎn)化為點(diǎn)圖層,打開“線性參考工具”→“校準(zhǔn)路徑”操作面板,指定路徑要素、路徑標(biāo)識(shí)符字段、點(diǎn)要素、點(diǎn)標(biāo)識(shí)符字段、測(cè)量字段等參數(shù),即可完成路線校準(zhǔn)。
1.1.4 服務(wù)發(fā)布
創(chuàng)建MXD,添加高速公路路線數(shù)據(jù),根據(jù)車道對(duì)各車道進(jìn)行符號(hào)化,最后將數(shù)據(jù)發(fā)布至ArcGIS Server。
1)ArcGIS SOE開發(fā)環(huán)境為Win7(64)+VS 2013+ArcGIS10.2+EF5。
2)若VS2013新建項(xiàng)目時(shí)沒有ArcGIS模板,其解決辦法為:①安裝ArcGIS10.2,自動(dòng)生成C:Program-Files(x86)Microsoft Visual Studio 10.0Common7IDEItemTemplatesCSharpArcGIS文件夾和C:ProgramFiles(x86)Microsoft Visual Studio 10.0Common7IDEProject-TemplatesCSharpArcGIS文件夾;②將上述兩個(gè)Arc-GIS文件夾復(fù)制到VS2013安裝目錄下對(duì)應(yīng)的ItemTemplatesCSharp文件夾和ProjectTemplatesCSharp文件夾;③繼續(xù)返回VS2013安裝目錄,找到devenv.exe文件,右擊該文件選擇屬性→兼容性→以管理員身份運(yùn)行此程序;④以管理員身份運(yùn)行VS2013開發(fā)人員命令提示,在打開的命令窗口輸入devenv.exe/InstallVSTemplates后回車即可。
3)創(chuàng)建SOE項(xiàng)目。打開VS2013,點(diǎn)擊文件→新建項(xiàng)目→ArcGIS→ServerObject Extensions→REST Temple。
4)SOE調(diào)試。在Init()中添加“System.Diagnostics.Debugger.Launch();”,服務(wù)啟動(dòng)時(shí)選擇相應(yīng)的調(diào)試器,附加ArcSOC.exe進(jìn)程。
5)重新生成時(shí)若無(wú)法生成SOE文件,其解決辦法為:利用記事本打開項(xiàng)目csproj文件,找到“Import”節(jié)點(diǎn),將“Server.targets”修改為“Server.11.targets”,再重新生成,即可看到SOE文件。
6)EF數(shù)據(jù)庫(kù)連接。ArcGIS SOE只生成一個(gè)SOE文件,且ArcGIS Server Manager基于Tomcat發(fā)布,因此不存在Web.config文件。當(dāng)采用EF的DB First開發(fā)時(shí),會(huì)提示找不到數(shù)據(jù)庫(kù)連接字符串,其解決方法為:修改dbcontext的生成模板文件,將模板中的“base("name=<#=container.Name#>")”修改為“base("metadata=res://*/;provider=System.Data.SqlClient;pro
viderconnection string='Data Source=(local);Initial Catalog=database;User ID=username;Password=password")”。
7)SOE發(fā)布。SOE項(xiàng)目生成后會(huì)形成一個(gè)SOE文件,進(jìn)入ArcGIS Server管理器,進(jìn)入“站點(diǎn)”→“GIS服務(wù)器”→“擴(kuò)展”,點(diǎn)擊“添加擴(kuò)展”,選取SOE文件,確定即可完成發(fā)布。
1)根據(jù)公里樁號(hào)獲取空間點(diǎn)對(duì)象。該服務(wù)的輸入?yún)?shù)為路線ID(包括路線名稱、方向、車道名稱)和公里樁號(hào),返回經(jīng)緯度坐標(biāo)。
2)根據(jù)坐標(biāo)獲取路線和公里樁號(hào)。該服務(wù)的輸入?yún)?shù)為經(jīng)緯度坐標(biāo)和地圖分辨率,返回路線ID(包括路線名稱、方向、車道名稱)和公里樁號(hào)。
3)根據(jù)起止公里樁號(hào)獲取幾何線對(duì)象。該服務(wù)的輸入?yún)?shù)為路線ID(包括路線名稱、方向、車道名稱)、開始公里樁號(hào)和結(jié)束公里樁號(hào),返回路線的坐標(biāo)串。
1)路況評(píng)定展示。高速公路路況評(píng)定結(jié)果的可視化展示,調(diào)用“根據(jù)起止公里樁號(hào)獲取幾何線對(duì)象”服務(wù)將獲取的路況評(píng)定結(jié)果轉(zhuǎn)化為空間線對(duì)象,疊加至矢量/影像地圖上,并對(duì)性能指標(biāo)值進(jìn)行區(qū)間分類,再根據(jù)分類賦予空間對(duì)象不同的顏色,如PCI值為90以上的路段用綠色顯示、PCI值為70以下的路段用紅色顯示。
2)養(yǎng)護(hù)規(guī)劃展示。高速公路養(yǎng)護(hù)規(guī)劃結(jié)果的可視化展示,調(diào)用“根據(jù)起止公里樁號(hào)獲取幾何線對(duì)象”服務(wù)將獲取的養(yǎng)護(hù)規(guī)劃結(jié)果轉(zhuǎn)化為空間線對(duì)象,疊加至矢量/影像地圖上,并根據(jù)養(yǎng)護(hù)類型進(jìn)行分類,再根據(jù)分類賦予空間對(duì)象不同的顏色,如日常養(yǎng)護(hù)用綠色、功能性修復(fù)用橙色、結(jié)構(gòu)性修復(fù)用紅色。
3)路況病害展示。高速公路路況病害的可視化展示,調(diào)用“根據(jù)公里樁號(hào)獲取空間點(diǎn)對(duì)象”服務(wù)將獲取的病害信息轉(zhuǎn)化為空間點(diǎn)對(duì)象,疊加至矢量/影像地圖上,并根據(jù)病害類型賦予點(diǎn)對(duì)象不同的符號(hào)。
4)巡查上報(bào)。巡查人員巡查時(shí),通過移動(dòng)終端實(shí)時(shí)獲取定位數(shù)據(jù),并調(diào)取“根據(jù)坐標(biāo)獲取路線和公里樁號(hào)”服務(wù)將當(dāng)前位置轉(zhuǎn)換為路線的車道、樁號(hào)和行車方向。應(yīng)急處理人員通過路線信息可快速進(jìn)行事務(wù)處理。
本文從數(shù)據(jù)處理到服務(wù)實(shí)現(xiàn)詳細(xì)解讀了基于Arc-GIS SOE的GPS與公里樁號(hào)轉(zhuǎn)換服務(wù)的開發(fā)過程。該服務(wù)可廣泛應(yīng)用于高速公路管理的各個(gè)環(huán)節(jié),經(jīng)過實(shí)際應(yīng)用檢驗(yàn),轉(zhuǎn)換精度滿足業(yè)務(wù)需求。