某院选线平台:用户可以导入kml、kmz、shp、dxf、dwg等多种要素文件,解析存入到sqlite数据库中,通过动态矢量切片技术,生成对应的mvt格式、pbf格式或者dat格式文件,解析坐标并画到场景中;面对上千万的要素,管理项目树结构则需要用到虚拟树结构来管理、大数据量的运算,也会有用到ILPGU运算。
某院设计三维产品:使用osg加载在线的地图影像切片数据,高程则是解析dem或者tif数据设置osg高度数据并创建几何体来显示高程网格,倾斜数据则是通过Gdal库解析Osgb格式切片,生成对应的纹理图加载到场景中;点云数据则是通过解析las格式文件获取所有的点;再将所有的点合成模型加载到场景中。
地图三维展示系统:搭建vue2生态环境,安装esri-loader与cesium等业务js,安装异步框架Rxjs,封装api层;利用webWorker多线程机制,加载三维场景大数据,控制js内存管理;利用工厂模式与其他设计模式封装多复用的js代码; 优化方案:因为用到了多线程机制,一个webWorker子线程开销有5MB左右,虽然64位web8引擎浏览器容量是1.4G,但也经不起这样消耗,所以,需要利用线程池来管理线程安全不阻塞,防止线程频繁的创建和终止消耗内存,还要对垃圾线程进行清理,释放资源。
一张图系统:single—spa暂不支持webpack,所以需要手动配置single-spa.config.js内容,配置加载函数与活动函数,还有注册子项目的应用名称; 优化方案:因为是多系统,多技术,风格不统一,所以,需要制定同一风格,然后根据各系统的组件,找相同的组件,封装成同一套组件库;使得风格统一。