1. 程式人生 > 其它 >MeteoInfo-Java解析與繪圖教程(七)_圖層新增站點名稱或區域名稱

MeteoInfo-Java解析與繪圖教程(七)_圖層新增站點名稱或區域名稱

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迴圈是因為點的樣式為多個,由於我們未設定點的色階未一致,而是選擇了預設色階,就需要迴圈去修改了

點樣式除了大小還可以設定更多的東西,例如外框顏色,內框顏色,值的範圍,用的時候可以直接引用對應的方法

而區域名稱的問題與自動站名稱一樣,都是建立點資料,再將點一一設定好就行了