继续折腾小玩具中,测试了一些中小型数据,其实也不算很小吧,80万要素,台湾建筑面数据,以及osm上下载的一些新疆道路啥的碎线,渲染效果还行,速度也至少比qgis要快一些,主要是缩放完全不重刷,效果看起来非常不错,哪怕在我五年前的笔记本上跑都不是很吃力.
然后测试全覆盖地类图斑数据翻车了...压缩的广东全覆盖gdb,459 万要素,4.3 亿顶点, 这数据是内部数据,想了很多办法,AI这时候就用处不是特别大了...
先尝试栅格瓦片,但是投影转换会有问题,会变形,而且栅格瓦片的问题也不少,渲染速度啊,渲染效果啊,都不算特别理想,不过说实话速度还可以,瓦片大小也算可控
然后尝试矢量LOD瓦片,正在尝试中,4g的数据,差不多2g的缓存,感觉有点大...普通80万要素的话缓存大概不到两百兆也还能接受,这个确实有点大了,不过毕竟数据量在这,翻车也不少,渲染现在还没搞好,合并瓦片效果也不对...
更新:优化了几天,矢量瓦片缓存减少到四百多兆了,效果比栅格瓦片要好得多,不过实际还是把点拉到格网上(类似mbtiles)默认只有512的瓦片,最底层1024,渲染不卡,不过失真还是失真的.反正能用了,撒花
测试修改的一些过程:
- 先还是尝试了下栅格路线,毕竟栅格除了渲染其他都还行,大小压缩什么的都很方便,但是栅格真的是太不争气了,要清晰就得加分辨率或者加层级,随便哪个都差不多,体积会变巨大...而且栅格跳层不太好处理,缩放快了容易看得出来很糊
- 矢量先开始是用的类似之前的办法,全量记录点,但是哪怕分块,也还是太大了,如上所述,2g多的缓存,压根算不上效率
- 后来用熟悉的矢量瓦片进行处理,不过只有底层铺了1024的瓦片,我暂时没想出来更好的办法,丢一点精度就丢一点吧,四百万的数据全量缓存缩小后压根没法画,只能抽稀,差不多十多分钟缓存构建完成
- 其实抽稀层级可以少中间层,因为纯考虑渲染效果其实没那么有必要铺满所有层级,测试还行,因此又减少到500M,缓存构建时间减少到6分钟
现在感觉渲染效率还行,以及在慢慢优化一些边边角角的小问题。反正这个玩意扔后台AI跑,问题不大。
只要agent规定好,测试写完善,测试数据给足,openCode效果已经算是非常不错的了。