# 图层-气象 **Repository Path**: 303211/layer-weather ## Basic Information - **Project Name**: 图层-气象 - **Description**: 气候天气温度、降水、雷达、台风等专题数据分析显示 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-05-11 - **Last Updated**: 2024-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图层-气象 ### 气候天气温度、降水、雷达、台风等专题数据分析显示 #### 使用说明 ![输入图片说明](images/image.png) #### 方案介绍 方案一:等值面分析(有空间数据) JAVA 通过wContour和geotools实现等值面分析,该方案的主要特点是可以做成矢量切片服务,支持放大缩小、空间计算、标记等等。主要步骤有珊格数据抽稀、转Feature、图层异常处理、裁切、出图、入库。具体实现流程步骤写过一篇[文章](https://www.jianshu.com/p/a02274add35b),关于后面还有切片实现实现可以参考[Mapbox GL 加载GeoServer发布的矢量切片](https://blog.csdn.net/hequhecong10857/article/details/113895245) 或者 基于 [PostGIS 函数的矢量切片服务器](https://www.jianshu.com/p/7ccb95c4bfba),基于PostGIS方案应用于生产中效率高、依赖低,方案来源于曾经的技术总监。 结论:该方式是等值面空间数据发布服务,可以进行空间一系列计算。缺点:加载数据时需要进行切片加载,放大后有平滑效果,但整体效果不理想,出来的结果和真实数据有误差,加载数据慢,将网格数据进行等值面分析效率低。以广东省每小时间隔1km温度为测试,十几分钟出效果。 方案二:渲染成图像PNG 要将任何类型的GeoTools功能类型导出到图像,该过程是相同的-使用DataStore在功能(或覆盖范围)中读取,使用Style渲染这些功能。主要步骤是将网格数据生成分辨率为Params大小的热力图png(确定x、y轴,将图表划分为规整的矩形块。数值字段决定了矩形块的颜色),然后加载模板PNG,初始化RGB像素值,并根据起点坐标与间隔和多维数据进行匹配对应,根据两者的起始点和间隔比如进行像素RGB复制,具体RGB值由网格数组值对应的颜色进行设定,生成目标png后发布图片服务。 结论:该方式是以图片服务进行渲染,加载速度快,占用空间小,效果好(放大后会有明显像素方块),在将数据转换为图片是极快,以广东省每小时间隔1km温度为测试,1~2秒出效果。 #### doc文件资料 里面包含了测试数据,有雷达、温度、广东省shp文件,提供测试使用。 #### 效果图 温度效果图: ![输入图片说明](images/image_temp.png) 雷达效果图: ![输入图片说明](images/%E9%9B%B7%E8%BE%BE%E6%95%88%E6%9E%9C%E5%9B%BE.png) 效果图说明: 左边是之前的等值面分析结果,抽稀2倍计算,时间大概需要几分钟完成。 右边是参考热力图原理输出的效果图,所有点参与计算,时间基本在1~2秒内完成。 应用场景区别:等值面分析结果可以做空间计算,输出PNG图片可以发布geoserver服务查看 #### maven仓库引入 ` org.geotools gt-main ${geotools.version} org.geotools gt-shapefile ${geotools.version} org.geotools gt-epsg-hsql ${geotools.version} org.geotools gt-swing ${geotools.version} org.geotools gt-geojson ${geotools.version} org.geotools gt-metadata ${geotools.version} org.geotools gt-referencing ${geotools.version} org.geotools gt-grid ${geotools.version} org.locationtech.jts jts-core 1.18.2 org.meteothink meteoinfo-data 3.3.0 org.gdal gdal ${gdal.version} org.gdal gdal ${gdal.version} org.geotools.jdbc gt-jdbc-postgis ${geotools.version} ` 最后有不足之处,请多多指教!!!