郭偉鵬,沈松雨
(1.廣州城市信息研究所有限公司,廣州 510665;2.公安部第三研究所,上海 200031)
本研究基于國家測繪地理信息相關技術標準和規范,依托自然資源部對坐標轉換工作要求,面向對空間坐標轉換有需求的各種企事業單位和個人,設計并研發出一款適用于常用坐標系互相轉換,大體量數據快速批量轉換,云模式部署的支持多共享賦能途徑的空間坐標轉換系統,為相關用戶提供穩定的服務支撐。云模式環境,通過彈性的云服務對系統自身服務進行調整,解決傳統在線服務系統中存在的問題[1]。
1.1.1 設計原則
考慮到空間坐標轉換需求的專業性、廣泛適用性特點,本研究在設計過程中主要遵循以下幾個設計原則。
(1)完備性原則。本研究設計時要充分捕獲坐標轉換工作中的實際需求,設計開發的系統應具備常用空間坐標系統之間轉換的基本能力,覆蓋系統主要使用場景。
(2)擴展性原則。在不缺少必要功能的情況下,空間坐標轉換系統應具備良好的可擴展設計,比如方便新的坐標轉換類型或轉換算法的添加,而不侵入系統的總體結構和布局,以便于快速適應坐標轉換方法的擴展。
(3)統一性原則。系統中的各個部件需要遵循相關標準、規范和要求,并且在不同使用場景下具備相對的統一性,如參數配置入口、坐標轉換類型選擇等。
(4)易用性原則。系統的功能設計和用戶交互界面設計應充分顧及用戶的工作場景和操作習慣,幫助用戶快速高效地完成坐標轉換工作。
(5)可靠性原則。根據地理數據的特點,系統需要滿足大數據轉換和多數據批量轉換的需求[2]。系統需要具有較高的可靠性,保障轉換的成功率,避免用戶做重復無效操作,從而使用戶提高工作效率。
(6)高效性原則。隨著移動互聯網、智慧城市、物聯網和云計算等前沿科學技術的快速發展[3],日常辦公對效率的要求越來越高,系統需要具備大體量數據批量坐標轉換能力。
1.1.2 邏輯架構設計
系統邏輯架構如圖1所示。

圖1 邏輯架構
系統基于自然資源部相關坐標轉換標準規范和坐標轉換四參數、七參數等轉換模型設計開發,兼容阿里云、騰訊云、華為云和天翼云等市場主流公有云平臺。
IaaS是基礎設施即服務(Infrastructure as a Service,IaaS),該層主要依托云平臺的服務器、網絡、負載均衡和容器等資源,作為系統的基礎支撐部分。
PaaS是平臺即服務(Platform as a Service,PaaS),該層主要是依托云平臺的存儲組件,包括系統數據庫Mysql,緩存數據庫Redis,文件數據庫Mongodb或對象存儲,實時計算引擎Spark2。
DaaS是數據即服務(Data as a Service,DaaS),該層通過對數據、服務等資源的集中化管理,形成數據服務的方式注冊到空間坐標轉換服務共享網關上,統一對外提供服務。
SaaS是軟件即服務(Software as a Service,SaaS),該層是將坐標轉換系統作為軟件工具直接提供給用戶使用,不需要用戶在本地安裝軟件,便于用戶隨時隨地使用本系統。
1.1.3 功能結構設計
系統功能結構如圖2所示。

