文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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/

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

一个GIS开源工具集架构的总结的更多相关文章

  1. .net 开源工具集1 (SQL,报表,Cube,Office导出)

    http://www.cnblogs.com/asxinyu/p/dotnet_opensource_project_3.html

  2. java实战之数组工具集

    java是一门面向对象的语言,我们也提到过,面向对象的一个优点就在于能够提高代码的复用性,前面我们详细讲过数组的查找,排序,等等,为了提高代码的复用性,我们何不自己写一个数组的工具集,来综合下前面所学 ...

  3. 前端好的工具集推荐 lodash

    原来用 backbone 的时候, 感觉 underscore 是一个好的工具集,顿时感觉不错,不用自己一直去封装一些组件. 直到我遇到了 lodash,一只发现 web 项目中有依赖这个库的,但是一 ...

  4. 转载:Apache commons开源工具简介

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html Be ...

  5. ArcMap2Sld:一个将MXD中图层配图样式转换为OGC的SLD文件的开源工具

    在一个项目中,用户采用GeoServer做为GIS服务器(原因嘛当然是免费能省钱,经过验证可能还会在性能和稳定性等表现力也有优越性),但是手上收集的数据都是ESRI格式的,这倒不打紧,因为GeoSer ...

  6. 想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研

    想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研 http://blog.csdn.net/testing_is_believing/article/details/22 ...

  7. Slickflow.NET 开源工作流引擎高级开发(六) -- WebTest 引擎接口模拟测试工具集

    前言:引擎组件的接口测试不光是程序测试人员使用,而且也是产品负责人员需要用到的功能,因为在每一步流转过程中,就会完整模拟实际用户发生的场景,也就容易排查具体是程序问题还是业务问题,从而快速定位问题,及 ...

  8. GIS开源软件大全

    3 - F 3map:行星地球项目由3map驱动,这是一个自由软件,由Telstra宽带基金会创建并支持,提供客户端与服务器的能力以在线再现虚拟地球. Amein!:其界面介于ArcMap和UMN M ...

  9. 符合我公司GIS开源解决方案的探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 这一周,我对GIS开源解决方案中涉及到的开源软件以及相关技术 ...

随机推荐

  1. Shell学习心得(一):变量

     1.begin #!/bin/bash echo "Hello World !" #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell. ec ...

  2. python——绘制二元高斯分布的三维图像,

    在对数据进行可视化的过程中,可能经常需要对数据进行三维绘图,在python中进行三维绘图其实是比较简单的,下面我们将给出一个二元高斯分布的三维图像案例,并且给出相关函数的参数. 通常,我们绘制三维图像 ...

  3. renren-fast开源项目解析日志—1、项目的部署

    renren_fast项目解析日志 一.环境搭建 1.后端部署 (1)下载源码 按照步骤,从码云上down了fast,zip的(引maven项目)项目包. (2)安装lombok插件 安装lombok ...

  4. 从PRISM开始学WPF,Prism7更新了什么

    当时我在搬运Prism6.3的sample代码的时候,就是因为网上的资料太老旧,万万没想到这给自己挖了一个坑,因为我在做笔记的时候,prism已经在更新7.0了 现在已经是7.2了,(lll¬ω¬), ...

  5. 设计模式 | 建造者模式/生成器模式(builder)

    定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 结构:(书中图,侵删) 一个产品类 一个指定产品各个部件的抽象创建接口 若干个实现了各个部件的具体实现的创建类 一个 ...

  6. html 中 xmp标记

    HTML页面中显示HTML标签代码,可以使用<xmp>html标签内容</xmp>,这样,在网页中就会显示html标签 for(var i=0;i<columns.len ...

  7. windows组策略实验-本地组策略和域控组策略

    windows组策略实验-本地组策略和域控组策略 本地组策略只对本地计算机有效,域策略是计算机加入域环境后对加入域的一组计算机.用户定义的策略,便于管理 本地组策略: 一.实验环境 Windows 7 ...

  8. 团队选题报告(bull beer)

    一.团队成员及分工 团队名称:bull beer 团队成员: 黄文东:选题报告word撰写 沈培:原型设计,博客撰写,ppt制作 邓泽中:住院 刘帅:查找相关资料 二.选题报告内容 项目名称:学费管理 ...

  9. 从壹开始微服务 [ DDD ] 之二 ║ DDD入门 & 项目结构粗搭建

    前言 哈喽大家好,今天是周二,我们的DDD系列文章今天正式开始讲解,我这两天一直在学习,也一直在思考如何才能把这一个系列给合理的传递给大家,并且达到学习的目的,还没有特别好的路线,只是一个大概的模糊的 ...

  10. 三分钟学会.NET微服务之Polly

    熔断降级是一个非常重要的概念,我们先说一下什么是熔断降级,咱们都知道服务发现,一个有问题的服务器没来得急注销过一会就崩溃掉了,那么我们的请求就有可能访问一个已经崩溃的服务器,那么就会请求失败,因为已经 ...