如何理解Java MeteoInfo解析与绘图代码教程
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要讲解了"如何理解Java MeteoInfo解析与绘图代码教程",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何理解Java MeteoI
千家信息网最后更新 2025年11月15日如何理解Java MeteoInfo解析与绘图代码教程
这篇文章主要讲解了"如何理解Java MeteoInfo解析与绘图代码教程",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何理解Java MeteoInfo解析与绘图代码教程"吧!
最近太忙了,终于有时间继续写了,上文说到了基本上的绘图方法,但缺少色阶呈现,一般图叠加着地图上,后端不需要管色阶,但也要注意web页面色阶和我们的生成色阶一定要对的上
对于后端导出图片的话,就需要添加色阶了,这一文很简单,就涉及色阶,名称,网格刻度线
顺便对代码我进行了优化,看起来更直接
MeteoDataInfo meteoDataInfo = new MeteoDataInfo(); meteoDataInfo.openMICAPSData("D:\\解析数据\\cldas\\cldas\\TEM\\20081000.000"); GridData grid = meteoDataInfo.getGridData(); //读取地图A VectorLayer scmap = MapDataManage.readMapFile_ShapeFile("C:\\Users\\Administrator\\Downloads\\好例子网_全国省、县界线shp格式矢量图(精确到县区域)\\全国省、县界线shp格式矢量图(精确到县区域)\\sichuan.shp"); //读取地图B VectorLayer qgmap = MapDataManage.readMapFile_ShapeFile("E:\\shp\\四川\\四川省(3)_市界.shp"); //描述地图边界线 PolygonBreak pb = (PolygonBreak) qgmap.getLegendScheme().getLegendBreak(0); //是否设置填充 pb.setDrawFill(false); //设置轮廓颜色 pb.setOutlineColor(Color.black); //读取色阶 LegendScheme als = LgsUtil.readFromLgs("D:\\apache-tomcat-8.0.50\\alt色阶\\TEM.lgs"); //绘制图层 VectorLayer layer = DrawMeteoData.createShadedLayer(grid,als,"","",true); //创建视图 MapView view = new MapView(); layer = layer.clip(scmap); //叠加图层 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");
以上的方法我只设定了刻度线和色阶,其他的也很简单,我在下面说明一下
标题设定-放到设定好视图大小的后面Rectangle bounds = layout.getActiveMapFrame().getLayoutBounds();layout.addText(title, bounds.x + bounds.width / 2, y, 18);
到目前简单的绘制与设定就没有什么可说的了,基本上的操作在文章里都有了,都是一些样式的东西,这些都是绘制已经进行插值的图片,但在开发中,我们也会遇到天擎和CIMISS直接返回的站点数据,这个怎么绘制下一节说明一下,再后面的章节就是个别问题的研究了
感谢各位的阅读,以上就是"如何理解Java MeteoInfo解析与绘图代码教程"的内容了,经过本文的学习后,相信大家对如何理解Java MeteoInfo解析与绘图代码教程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
代码
绘图
地图
视图
教程
刻度
区域
网格
边界
学习
精确
全国
内容
图片
大小
就是
数据
文章
方法
格式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ftp和服务器连接
无需数据库源码
网络安全公司投资多少钱
网络安全这本书
数据库选择题必考
王牌战争服务器教学
软件开发仓库管理
山东兴业网络技术有限公司
长沙交易性数据库
数据库图形工具完整中文版
未来之役中国服务器是哪个
安徽动能服务器厂家虚拟主机
软件开发基于底层的工作
软件开发要用CAD吗
汇丰软件开发 联系电话
亲朋系统无法连接服务器
济南app软件开发教程
迅游科技是互联网公司吗
服务器动态域名
为防止数据库文件在使用时
文档服务器 镜像
找网络技术员
网络安全法 的立法指导思想
王牌战争服务器教学
软件架构师数据库
西安智联网络技术有限公司
ftp服务器主机名
机架式服务器主板
华为的软件开发
金融软件开发商犯法吗