百度百科關於POI是這樣解釋的。POI是"Point of Interest"的縮寫,中文可以翻譯為"興趣點"。在地理信息系統中,一個POI可以是一棟房子、一個商鋪、一個郵筒、一個公交站等。每個POI包含四方面信息,名稱、類別、坐標、分類,全面的POI訊息是豐富導航地圖的必備資訊,及時的POI興趣點能提醒用戶路況的分支及周邊建築的詳盡信息,也能方便導航中查到你所需要的各個地方,選擇最為便捷和通暢的道路來進行路徑規划,因此,無論是車載導航還是手機導航,導航地圖POI多少狀況直接影響到導航的好用程度,導航地圖中POI信息點的多少以及信息的准確程度和信息更新速度,都嚴重影響到一款導航的使用情況。
我們可以理解為POI在任何一個GIS系統中,都占據了非常重要的地位。因此,如何收集POI信息,以及如何在三維場景中顯示這些POI信息也是非常重要的。很幸運的是,我們獲取到了一份北京市較全的POI數據,大概15萬條記錄,本篇文章就這個數據着重介紹一下,如何加載POI信息。
筆者獲取到的數據為SHP格式,classify為分類屬性,本文中,提煉了4s店、餐飲、地鐵站、汽車站、超市5個種類,作為示例。
在本篇“城市各類POI數據制作、加工、展示”中我們主要包括如下幾個可視化內容。
- 普通直接加載
- 默認啟用匯聚加載
- 自定義匯聚加載
1. 普通直接加載
普通直接加載,主要是針對於POI數量比較少的情況下。筆者把shp文件轉換成了geojson格式,方便使用,同時,可便於模擬真實情況下的,后台API返回的數據格式。
如果覺得上面的效果已經滿足了要求的話,下面的內容可以忽略了。
2. 默認啟用匯聚加載
匯聚處理一般是針對數據量比較大的情況,如果你的POI信息點過多,可能直接按照上面的方式瀏覽器就直接崩潰了。
3. 自定義匯聚加載
匯聚默認的是采用pinBuilder構造圖標的方式,如果覺得默認的不美觀,我們可以自定義顯示效果。
詳細代碼請參考 Cesium項目實戰小專欄
最后
1、為什么要用geojson格式的數據,還有為什么要用GeoJsonDataSource來加載數據?
答:因為json數據格式需要自己解析,自己構造,自己加載entity、billboard等等,同時Entity對象本身不支持匯聚。而geojson默認支持GeoJsonDataSource解析,同時還可以支持匯聚。
2、為什么會有一個構造數據對象的過程?
答:為了更好的進行代碼復用,同時也是為了控制圖層顯示與隱藏功能。