• 一个GIS开源工具集架构的总结


    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

    1.背景

             最近由团队HWG主导的GIS开源工具集基本告一段落,该项目虽然由我发起,但是百分之八十均由HWG完成,我个人主要进行工具各模块功能的设计、代码优化、架构以及进度方面的把控。这里,权当做一个初略的总结。

           公司为应对各种项目数据需求,以及系统的快速搭建,团队积累了大量小工具。这些小工具的管理以及维护逐渐开始占据越来越多的研发资源。总结起来,主要有以下几个问题:

           a.工具均是基于AE开发,导致为了支持不同项目环境,出现了10.0到10.4的版本。

           b.针对支持不同的数据库环境,又出现了不同的数据库版本工具。

           c.目前有近20个工具,过于零散,没有统一管理。

           d.工具的操作不够扁平,不够人性化。

           在这样的背景下,我在今年九月底时申请了工具集升级立项。

    2.整体设计

                  

    3.整体设计说明

           a.采用插架框架,该框架需支持插件与宿主之间的通信。

           b.舍弃AE,使用开源的GDAL,避免因为空间引擎不同导致多个工具版本出现。

           c.整合数据库操作,将Mysql和Oracle操作整体封装,避免因为数据库不同导致多个工具版本出现。

           d.进行公用模块封装,将GDAL空间数据操作模块、数据库操作模块、日志模块均封装成公用DLL库,供其他各系统集成。

           e.各工具进行开源化、插件化改造。

    4.功能优化设计

           a.权限管理,增加普通用户和超级用户概念。

           b.数据共享,各插件中新增数据源后,其他插件可以共享该数据源,而不需要重复添加操作。

           c.交互优化,减少不必要的的点击和填写操作,可以自动填充的栏目进行自动填充,可以省略的操作进行简化操作。

           d.中文支持优化,由于GDAL对中文支持问题比较多,需彻底优化该部分。

           e.多库支持优化,将SQL提取成配置文件,针对不同库的使用不同的SQL文件,使核心代码统一,修改部分转移至配置文件上。

           f.效率优化,在多线程以及数据库SQL操作部分进行优化。

    5.成果展示

                               

    6.总结

             该工具基于开源架构处理空间数据,并且实现了对多库的支持,从而将之前繁复的工具和版本整合成了一个统一的版本,将很大程度上提升产品的维护和管理,也方便了工程同事的使用。后续其他工具,也将陆续集成至该版本中。

                                                                           -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                             如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                                                                                                        

  • 相关阅读:
    并发编程 19—— 显式的Conditon 对象
    JVM实用参数——新生代垃圾回收
    设计模式 8 —— 适配器和外观模式
    并发编程 18—— 使用内置条件队列实现简单的有界缓存
    并发编程 17—— Lock
    Spring 事务管理 01 ——
    并发编程 16—— 线程池 之 原理二
    并发编程 15—— 线程池 之 原理一
    并发编程 14—— 线程池 之 整体架构
    java.util.logging.Logger 使用详解
  • 原文地址:https://www.cnblogs.com/naaoveGIS/p/8276792.html
Copyright © 2020-2023  润新知