設置KML區域和顯示條件

 

1前言

使用FME可以輕鬆編寫基本的KML數據集,而無需複雜的節點類型或特徵樣式。且在編寫KML輸出時,FME將盡可能保留源樣式。

2詳細步驟

2.1打開FME Workbench

在空白工作區中,添加一個MapInfo TAB(MITAB)讀模塊,並設置讀取文件爲city_parks.tab文件(包含於文末”測試數據”中),單擊確定以添加讀模塊。

2.2重命名屬性

當我們在Google Earth中查看屬性名稱時,我們往往不希望看到任何下劃線或其他數據特定的命名規範。故此,我們可以重命名屬性,將AttributeRenamer轉換器添加到工作區,選擇name_alt作爲輸入屬性,然後鍵入” alt name”作爲輸出屬性即可。

2.3設置KML屬性

我們還可以控制要素被單擊時,其屬性在Google Earth導航樹中的顯示方式以及彈出的描述氣球。具體操作爲,將KMLPropertySetter轉換器添加到工作區,並將其連接到AttributeRenamer,而後在KMLPropertySetter轉換器參數中,設置以下內容:

名稱:name

摘要:Park

屬性表標題:Park Names

2.4設置KML視圖區域

2.1.1多邊形

KMLRegionSetter轉換器用於創建在KML內設置詳細程度範圍的區域。對於多邊形,KMLRegionSetter可根據要素邊界框計算得出區域邊界框,並設置最大和最小顯示尺寸。具體操作爲,將KMLRegionSetter添加到工作區,並在其參數中將”最小顯示尺寸”設置爲20,”最大顯示尺寸”設置爲1000。

2.1.2中心點

對於中心點,使用KMLRegionSetter轉換器也可設置其區域邊界框,以及最大和最小顯示尺寸。但點要素會產生一個無限小的邊框,並且永遠不會在輸出中顯示,因此,最好專門爲點要素設置邊界框。具體操作爲,將CenterPointReplacer添加到工作區,並將其連接到City_Parks讀模塊。之後添加第二個KMLRegionSetter轉換器,並將其與CenterPointReplacer進行連接。

KMLRegionSetter中設置參數如下:

從特徵邊界框計算:

最小顯示尺寸: 5000

最大顯示尺寸: -1

最小X: -97.7

最小Y: 30.2

最大X: -97.5

最大Y: 30.4

2.5寫入KML

設置好區域後,我們現在可以將數據寫入KML。具體操作爲,將Google KML寫模塊添加到工作區,瀏覽到要保存文件的位置,並將數據集命名爲ParkRegions.kml,之後將”要素類型定義”設置爲自動即可。

點擊確認後,在彈窗中的”Parameters”窗口下,將”Feature Type Name”設置爲”Parks”,然後單擊確認,之後將生成的KML寫模塊與兩個KMLRegionSetter進行連接。

2.6運行工作區

保存並運行工作區。待工作區完成運行後,單擊Parks讀模塊將打開彈出菜單條,在彈出菜單條上,單擊”打開包含文件夾”,將會定位到生成的KML文件所在位置。之後雙擊” Parks.kml”即可查看”Google Earth”中的數據。

查看數據可以發現,公園多邊形的顏色與其在源數據中的顏色相同,而這是由於FME保留了數據源樣式屬性,fme_color和fme_fill_color屬性。

下圖中分別進行縮小和放大操作,以顯示最小和最大顯示尺寸帶來的影響。

縮小:

放大:

2.7數據來源

本文所使用的數據爲得克薩斯州奧斯汀市的公開數據,其中包含奧斯丁市-公共領域專用許可准許下的數據。

 

 

 

 

資源下載地址:

https://knowledge.safe.com/storage/attachments/39125-settingregionsanddisplay.fmwt完成的工作空間

https://knowledge.safe.com/storage/attachments/39126-city-parks.zip測試數據

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章