随笔分类 -  软件编程实践

摘要:本博客迁移到部署在jae上的独立博客系统wordpress,博客地址:点击打开独立博客。欢迎大家一起来讨论IT技术。 消息中间件基本上是每一个大型互联网公司的标准基础技术组件配置,虽然有很多的开源消息中间件,功能也很强大,但是今天我还是想介绍一下怎样自主架构与设计并实现一套完整的分布式消息中间... 阅读全文
posted @ 2014-10-15 18:05 蔷薇理想人生 阅读(1846) 评论(0) 推荐(0) 编辑
摘要:我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。 声明:此篇博客网上转载,转载原因是对于虚拟继承分析得比较彻底:让我很好的理解了虚拟继承的作用于带来的坏处(性能的损失)。 虚继承和虚基类的定义是非常的简单的,同时也是非常容易判断一个继承是否是虚继承的,虽然这两个概念的定义是非常的简单明确的,但是在C++语言中虚继承作为一个比较生僻的但是又是绝对必要的组成部份而存在着,并且其行为和模型均表现出和一般的继承体系之间的巨大的差异(包括访问性能上的差异),现在我们就来彻底的从语言、模型、性能和应用等多个方面对虚继承和虚基类进行研究。.. 阅读全文
posted @ 2012-02-03 01:20 蔷薇理想人生 阅读(3860) 评论(1) 推荐(1) 编辑
摘要:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。前面有几篇文章专门介绍了空间数据的导入,导入的目的是为了统一管理。今天介绍空间数据导出,导出的格式支持和导入的格式一样,导出的目的是为了方便数据的迁移。其实导入和导出用到的技术基本上都是相同的,不过为了介绍的完整性还是单独拿出来,因为这一部分的功能也是很重要而且是必不可少的!1.首先定义一个用于操作SDE数据库的工作空间并且在构造函数中初始化(调用工具类里面提供的静态方法初始化):1 ... 阅读全文
posted @ 2011-12-11 16:37 蔷薇理想人生 阅读(705) 评论(0) 推荐(1) 编辑
摘要:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。 本篇文章主要介绍本系统中的日志管理功能,由前面介绍的内容可以知道日志分为三类:分别是用户操作日志、数据表更新日志以及数据库监控日志,这些日志的写入可能遍布整个系统中的各个地方。这里提供一个统一的日志管理界面,可以对日志进行查询和删除,并没有提供修改的功能,因为日志是系统自动生成的,修改日志没有任何意义,而且还可能造成系统的漏洞,比如谁删除了数据然后把删除的日志记录修改了,就不能正确发现谁删除了数据! 阅读全文
posted @ 2011-12-08 23:55 蔷薇理想人生 阅读(1541) 评论(0) 推荐(2) 编辑
摘要:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。 最近在北京出差一直没有时间继续写博客,主要是晚上上网的条件不好,而且和几个同事住在一起也不太方便写博客,因为随时我们都可能聊天交流!今晚还是决定继续写一遍比较简单的博客,就是继续写ArcGIS的项目,今天主要介绍的内容就是关于空间数据完整性、格式等地检查!1.首先定义一个用于操作的SDE空间数据库的工作空间。1 public IFeatureWorkspace pWorkspaceSDE;//SDE 阅读全文
posted @ 2011-12-07 22:08 蔷薇理想人生 阅读(1724) 评论(0) 推荐(1) 编辑
摘要:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。 前面第九篇把Shape格式导入已经完成了,在这个以后我又陆续加入其他几篇这个项目相关知识介绍的博文,加入那些知识的目的是为了让博友们能够更加清楚这个项目的一切相关知识,以便更好的理解这个项目。现在开始完成MDB格式导入Oracle数据库。 和Shape相同的部分就不在讲解了,只讲解与Shape不同的实现部分!1.添加一个MDB格式的空间数据文件到导入列表,并显示其相关信息。 1 //... 阅读全文
posted @ 2011-11-26 00:31 蔷薇理想人生 阅读(1831) 评论(0) 推荐(1) 编辑
摘要:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。 本系统主要是针对已有的空间数据和属性数据进行统一的管理,包括数据的录入、导入、校核、入库、分发、同步等。同时要求对空间数据库进行适当的优化,确保软件运行的效率。需要实现的功能包括通用数据库管理、空间数据库管理、数据检索、数据备份与恢复、数据库监控与日志、数据字典管理子系统、元数据管理子系统、数据内容本地化、数据库优化、数据库运行维护系统及制度。下面具体分析每一个模块需要完成的功能。1 通用数据管理通 阅读全文
posted @ 2011-11-25 00:49 蔷薇理想人生 阅读(2287) 评论(0) 推荐(0) 编辑
摘要:先打一个广告:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。1 地理信息系统(GIS) GIS可以从三个不同的角度理解,第一GIS就是空间数据库,是一个包含了用于表达通用 GIS 数据模型(要素、栅格、拓扑、网络等等)的数据集的空间数据库。GIS将空间数据组织成一系列的专题图层和表格。由于GIS中的空间数据集具有地理参考,因此它们具有现实世界的位置信息并互相叠加。在一个 GIS中,同类型的地理对象集合被组织成图层,例如地块、水井、建筑物、正射影像 阅读全文
posted @ 2011-11-25 00:46 蔷薇理想人生 阅读(1523) 评论(1) 推荐(2) 编辑
摘要:先打一个广告:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。1 概述 随着计算机技术的飞速发展、空间技术的日新月异及计算机图形学理论的日渐完善,地理信息系统 (GIS:Geographic Information System)技术也日趋成熟,并且逐渐被人们所认识和接受。地理信息是指直接或间接与地球上的空间位置有关的信息,又常称为空间信息。一般来说,GIS可定义为:“用于采集、存储、管理、处理、检索、分析和表达地理空间数据的计算机系统,是分析和处 阅读全文
posted @ 2011-11-25 00:42 蔷薇理想人生 阅读(762) 评论(0) 推荐(0) 编辑
摘要:先打一个广告:我的独立博客网址是:http://it_blog.jd-app.com/。 我的新浪微博:http://weibo.com/freshairbrucewoo。 欢迎大家相互交流,共同提高技术。 这一篇博文终于要真正接触操作空间数据了,今天要完成讲解的功能就是导入Shape格式和MDB... 阅读全文
posted @ 2011-11-25 00:38 蔷薇理想人生 阅读(1754) 评论(1) 推荐(1) 编辑
摘要:先打一个广告:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。数据库设计 这篇文章介绍自己做这个项目时设计的数据库。 管理空间数据的方式有很多,本系统采用基于Oracle的空间数据库插件SDE来管理。存放空间数据的表结构是根据用户自定义标准来创建的,采用这种方式主要因为空间数据并没有固定的格式,不同格式的空间数据需要建立不同的表结构来存放数据,而且这样是管理空间数据更加灵活。本系统数据库的设计主要是管理空间数据需要用到的辅助表结构设计,由于这些表结 阅读全文
posted @ 2011-11-25 00:01 蔷薇理想人生 阅读(1057) 评论(0) 推荐(0) 编辑
摘要:先打一个广告:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。 我的新浪微博:http://weibo.com/freshairbrucewoo。 欢迎大家相互交流,共同提高技术。(1)要素类:具有相同属性、相同空间类型的要素的集合。在系统中,要素类指的是在图层管理栏中,矢量数据集目录下的要素 。(2)数据集:由具有相同投影的、具有相同比例尺的空间要素类的集合。一个数据集包 含多个要素类。(3)图库:管理空间数据集的空间数据库,图库可以包含多个数据集。(4)图层: 特指在数据库中但不属于任何数据集的空间数据表。它不属于图库,但可以作为数据集中要素类的数据来源. 阅读全文
posted @ 2011-11-24 23:48 蔷薇理想人生 阅读(603) 评论(0) 推荐(0) 编辑
摘要:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。 我的新浪微博:http://weibo.com/freshairbrucewoo。 欢迎大家相互交流,共同提高技术。 本系统的分层按照“数据分类”、“要素类别”和“图层”进行组织管理。一个数据分类包含一个或多个要素类别,一个要素类别包含一个或多个图层。图层分层标准可以作为创建图库的数据集和要素类时的参考标准。 数据分类和要素类别的定义是通过将用户提供的相关信息存储到数据库中,主要的信息有相应的名称、ID编号、描述等,存放要素类别的表还保存有数据分类的ID,这样就可以知道要素类别是属于哪一个数据分类了。数据分类. 阅读全文
posted @ 2011-11-23 22:43 蔷薇理想人生 阅读(1181) 评论(0) 推荐(0) 编辑
摘要:说明:此部分内容或资料大部分来至网上收集所得,以前放在自己电脑上,具体也不知道出处了!总结出来分享给需要的人,因为正好介绍的项目开发(如题)用到其中的一些知识。因为项目中已经支持ArcSDE、Shape和RDMBS(基于Oracle10g)之间的相互转换,后面介绍空间数据管理有这个功能模块,如果你想实现更多中GIS数据格式之间的相互转换,下面的内容提供很好的一个帮助和支持。0.介绍 数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提。ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异。本文主要介绍一下以下八种数据格式在ArcGIS Engin 阅读全文
posted @ 2011-11-23 00:31 蔷薇理想人生 阅读(1600) 评论(0) 推荐(0) 编辑
摘要:这篇博文很简单,就是介绍一下各种日志的写入操作,因为写日志的操作随时都需要,所以专门实现一个类来完成。日志一般情况可以写入文件,但是在本项目实现是直接写入Oracle数据库,主要是方便查询和按分类管理这些日志。日志的管理主要是一个单独的功能模块,写日志的功能可能遍布每一个其他功能模块。这里介绍写日志,主要写三种日志,具体实现如下各部分代码所示。1.操作日志,就是用户使用本系统产生的一些行为日志,方便监控哪些用户分别作了哪些操作。 /// <summary> /// 写操作日志 /// </summary> /// <param name... 阅读全文
posted @ 2011-11-22 23:27 蔷薇理想人生 阅读(700) 评论(0) 推荐(0) 编辑
摘要:先打一个广告:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。我的新浪微博:http://weibo.com/freshairbrucewoo。欢迎大家相互交流,共同提高技术。 本来打算睡觉了,但是突然看到自己保留的一个单独的C#文件,原来是AE常用操作的代码,这也是自己在做ArcGIS空间数据管理平台的项目时积累下来的,这里贴出来供需要使用的人。/******************************************************** * * 本类部分功能接口依附于_workSpaceInstance * 必须首先使用CreateW. 阅读全文
posted @ 2011-11-22 01:56 蔷薇理想人生 阅读(2063) 评论(1) 推荐(0) 编辑
摘要:本系统的一个重点功能就是管理空间数据,所以很多空间数据的操作,而且这些操作可能随时都可能用到,所以单独封装为一个独立的空间数据操作类(地图操作类)。封装的函数都是一些最基本的操作功能,具体实现基于ArcGIS平台的空间数据管理还需要很多复杂的功能和逻辑,后面介绍空间数据管理和编辑的时候会详细介绍。1.首先我们需要介绍的是连接空间数据库的代码函数,具体实现如下: /// <summary> /// 连接空间数据库并得到一个SDE工作空间的实例 /// </summary> /// <returns></returns> pu... 阅读全文
posted @ 2011-11-22 01:48 蔷薇理想人生 阅读(1300) 评论(0) 推荐(0) 编辑
摘要:先打一个广告:我的独立博客网址是:http://wuyouqiang.sinaapp.com/。 我的新浪微博:http://weibo.com/freshairbrucewoo。 欢迎大家相互交流,共同提高技术。 其实开发一个项目,难点不在于语言方面,不管哪一种语言都不是你实现一个项目的阻力,其实真正能不能完成一个项目,要看能不能完整而详细的理解项目的需求,然后理解需求的基础又是对行业相关知识的把握,只有弄清楚了行业知识以及相关的概念并且能够深入理解,才能轻松加愉快的完成项目,不然的话只有每天在无情的加班和代码面前无能为力。就针对我讲解的这个项目的开发,对于当时的我来说却是存在很多新的概念. 阅读全文
posted @ 2011-11-22 01:03 蔷薇理想人生 阅读(2111) 评论(2) 推荐(0) 编辑
摘要:由于在介绍通用数据管理模块功能的时候用到了许多通用的功能,例如word和excel与DataGridView控件的相互导入导出、写日志到数据库中等等。为了后面每一篇文章都能清楚的知道每一个功能具体是怎么实现的,现在先统一把用到的所有公用功能统一介绍和实现。由于SqlHelper类,也就是数据库的一些通用操作已经在登录模块中介绍,就不在重复介绍了。本篇将相介绍通用工具类CommonTools,由于代码中有比较详细的注释了,就不详细解析具体代码的功能了。这个类实现的功能如下。1.从DataGridView控件导出数据到Word文档 /// <summary> ///... 阅读全文
posted @ 2011-11-20 18:47 蔷薇理想人生 阅读(1105) 评论(0) 推荐(0) 编辑
摘要:上一篇文章把整个系统的主界面实现了,接下来就是实现主界面上提供的各个功能模块。首先介绍的是通用数据管理模块,为什么称为通用数据呢?因为这些数据和我们平时使用关系型数据库管理的数据是类似的,这里称为通用数据主要是为了和空间数据做区别。 该模块采用统一的界面来管理所有属性数据表,可以同时做添加、删除和修改,而且对于每一个表都是通用的操作。用户选择修改的表以后就建立一个数据集和这个表关联,再将这个数据集绑定到数据显示控件上,同时将数据集绑定到数据适配器上,当用户对这个表的编辑操作完成以后并点击保存按钮就会将所有的更新操作与数据库同步,这些功能都是调用数据适配器的接口完成。在与数据库同步的时候会先查. 阅读全文
posted @ 2011-11-20 15:26 蔷薇理想人生 阅读(1337) 评论(1) 推荐(0) 编辑