馬云飛
(長春市測繪院,吉林 長春 130021)
日照測量是一種常見的測繪工程,是一種為規(guī)劃及土地主管部門提供科學、準確的基礎信息而進行的技術服務工作[1,2]。日照測量主要的測繪內容包括測量建筑物室內地坪、室外地面高程、建筑物高度、建筑層高、建筑物向陽面立面等,日照測量報告為日照測量工程所需提交的重要成果之一[3,4]。目前來說,日照測量的外業(yè)數據采集模式主要是采用GPS-RTK技術結合全站儀野外數字化測圖方法,內業(yè)數據整理可使用EPS2008地理信息工作站對外業(yè)采集點位進行平面圖、立面圖進行繪制,并標注正負零、房屋高度等信息。現階段日照測量報告編制作業(yè)模式多為手工填寫,參照日照測量平面圖及立面圖與Word文檔交互進行編制,該方法效率低且極易出錯。本文基于EPS2008地理信息工作站模板定制及腳本開發(fā)技術,借助Microsoft Office的OLE組件研究并開發(fā)一套自動化生成日照測量報告插件,與傳統的手動輸入報告相比,該方法可極大提升生成日照測量報告的效率,并能避免人為填寫所造成的錯誤,極大提高了作業(yè)的自動化水平,除此之外,可利用正則表達式對相應字段進行檢查,以確保報告的規(guī)范性、完整性及統一性。
EPS2008地理信息工作站是一種集成了外業(yè)信息采集、內業(yè)數據處理、制圖一體化的綜合性作業(yè)平臺,該平臺由清華山維公司研發(fā)。EPS2008地理信息工作站平臺的優(yōu)點為信息化程度高、兼容度高、可擴展性強、系統開放等。該平臺為用戶提供了二次開發(fā)接口,結合其模板定制技術,可實現多種特定功能的定制目的。下文將說明EPS2008地理信息工作站的模板定制技術及腳本開發(fā)技術[5,6]。
模板是EPS2008地理信息工作站的基礎,模板不但是數據標準化的有力保證,而且同時體現了生產與技術相分離的先進理念[7,8]。EPS2008模板定義了數據的比例尺、坐標系統、圖幅分幅方案、數據輸入輸出轉換對照、屬性數據結構等內容,描述了各種地物及注記,包括注記分類號、圖層、顏色、地物編碼、線型等信息。EPS2008地理信息工作站的模板表現形式上是一個數據庫文件,可用Access等數據庫類型軟件打開。模板定制是以某類工程遵循的技術標準為基準,通過模板語言在軟件內置的模板中對該基準進行數字化、標準化、形式化的表達,從而實現工程數據的規(guī)范化,為后期的數據處理、數據檢查做好前期的鋪墊工作。模板定制完成后,均存放在程序運行目錄中的Templates子目錄下,之后即可以使用該模板進行日照測量工作的基本要素定制以及相關圖件的繪制和編輯工作。
以目前所使用的建設工程模板為基礎,為方便報告輸出,對建設模板下的房屋線、房屋實線、圖廓、棟號、正負零、房屋結構層數注記、房屋高度注記分別定制相應編碼,并定制日照測量報告Word模板,為自動生成日照測量報告做好基礎工作。
EPS2008地理信息工作站支持兩類二次開發(fā)技術,一是基于基礎庫的二次開發(fā),二是基于腳本類的二次開發(fā),前者主要使用C++編程語言進行開發(fā),后者支持VBScript和JavaScript作為開發(fā)語言,本文采用VBScript語言開發(fā)自動化生成日照測量報告插件。EPS2008二次開發(fā)提供了SSProcess對象,SSProcess對象是與EPS地理信息工作站交互的主要入口對象,SSProcess對象可調用EPS2008地理信息工作站平臺下許多功能強大的方法,使用系統提供的類方法時,需要加上此類名[9,10]。
為解決自動生成報告問題,本文使用VBScript腳本開發(fā)語言開發(fā)自動生成報告插件,原理流程圖如圖1所示。本插件由圖面檢查腳本、棟號匹配腳本、自動輸出報告腳本3個腳本組成。圖面檢查腳本的功能為根據圖形之間的拓撲關系,檢查圖面中出現的錯誤。棟號匹配腳本的功能是將圖面中的正負零、房屋高度注記與棟號相互匹配,為下一步自動生成報告打好基礎。在運行圖面檢查腳本、棟號匹配腳本均無錯誤提示的情況下,即可使用自動生成報告腳本生成日照測量報告。

