FeatureLayer无法可视化渲染温度、降水、湿度、风速、雷达等数据?实时百万点数据无法快速分析且吃性能?
气温和降水等空间栅格数据说明:https://blog.csdn.net/shanyanyi7173/article/details/125026556
解决方案:
1.等值面分析(有空间数据)
JAVA 通过wContour和geotools实现等值面分析,该方案的主要特点是可以做成矢量切片服务,支持放大缩小、空间计算、标记等等。主要步骤有珊格数据抽稀、转Feature、图层异常处理、裁切、出图、入库。具体实现流程写过一篇文章https://www.jianshu.com/p/a02274add35b,关于后面还有切片实现实现可以参考Mapbox GL 加载GeoServer发布的矢量切片或者基于 PostGIS 函数的矢量切片服务器,基于PostGIS方案应用于生产中效率高、依赖低,方案来源于曾经的技术总监。
效果图:
结论:该方式是等值面空间数据发布服务,可以进行空间一系列计算。缺点:加载数据时需要进行切片加载,放大后有平滑效果,但整体效果不理想,出来的结果和真实数据有误差,加载数据慢,将网格数据进行等值面分析效率低。以广东省每小时间隔1km温度为测试,十几分钟出效果。
2.渲染热力图
要将任何类型的GeoTools功能类型导出到图像,该过程是相同的-使用DataStore在功能(或覆盖范围)中读取,使用Style渲染这些功能。主要步骤是将网格数据生成分辨率为Params大小的热力图png(确定x、y轴,将图表划分为规整的矩形块。数值字段决定了矩形块的颜色),然后加载模板PNG,初始化RGB像素值,并根据起点坐标与间隔和多维数据进行匹配对应,根据两者的起始点和间隔比如进行像素RGB复制,具体RGB值由网格数组值对应的颜色进行设定,生成目标png后发布图片服务。
效果图:
结论:该方式是以图片服务进行渲染,加载速度快,占用空间小,效果好(放大后会有明显像素方块),在将数据转换为图片是极快,以广东省每小时间隔1km温度为测试,1~2秒出效果。
3.转换为tif格式
初步设计步骤,读取气象数据,然后将数据NC转tif格式,使用广东省裁切,发布tif矢量服务器...
说明:如有侵权,请联系作者删除。