文章版權由作者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
1. 背景
項目需求中,需要根據一定規則實現前端要素的動態樣式渲染展示。比如,A圖層有l1,l2,l3三個字段。按照規則,一些情況下需要根據l1字段來進行分類展示,而其他情況下需要根據l2或者l3字段進行分類或聯合展示。我們常規的對A圖層進行一次性樣式配圖是無法滿足此類需求的。這里我跟大家一起談談三種解決方案。
2.依賴WFS請求數據前端動態繪制
前端通過WFS請求獲取到指定要素,解析要素並且根據渲染規則進行渲染。但是當數據量足夠大時,可以通過控制要素顯示級別、控制要素獲取量(比如只獲取屏幕范圍、屬性過濾條件)等進行要素量的控制。
優點:該方案為最常見方案,可以滿足絕大多數項目需求,且前端要素交互方便。
缺點:當項目性能要求高、且數據量獲取無法降低時,性能瓶頸十分突出。
3.依賴矢量切圖來完成前端動態繪制
矢量切圖具有支持並發數據獲取以及展示分級抽稀等優點,使得前端渲染的效率會大大提高。其流程與WFS請求后要素繪制一樣,只是數據源變成了矢量切片。
優點:解決前端渲染壓力
缺點:數據需要預處理成矢量切片,而且當數據發生變化時,動態進行切片更新是個復雜的問題。
4.依賴WMS請求對動態樣式的支持進行后端生成
我們習慣於依賴WMS請求進行展示圖片的后台生成,但是對於WMS可以支持動態樣式傳入的功能卻很少使用。這里以geoserver的WMS服務為例,做一個詳細的描述。
具體請求參數如下:
Geoserver的style規范不再累述,這里重點是geoserver的WMS服務提供了一個sld_body參數,允許動態傳入樣式文件。
優點:實現方式簡單,規避大數據量前端渲染問題。
缺點:對GIS服務器壓力增大,而且前端交互變弱(圖片)。
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^