MeteoInfo-Java解析與繪圖教程(七)_圖層添加站點名稱或區域名稱
在上文說了用自動站的數據經過插值繪制色斑圖,這種一般是在geoserver上疊加圖片呈現,但遇到后端導出圖片,我們又想添加自動站名稱就需要后端單獨設定參數了
實現的原理就是建立多個圖層,在上文已經分別有了色斑圖圖層與地圖圖層,而現在只需要再加一個數據點圖層,然后這三個圖層按照順序疊加即可
//從這里開始創建站點名稱圖層 VectorLayer stationLayer = DrawMeteoData.createSTPointLayer(stationData,"",""); LabelSet label = stationLayer.getLabelSet(); label.setFieldName("Stid"); label.setLabelFont(new Font("微軟雅黑", Font.PLAIN, 10)); label.setYOffset(0); stationLayer.addLabels();
LabelSet是點的設置,我們在創建圖層后修改字體和文字,以及文字與點之間距離,就可以生成所需要的圖片
需要不想要點的時候我們可以將點的大小設定為0
就是在上文代碼的后面修改點樣式
for (ColorBreak legendBreak : stationLayer.getLegendScheme().getLegendBreaks()) { PointBreak pointBreak = (PointBreak)legendBreak; pointBreak.setSize(0); }
做for循環是因為點的樣式為多個,由於我們未設定點的色階未一致,而是選擇了默認色階,就需要循環去修改了
點樣式除了大小還可以設定更多的東西,例如外框顏色,內框顏色,值的范圍,用的時候可以直接引用對應的方法
而區域名稱的問題與自動站名稱一樣,都是創建點數據,再將點一一設定好就行了