《GIS專題》 應用Google Earth實現三維房屋模型之空間資料套合 范成楝 前言 隨著GIS技術的日益發達,在過去,非專業人士無法進入的空間資 訊技術領域,係因GIS使用的對象主要專為提供學術機關及商業團體 應用;另方面,過去在使用空間資訊的圖資(如航遙測影像或數值 地圖等),除了價格昂貴之外,資料的取得和處理上亦屬不易,因 此,也大幅降低了使用者的使用意願。反觀,現今全球衛星定位技 術(GPS)已廣泛地應用在汽車導航等生活層面,且由於它提供了更 為便利的操作界面,使用的複雜度普遍降低許多,使得一般普羅大 眾在跨入此一領域的門檻亦相對降低,可謂自此開展了空間資訊技 術逐步朝普及化應用的發展之路。 本文的目的,主要是運用Google Earth這個免費的平台,利用現 有的資料及技術,建置台北市三維房屋模型於這個平台之上,進行 三維空間都市模型虛擬導覽。 目前全球最大搜尋引擎Google及微軟兩家公司都極力開發空間資 訊的商業市場,其分別推出的Google Maps及Microsoft MSN Virtual Earth等工具【註一】,皆提供全世界之衛星或地圖影像資料供使用 者進行線上查詢;同時也提供web界面之API供進階網頁設計者能做 進一步的應用。由於其是針對一般使用者所設計,使用者可以直接 透過API這個函式呼叫,進行簡單的空間圖資的套合以及加註點位之 註記,功能上較為陽春。另一方面Google併購專門開發並展示三維 數位地球之Keyhole公司而成立的Google Earth【註二】,該軟體之 免費版本即提供了全世界各地不同等級之衛星影像;部份都市地區 更提供了解析度高達0.61米的衛星影像。這對於一般的使用者而言, 能獲得如此龐大的資源,不失為一個非常理想的使用平台。 以下即簡介Google Earth的現況與相關發展,以及本院在此方面 之開發應用。 即時影音串流技術應用 Google Earth在三維展示影像部份採用即時之影音串流技術,透 過網際網路將遠端之衛星影像傳送到使用者端。其優點是使用者不 需購買價格高昂的衛星影像資料,即可線上瀏覽及使用;缺點則是 資料必須上網使用,同時也不容易將此資料拿來做更進一步的運用; 然而對於一般初階大眾使用或資料展示而言,卻已相當夠用。 Google Earth的進階應用 進階的使用者可能常會有一些想法,想在Google Earth上加入自 己感興趣的東西,像是簡單的點位標記資料、新增自訂影像、甚至 進一步加上三維的房屋模型等,這些在Google Earth 上都是被允許 的。該軟體本身即提供使用者可直接於地表上加註點位註記、影像 標記等功能;同時也提供一種讀檔的方式以匯入這些資料。在此一 格式中有一個kml的開放格式【註三】,它是由xml的語法所架構而 成的格式,其中可以放入點位標記、影像貼圖及多邊型三維資料。 亦即,使用者在瞭解這個格式後,即可利用此一交換格式自行編修 這個文件,把使用者自訂的資料匯入Google Earth中,並和衛星影 像結合進行三維資料展示。 GIS開發之免費空間資訊技術模組 也許使用者會有很多資料,想要拿來做進一步的三維展示,但資 料在匯入Google Earth之前,首先必須面臨不同座標系統的轉換問 題。Google Earth本身是架構在 WGS84座標框架下所定義的經緯度 座標,這和台灣地區目前最常使用的TM2(橫麥卡脫二度分帶,以E 及N值表示)座標系或GRS67的經緯度座標系明顯不同。其中,台灣 最常使用的二度分帶座標系又分別為TWD67(橢球定義在GRS67座標 框架)及TWD97(橢球定義在GRS80的座標框架)【註四】,種種的 座標系一定要轉換至WGS84的座標系的架構下,其點位位置才能精確 地座落在正確的位置上,並進一步和Google Earth所提供的衛星影 像進行正確的套合。對此,本院計算中心GIS小組開發了相關之空間 資訊技術模組,免費在網路上提供使用者下載【註五】,歡迎有興 趣的讀者者連線參考應用。 結合Google Earth的三維都市模型展示 Google Earth在美國各大城市均提供三維的房屋模型,可供使用 者在線上直接觀看當地之房屋3D模型,以瞭解當地城市的輪廓風貌; 很可惜的是,一旦出美國本土之外,像台灣等各大城市就沒有這些 資料可供展示應用了。為補足此一缺憾,以下筆者想利用Google Earth所提供的平台,以自製的方式,使用台北市中山、士林等區的 中山北路沿線房屋圖層為例,與Google Earth 做結合做三維的都市 模型展示。 本項作法係採用台北市千分之一數值地形圖(CAD檔)【註六】, 抽離出房屋多邊形線圖層及文字註記(樓高)圖層,透過Esri ArcView 軟體【註七】進一步進行編修程序,如:多邊形線進行封閉處理(Build) 而成為多邊形,並萃取樓高註記中的樓高數值資訊,把這資訊加入 每個獨立多邊形的屬性之中,因此,每個多邊形(房屋)即擁有它 的樓層資訊;同時估計每一樓層高度大約3米高,每樓建物的樓層乘 上一常數3米,即可獲得每棟建物的大約高度,並把這高度資訊加入 此房屋圖層的屬性資料之中,儲存成shapefile格式即告完成。 由於筆者所取得的台北市千分之一數值圖為分幅式的管理,因此, 範圍若超過一張圖幅就會出現接幅的問題。此一部份需透過Esri ArcView所提供GeoProcessing 模組的Dissolve及Merge功能,將相 鄰圖幅進行合併,多張圖幅再合併而成為一個完整的房屋建物圖資; 另外,由於本圖層的高度屬性是記錄在資料表中,並不屬於純3D的 多邊形向量資料,因而必須再使用Esri ArcView所提供3D Anaysis 模組的Convert功能,將二維的房屋向量資料結合高度的屬性資料, 轉換成為全3D(具有X, Y, Z屬性)的Polygon向量資料。 上述所使用的台北市千分之一數值圖是架構在TWD67的TM2座標系 上,必須再將座標轉換至WGS84座標系才可以進行資料的套合。因此, 需再利用本院計算中心GIS小組所開發的空間資訊技術相關模組之座 標轉換工具【註五】,將TWD67 TM2的座標系轉換成WGS84經緯度座 標。如此一來,房屋建物才能和Google Earth 做正確的套合。 然而Google Earth免費版本並不支援shapefile 等GIS資料格式, 而必須再透過一套FME Suite for Google Earth【註八】的免費軟 體來進行轉換。此一工具提供shapefile格式轉換成Google Earth所 支援的kml格式;透過此工具,即可將3D之shapefile資料轉換成kml 之交換格式,並匯入Google Earth。 所附之【圖一】即為本文以此方式進行建置台北市中山區、士林 區中山北路沿線之房屋建物立體模型。藉此模型可以讓使用者大致 瞭解整個都市的現況及發展;另以此方式同樣可建置出一個本院的 3D建物模型,如【圖二】所示,將背景貼上本院的航空照片為底圖, 同時再加入各所之網頁連結或照片連結,如此便是一個架構在Google Earth上的三維的院區導覽的應用實例。 結語 目前Google Earth不斷的增加衛星影像的圖資,提供愈來愈多地 區高解析而免費使用的衛星影像;同時透過Google Earth的網路社 區進行資料的分享,實現了分散式空間資料的一個架構,更增添整 個網路資源可運用的素材,這對於未來數碼城市(Cyber City)的 建置,更進一步數位地球(Digital Earth)的環境建置,無益是一 個非常好的實現工具,往後在這個平台上進行各式的技術開發,迎 合更多大眾的需求,勢必成為為一股潮流,如同衛星導航應用在生 活面,GIS的親合力逐漸走向人群! 參考文獻 【註一】Google Maps 所提供的API參考網址 http://www.google.com/apis/maps/; MSN Virtual Earth參考網址http://virtualearth.msn.com/ 【註二】Google Earth 參考網址 http://earth.google.com/ 【註三】Google Earth 所支援之kml格式相關文件,其參考網址     http://www.keyhole.com/kml/kml_doc.html 【註四】台灣常用座標系WGS84 經緯度及TWD97、TWD67二度分帶座 標之介紹http://www.tpcland.gov.tw/active/有關地籍座 標系統整合之探討.pdf 【註五】本院計算中心GIS小組開發了各式座標轉換的小工具,免費 提供在網路上,供使用者下載參考網址 http://gis.ascc.net/ISTIS/tools.html 【註六】台北市政府都市發展局之台北市一千分之一數值地形圖, 參考網址 http://www.udd.taipei.gov.tw/PlanWeb/FiRoger/NermicalChart.htm 【註七】ESRI 目前為最大的GIS軟體開發公司,其參考網址如 http://www.esri.com 【註八】FME Suite for Google Earth的免費軟體進行轉換,其參 考網址如http://www.safe.com/google/index.php