如何理解Java MeteoInfo解析与绘图代码教程

技术如何理解Java MeteoInfo解析与绘图代码教程这篇文章主要讲解了“如何理解Java MeteoInfo解析与绘图代码教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

本文主要讲解“如何理解Java MeteoInfo解析和绘制代码教程”,简单明了,易学易懂。请跟随边肖的思路,一起学习和学习《如何理解Java MeteoInfo解析和绘制代码教程》。

最近太忙了,终于有时间继续写了。我上面提到了基本的绘制方法,但是缺乏色阶的呈现。总图叠加在地图上,后端不需要控制色标。但是,我们也要注意,网页的色阶和我们生成的色阶必须是正确的。

对于图片的后端导出,需要添加色标。这篇文章很简单,涉及到色标、名字和格子勾号。

顺便说一下,我优化了代码,看起来更直接。

meteodatenformeteodatenfo=new meteodatenfo();

atodatainfo . openmicapsdata(' d : \ \ parse data \ \ cldas \ \ cldas \ \ tem \ \ 20081000.000 ');

griddata grid=meteodatainfo . getgriddata();

//读取地图a。

Orlayerscmap=mapdatamanage。readmapfile _ shape file(' c : \ \ user \ \ administrator \ \ downloads \ \好例子network _ shp格式全国省县边界矢量地图(精确到县域区域)\ \ shp格式全国省县边界矢量地图(精确到县域区域)\ \。

//读取地图b。

Orlayerqgmap=mapdatamanage。读取mapfile _ shape file(' e : \ \ shp \ \四川省(3)_市界。shp’);

//描述地图边界线。

PolygonBreakpb=(polygonbreake)qgmap . getlegendscheme()。getLegendBreak(0);

//设置填充?

Pb . SetDrawFill(false);

//设置轮廓颜色。

Pb . SetoutLineColor(color . black);

//读取色标。

legendschemelas=lgsutil . readfromlgs(' d : \ \ Apache-Tomcat-8 . 0 . 50 \ \ alt level \ \ tem . LGS ');

//绘制图层。

VectorLayerlayer=drawmeteodata . createshadedlayer(grid,als,'','',true);

//创建视图。

MapViewView=NewMapView();

layer=layer . clip(scmap);

(=NationalBureauofStandards)国家标准局

p; //叠加图层
        view.addLayer(layer);
        view.addLayer(qgmap);
        //视图设置
        MapLayout layout = new MapLayout();
        //去除图形边框
        layout.getActiveMapFrame().setDrawNeatLine(true);
        //抗锯齿
        layout.getActiveMapFrame().setMapView(view);
        view.setAntiAlias(true);
        layout.setAntiAlias(true);
        //根据视图计算视图的宽高
        Extent extent = view.getExtent();
        int size = 800;
        Rectangle rectangle = new Rectangle(size, (int) (size * 1D / extent.getWidth() * extent.getHeight()));
        //设置地图区域大小和外边距
        int width = rectangle.width;
        int left = 50;
        int height = rectangle.height;
        int right = 140;
        int top = 50;
        int bottom = 50;
        //设置页面边界
        layout.setPageBounds(new Rectangle(0, 0, width + left + right, height + top + bottom));
        //获取地图框
        MapFrame frame = layout.getActiveMapFrame();
        //设置布局边界
        frame.setLayoutBounds(new Rectangle(left, top, width, height));
        //绘制网格刻度线
        frame.setDrawGridLine(true);
        //设置网格间隔值
        frame.setGridXDelt(0.5);
        frame.setGridYDelt(0.5);
        //设置图例
        Rectangle bounds = layout.getActiveMapFrame().getLayoutBounds();
        LayoutLegend legend = layout.addLegend(bounds.x + bounds.width + 15, 0);
        legend.setLegendStyle(LegendStyles.Normal);
        legend.setTop(bounds.y + (bounds.height - legend.getHeight()) / 2);
        legend.setLegendLayer(layer);
        //导出
        layout.exportToPicture(PathUtil.getDeskPath()+"/1.png");

如何理解Java MeteoInfo解析与绘图代码教程

以上的方法我只设定了刻度线和色阶,其他的也很简单,我在下面说明一下

标题设定-放到设定好视图大小的后面
Rectangle bounds = layout.getActiveMapFrame().getLayoutBounds();
layout.addText(title, bounds.x + bounds.width / 2, y, 18);

到目前简单的绘制与设定就没有什么可说的了,基本上的操作在文章里都有了,都是一些样式的东西,这些都是绘制已经进行插值的图片,但在开发中,我们也会遇到天擎和CIMISS直接返回的站点数据,这个怎么绘制下一节说明一下,再后面的章节就是个别问题的研究了

感谢各位的阅读,以上就是“如何理解Java MeteoInfo解析与绘图代码教程”的内容了,经过本文的学习后,相信大家对如何理解Java MeteoInfo解析与绘图代码教程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/39945.html

(0)

相关推荐

  • JVM中怎么解析JVM分代垃圾回收策略

    技术JVM中怎么解析JVM分代垃圾回收策略这篇文章将为大家详细讲解有关JVM中怎么解析JVM分代垃圾回收策略,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。由于不同对象的生

    攻略 2021年10月23日
  • 初二二次根式计算题,二次根式比较大小[初二]?

    技术初二二次根式计算题,二次根式比较大小[初二]?对于这样的比较大小,因为都是正数,可以直接利用初二二次根式计算题:A2(A平方,以下类同)>B2 等价于 A>B
    (A+B)2>(C+D)2等价于(A+B)>(C+D).

    生活 2021年10月23日
  • 怎么解决数据库查询非常慢问题

    技术怎么解决数据库查询非常慢问题本篇内容主要讲解“怎么解决数据库查询非常慢问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决数据库查询非常慢问题”吧!一、cpu lo

    攻略 2021年11月16日
  • 有哪些Go加密解密算法

    技术有哪些Go加密解密算法这篇文章主要讲解了“有哪些Go加密解密算法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些Go加密解密算法”吧!md5MD5信息摘要算法是一

    攻略 2021年10月27日
  • 怎么用filter和transform-style属性创建视觉3D特效

    技术怎么用filter和transform-style属性创建视觉3D特效这篇文章主要讲解了“怎么用filter和transform-style属性创建视觉3D特效”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟

    攻略 2021年11月3日
  • sqlite源码分析博客(sqlite源码大全)

    技术SQLite源码仓库的示例分析这篇文章给大家分享的是有关SQLite源码仓库的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1编译(compiling)优先创建目录存放生成的目标文

    攻略 2021年12月18日