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循环是因为点的样式为多个,由于我们未设定点的色阶未一致,而是选择了默认色阶,就需要循环去修改了
点样式除了大小还可以设定更多的东西,例如外框颜色,内框颜色,值的范围,用的时候可以直接引用对应的方法
而区域名称的问题与自动站名称一样,都是创建点数据,再将点一一设定好就行了