MeteoInfoJava解析与绘图教程(七)_图层添加站点名称或区域名称

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循环是因为点的样式为多个,由于我们未设定点的色阶未一致,而是选择了默认色阶,就需要循环去修改了

点样式除了大小还可以设定更多的东西,例如外框颜色,内框颜色,值的范围,用的时候可以直接引用对应的方法

 

而区域名称的问题与自动站名称一样,都是创建点数据,再将点一一设定好就行了  

 

原文地址:https://www.cnblogs.com/zdsgjh/p/15714599.html