圖1 自動化輸出日照測量報告插件原理流程圖
以EPS2008地理信息工作站平面圖繪制為例。圖面中各類地物均有其對應編碼。本文以“建設工程模板”為基礎,將日照測量中房屋線、房屋實線、圖廓、棟號、正負零、房屋結構層數注記、房屋高度注記均定制對應唯一編碼。房屋實線為整棟房屋的最外圍邊線,房屋實線應包含一個或多個房屋面、一個棟號、一個正負零、一個或多個注記說明,并且不能缺失任何一項信息,一個房屋面還應包含一個房屋結構層數注記。圖面檢查腳本功能是根據上述圖形地物之間的拓撲關系對圖面進行檢查,如缺失正負零檢查、缺失棟號檢查、缺失房屋線檢查、缺失房屋結構層數注記、缺失房屋高度注記、存在多余正負零檢查、存在多余棟號檢查、棟號重復檢查、注記說明描述不合理檢查。若有上述檢查錯誤發(fā)生,腳本會將錯誤詳細信息提示給用戶,如圖2所示。圖面檢查腳本是自動生成報告非常重要的一步,是規(guī)范化圖面、排除常見錯誤的有效手段。

圖2 日照測繪平面圖及報錯提醒
在圖面檢查步驟完成之后,還需將棟號信息寫入至正負零、房屋高度注記之中,即將兩者應與棟號進行匹配關聯。棟號匹配腳本提供兩種匹配關聯方式,分別是自動匹配模式及手動匹配模式。自動匹配模式的原理是利用房屋實線應包含棟號、正負零、房屋高度注記之間的拓撲關系,將房屋實線內的正負零、房屋高度注記與房屋實線內的棟號進行匹配關聯,操作簡單,速度快,可對全圖進行匹配操作。但有時會出現房屋實線面積較小,房屋高度注記需注記在房屋實線范圍外,用指示線標注的情況。遇到此類情況需使用手動匹配模式,在選擇手動匹配模式下,同時框選圖面中的正負零、房屋高度注記、棟號,即可將選中的棟號寫入正負零、房屋高度注記之中,完成棟號匹配任務。
在棟號匹配完成之后,即可使用生成報告腳本一鍵生成日照測量報告。根據日照測量平面圖中圖形地物之間的拓撲關系提取所需信息,對房屋實線編碼進行檢索,提取實線中的房屋結構信息、棟號信息,根據提取得到的棟號信息繼續(xù)檢索與之相匹配的正負零、房屋高度信息,將提取出的相關信息按日照測量報告格式進行計算整理,輸出至定制的日照測量模板中,最后讀取圖廓中的工程名稱、測繪單位、工程位置、測繪時間等信息,將所讀取的信息填寫至日照測量模板首頁,從而完成生成日照測量報告的任務,所生成報告如圖3所示。

圖3 日照測量報告
以某市某小區(qū)的日照測量項目為例進行說明。工程的任務是測繪范圍線內小區(qū)建筑物的平面圖及指定的立面圖、建筑物的樓高正負零以及測量建筑物之間的間距。目前常用的作業(yè)模式為使用GPS-RTK技術在范圍線內布設合適數量的測量控制點,使用全站儀數字化成圖方式對所需信息進行測繪。外業(yè)數據采集任務完成后,使用EPS2008地理信息工作站進行內業(yè)繪制成圖。成圖完畢后,首先使用圖面檢查腳本對圖面中的壓蓋錯誤、包含關系錯誤、注記不規(guī)范錯誤、缺失關鍵信息錯誤進行檢查,發(fā)現錯誤需核實并查明錯誤原因并逐條進行修改。之后使用自動匹配模式使棟號與相應的正負零、房屋高度注記進行匹配,在自動匹配模式不能完成的情況下,使用手動匹配模式對棟號與相應的正負零、房屋高度注記進行匹配。在完成棟號匹配步驟之后,即可使用日照測量報告生成腳本一鍵生成所需報告,生成的報告仍需與圖面測繪信息進行檢查核實,以防止遺漏丟失某些重要信息。基于EPS2008地理信息工作站自動化生成日照測量報告插件界面簡潔,操作簡單,無特殊注意事經實例驗證,使用該插件輸出報告準確無誤,驗證了本插件的可行性及可靠性。自動化生成日照測量報告插件如圖4所示。

圖4 自動化生成日照測量報告插件
本文探索了基于EPS2008地理信息工作站自動化生成日照測量報告的方法,并使用VBScript腳本語言開發(fā)了生成報告插件。該插件具有圖面檢查、棟號匹配、自動輸出報告三項功能,并且操作簡單,穩(wěn)定可靠,無特殊注意事項。使用該插件進行報告輸出可極大減輕內業(yè)作業(yè)人員的工作量,提升作業(yè)的自動化水平,減少了人工干預,同時又能保證數據的準確性和可靠性,可供業(yè)內人士使用參考。