CityGML轉KMZ格式

 不論是從日本「PLATEAU」計畫下載免費的 3D 城市模型,或是透過內政部國土測繪中心「多維度國家空間資訊服務平臺」申請三維建物模型數值資料,這些資料檔案多半採用 CityGML 格式;CityGML 是由 Open Geospatial Consortium(OGC)制定的國際標準,屬於基於 XML 的開放資料模型,專門用於儲存與交換虛擬 3D 城市模型。它能同時描述城市物件的幾何、拓撲、語意與外觀資訊,廣泛應用於 3D GIS、智慧城市、BIM 整合與都市規劃等領域。

不過,目前最常使用的 3D 模型檢視軟體 Google Earth 尚未支援 CityGML 格式,因此需要改用其他工具或平台進行瀏覽與檢視,常見替代方式包括:

1.使用免費的 KITModelViewer 直接開啟 CityGML 檔案。

    2.在 QGIS 中安裝 PLATEAU Plugin,在 QGIS 軟體中載入與檢視 3D 建物模型。

    3.透過支援 WebGL 的瀏覽器,搭配 CesiumJS,將 CityGML 轉換後於網頁端進行互動式 3D 顯示。

      這三種方式各有不同定位與使用情境:

      KITModelViewer 適合做「快速單機檢視」——不需要 GIS 背景,就能直接開啟 CityGML,看建物高度、外觀與基本結構,適合資料初步驗證或展示。

      QGIS + PLATEAU Plugin 則偏向「專業 GIS 分析流程」——可以結合既有的向量、影像、地形資料,同時進行空間分析、屬性查詢與編輯,適合都市研究、空間規劃或 GeoAI 前處理。

      CesiumJSWebGL 瀏覽) 更適合「Web 發佈與互動展示」——可將轉換後的 3D 城市模型部署到網站上,提供一般使用者透過瀏覽器操作,常見於智慧城市平台、成果展示或空間敘事應用。

      不過,由於 Google Earth 主要支援的是 KML/KMZ、Collada(DAE)等偏向「視覺化呈現」的格式,而 CityGML 屬於結合幾何、語意與拓撲結構的專業 3D GIS 資料模型,亦即具Solid / MultiSurface建物模型;兩者在資料結構與設計目的上差異很大,因此 Google Earth 目前無法直接讀取 CityGML,實務上通常必須先進行格式轉換與語意簡化,才能載入顯示。

      若要將 CityGML 轉換為 KMZ 格式,也可以直接使用 FME Desktop。只要讀入 CityGML 檔案並執行GeometryExtractor(或相關幾何轉換)流程,即可輸出 KMZ。FME 會自動將原本的 Solid 建物模型拆解為 Google Earth 可讀取的 mesh 幾何,同時保留建物高度與屬性資料,轉換品質相當完整。不過,由於 FME 屬於商業軟體,需要授權才能使用,因此在實務上的普及性相對有限。

      以下介紹免費的解決方式:

      第一步:

      首先下載免費的 citygml-tools 工具(需先安裝好 Java 17或更高版本環境),將CityGML 轉換成CityJSON。

      指令範例:citygml-tools to-cityjson 53392584_bldg_6697_2_op.gml

      第二步:

      QGIS 安裝 CityJSON Loader 外掛,讀入 CityJSON 檔案。

      第三步:

      匯出 KML 檔案,在 zip 壓縮成 KMZ。