圖2 功能結構
系統包括登錄首頁、系統介紹、開發幫助、系統管理和坐標轉換5個模塊。其中登錄首頁主要完成新用戶注冊、用戶登錄驗證;系統介紹則介紹了系統特點、坐標系的基本知識和轉換模型介紹;開發幫助主要面向二次開發用戶,用戶可基于系統提供的JS API和服務API完成自己的坐標轉換系統平臺的開發,同時也提供開發指南類文檔下載和問題反饋入口;系統管理主要負責用戶管理、權限管理、角色管理和操作日志的記錄;坐標轉換模塊是系統的核心模塊,主要包括參數配置、坐標轉換、批量坐標轉換、轉換成果Excel或逗號分隔值文件格式(Comma-Separated Values,CSV)導出功能。
1.2.1 轉換模型
區域坐標系統轉換有多種數學模型[4],不同坐標系成果之間的轉換模型一般有二維和三維2種轉換模式[5],空間坐標轉換模型是本系統算法實現的核心功能。本系統主要以2017年國家測繪地理信息局組織制定并批準發布的測繪地理信息行業標準CH/T 2014—2016《大地測量控制點坐標轉換技術規范》為基線,并參考其中的轉換模型公式對二維七參數大地坐標轉換模型、二維四參數平面坐標轉換模型、多項式擬合模型、三維四參數空間直角坐標轉換模型、三維七參數大地坐標轉換模型、布爾莎模型和莫洛金斯基模型進行建立。其中,四參數模型是指采用2個平移參數、1個旋轉參數和1個尺度參數描述2個平面坐標系之間的線性變換[6]。
CGCS2000是本系統坐標轉換的核心,其模型參數如下。
原點:包括海洋和大氣的整個地球的質量中心。
X軸:由原點指向格林尼治參考子午線與赤道面,即歷元2 000.0的交點。
Z軸:由原點指向歷元2 000.0的地球參考極的方向。
Y軸:與X軸、Z軸構成右手正交坐標系的方向。
其詳細橢球體如圖3所示。

圖3 參考橢球體
橢球體參數如下。
α=6 378 137 m,
式中:α為長半軸,m。
f=1/298.257 222 101,
式中:f為扁率。
GM=3.986 004 418×1 014 m3/s2,
式中:GM為地心引力常數。
ω=7.292 115×10-5rad/s,
式中:ω為地球自轉角速度。
需要注意的是,互聯網地圖的坐標通常以經緯度形式顯示,不同互聯網地圖采用的參考橢球不同[7]。
1.2.2 批量坐標轉換
批量坐標轉換采用前端應用交互調用批量坐標轉換服務,批量坐標轉換服務驅動腳本提交Spark2任務,并將任務結果輸入到文件數據庫,將文件唯一標識id返回給前端應用的技術路線,其詳細數據及操作流程如圖4所示。
圖4中,為避免非登錄用戶不合理地占用計算資源,首先批量操作需是合法用戶方可使用,因此用戶的第一個操作是登錄操作。登錄成功后用戶可將待轉換坐標的文檔上傳,并根據用戶操作界面執行批量轉換操作。大體量數據的批量轉換操作是采用Spark2實時計算方式實現,因此內部先要提交Spark任務,并將文件加載后進行實時計算;計算成功后將成果文件上傳到文件服務器,并將文件id反饋給用戶。用戶看到轉換完成后,可對成果文件進行下載。本過程將大體量坐標轉換工作分階段處理,并通過實時計算方式實現,提高了轉換效率和用戶體驗。

圖4 批量流程坐標轉換核心流程
1.3.1 開發環境
本系統的開發環境見表1。

表1 開發環境
1.3.2 運行環境
本系統的運行環境見表2(以部署實現的某公有云測試環境為例)。

表2 運行環境
1.3.3 運行效果
在表1開發環境下,七參數模型算法,北京54坐標轉CGCS2000坐標系,批量空間坐標轉換運行效果見表3。

表3 批量空間坐標轉換運行效果
本次設計與開發成果表明,本系統支持CH/T 2014—2016《大地測量控制點坐標轉換技術規范》要求的全部轉換方法,并提供互聯網地圖廠商的坐標轉換方法,支持坐標類型豐富。另外本文提出了基于實時計算引擎Spark2的坐標轉換方法可有效提高批量數據坐標轉換工作。同時本系統提供JS API和Web服務API供坐標轉換開發人員使用。前端用戶集成JS API即可在前端針對少量的坐標進行快速轉換。Web服務API則支持服務器端二次開發。另外本系統作為軟件即服務(SaaS)工具提供服務,提高了服務賦能方式。因此,本系統在坐標轉換類型支持度、批量坐標轉換效率和坐標轉換賦能方式等方面均有一定的優勢,對自然資源相關坐標轉換開發和使用人員具有一定參考價值。