基于MapX的土地利用现状数据库的设计与实现(精选10篇)
土地利用现状数据库的建立,可实现土地利用现状资料管理和变更调查工作的数字化和自动化.分析了土地利用现状数据库的建设现状及其特点,论述了建立土地利用数据库的重要性,以张寨镇为例.实现了基于MapX的.土地利用现状数据库系统设计,并在此基础上实现了系统查询功能和地图的基本操作功能.
作 者:马程锦 李钢 张华 王光辉 MA Chengjin LI Gang ZHANG Hua WANG Ganghui 作者单位:马程锦,张华,王光辉,MA Chengjin,ZHANG Hua,WANG Ganghui(中国矿业大学环境与测绘学院,江苏徐州,221008)
李钢,LI Gang(中国矿业大学环境与测绘学院,江苏徐州221008;徐州市国上资源局,江苏徐州221008)
1 系统体系结构
根据本系统的需求分析, 综合考虑软件性能和开发成本, 本系统采用C/S (客户端/服务器) 的三层体系结构 (图1) 。
1.1 数据层
采用大型关系数据库管理系统实现对整个系统数据的管理。系统数据库在逻辑上分成两部分:空间数据库和属性数据库, 前者存储地理空间数据, 实现不同行政区域数据的无缝拼接, 由中间层的空间数据引擎协同管理;后者存储属性和管理数据。二者之间通过地理定位编码相互关联。
1.2 中间层
采用空间数据引擎协同管理空间数据库。
1.3 应用层
用户直接接触的部分, 根据不同的用户需要, 将应用层分成两个部分:系统用户端和部门用户端。
2 系统功能
系统按模块化结构设计, 划分为基础数据处理模块、规划辅助编制模块、规划成果管理模块、规划实施管理模块、专题分析模块、系统维护模块等6个功能模块。一方面各模块在功能上相互独立, 另一方面, 各模块又通过数据共享、功能调用、界面集成而紧密相联。
2.1 基础数据处理模块
基础数据处理模块实现最基本的GIS功能:包括数据录入与编辑、数据浏览、数据查询、数据分析和数据交换。
数据处理的前提是让用户能够快速的定位、查看所需要的数据。由于数据库中存储的数据量很大, 如果用户的每一次屏幕操作都涉及覆盖整个数据库范围的一个层或几个层势必造成浏览处理速度下降, 屏幕刷新缓慢甚至死机。针对这种情况在用户操作前首先提供一套调图机制, 使得用户可以根据灵活的条件把要浏览的数据先装载到系统中, 再对其进行操作 (图2) 。
调图功能具体分成自定义调图和传统调图两种。
(1) 自定义调图方式。
是指用户定义调图的范围和调图的内容 (图层) , 系统可以根据用户提供的图幅号、单位名称、道路名称、地名确定浏览数据的范围。用户可以根据图层的名称, 大类和实体的类型 (点、线、面和注记) 来确定要打开的图层。
(2) 传统调图方式。
是指制作索引图, 让用户可以根据索引图漫游数据, 然后在此基础上用户可以选择浏览的范围。这种调图的方式需要先从某个比例尺的数据中默认指定某个索引图层, 作为系统缺省要加载的图层。
2.2 规划辅助编制模块
规划辅助编制是指利用计算机辅助编制土地利用规划和专项规划, 以及在规划实施过程中根据实际需要, 按照法律程序对规划进行局部调整和修改。规划辅助编制包括规划的方案拟定、方案比较、成果输出等;规划局部调整和修改包括对规划指标、用地布局等的调整。具体功能包括数据编辑、数据查询统计和规划指标调整等基本功能, 规划地块拟定, 规划方案分析, 规划地块调整, 规划地块注记, 规划用地类型汇总统计、规划成果输出。
规划地块调整具体可以划分为图形变更和属性变更, 通常图形变更伴随着属性变更。其中, 图形变更主要可以归结为地块合并、地块分割和边界变更。提交变更后即时刷新现有规划图层, 同时在数据库中保留原有地块信息以备历史回溯。
2.3 规划成果管理模块
规划成果管理是指对经批准的土地利用规划成果及在规划实施中形成的相关规划成果的管理, 包括图件成果和文档成果的调阅、查询、统计和输出等。
2.4 规划实施管理模块
规划实施管理模块对具体规划实施业务进行管理, 包括:土地利用年度计划管理、建设项目用地预审管理、单独选址建设项目用地规划审查、城镇分批次建设用地规划审查、土地整理复垦开发项目规划审查、未报已批土地利用项目登记。
2.5 专题分析模块
计划执行情况分析、规划实施情况分析、土地利用情况分析、对规划信息, 土地利用现状信息, 建设项目占用农用地面积、占用耕地面积;土地开发补充耕地面积;土地整理复垦补充耕地面积、计划指标统计专题图、业务统计报表制作等。
2.6 系统维护模块
系统维护模块包括用户管理、系统设置、数据维护、日志管理等功能。
3 系统实现
为使本系统与其它相关信息系统实现数据共享与功能互补、互用, 给使用者提供完整统一的土地资源信息与土地资源管理工具, 本系统的GIS平台采用ArcGIS、空间数据引擎采用ArcSDE。
由于ArcGIS是一个通用的GIS平台, 且在实际工作中只应用ArcGIS的部分功能但却要通过庞大的GIS平台来支持, 占用大量的计算机资源, 成本也很高。所以需要针对行业特点进行二次开发。目前基于A r c G I S的二次开发有三种选择, 使用A r c O b j e c t s (A O) 、M a p O b j e c t (M O) 或ArcEngine (AE) 。简单的说, AO功能强大, 但是用AO开发的应用程序不能脱离ArcGIS的桌面产品独立运行, 这就导致了开发运行成本高;MO成本低但功能简单, 高级的功能 (如空间分析、三维分析等) 必须完全由开发者自己去实现, 所以介于两者之间的AE凭借其强大的功能及独立性使它成为许多GIS开发人员首选的二次开发组件。
根据功能需求, 本系统选择ArcEngine做为GIS开发组件, 采用简单易用的Visual Basic 6.0开发语言进行开发。用ArcEngine开发要做的工作首先就是在VB6.0集成环境中引入ArcEngine对象库, 剩下的工作就是在程序中利用ArcEngine对象库提供的接口实现系统功能。
利用Arc Engine提供的可视化控件TOCControl、MapControl、PageLayout可以很容易地实现图层管理和布局输出, 使得开发人员更专注于专业功能的开发。
在数据访问时, 针对不同的数据采用不同的方式。对与地理位置有关的空间数据采用ArcEngine提供的接口通过ArcSDE引擎访问数据库, 对与地理位置无关的数据例如业务数据、管理数据, 系统通过ADO控件读取。
4 系统特点
在土地利用规划编制和实施管理中用土地利用规划管理信息系统代替常规的手工方式极大地提高了工作效率。系统具有如下特点。
(1) 提供西安坐标和广州坐标动态转换功能, 解决了广州国土系统和城建系统坐标不统一的问题。 (2) 将土地利用规划修编和实施管理中用到的纷繁复杂的数据系统地组织起来, 方便用户使用, 并通过一套调图机制, 使得用户可以根据灵活的条件把要浏览的数据先装载到系统中, 再对其进行操作。 (3) 系统具有方便的土地利用规划和现状统计功能以及多种分析报表, 功能强大的图层叠加分析功能, 为规划辅助编制及红线预审管理提供重要的统计数据支持。 (4) 可以自动进行红线坐标标注, 并提供完备的布局输出功能, 自动生成图签、图例和红线坐标列表, 方便用户红线预审出图。
5 结语
在系统建设过程中, 我们意识到建立一个完善、先进、实用的土地利用规划管理信息系统是一项复杂的软件系统工程, 单靠一方面的力量难以完满地完成, 必须由开发单位与房屋管理和国土资源局密切配合, 共同完成。
另外, 作为一个信息系统的建设是不可能一步到位、一蹴而就的, 必须根据实际情况, 按照“统一设计、分步实施、通盘考虑、由点到面”的原则进行开发。
任何系统都不可能是完美的, 本系统也不例外, 随着业务的发展, 系统也将在使用中不断完善。
参考文献
[1]张新长, 马林兵, 张青年.地理信息系统数据库[M].科学出版社, 2005.
[2]吴玮, 李小帅, 张斌.基于Ar cGIS En-gine的GIS开发技术探讨[J].科学技术与工程, 2006, 6 (2) :176~178.
[3]操震洲, 李清泉.基于ArcSDE和ArcGISEngine的版本管理系统的设计和实现[J].测绘与空间地理信息, 2006, 29 (1) :76~78.
【关键词】JavaEE;数据库;架构;设计;实现
JavaEE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。JavaEE是建立在Java平台上的企业级应用的解决方案,它极大的简化了企业级解决方案的开发、部署和管理等复杂的问题。同时,它也为企业级应用提供事务、安全性、命名、持久性和资源管理等服务,这些服务使得JavaEE应用开发人员能够专注于开发商业逻辑而不必考虑底层的细节。
一、JavaEE开发平台简介
JavaEE包括Faculies for develops JavaEE Apps,Runtime Environment,Docs&Samples。
JavaEE核心就是来解决分布式应用(见图1)。
Java EE一般分为4层:
(1)客户端
(2)web层
(3)业务逻辑层
(4)企业信息层(EIS:Enterprise Information System)
JavaEE Containers
Containers are the interface between a component and the low-levelplatform-specific functionality that supports the component. Before aweb,enterprise bean,or application client component can be executed,it must be assembled into a Java EE module and deployedinto its container。e.g.Entity Bean Container(Jboss).
是用来管理组件行为的一个集合工具。
组件:本意是指可以重用的代码单元,一般代表着一个或者一组可以独立出来的功能模块,在J2ee中组件的种类有很多种,比较常见的是EJB组件、DAO组件、客户端组件或者应用程序组件等,它们有个共同特点是分别会打包成.war,.jar,.jar,.ear,每个组件由特定格式的xml描述符文件进行描述,而且服务器端的组件都需要被部署到应用服务器上面才能够被使用。
JavaEE Container Type
JavaEE Application Server
The runtime portion of a JavaEE product. A JavaEE server provides EJBand web containers.Enterprise JavaBeans (EJB) Container
Manages the execution of enterprise beans for JavaEE applications.
Enterprise beans and their container run on the JavaEE server.
JavaBeans™ 架构基于一种组件模型,此模型允许开发人员创建组件软件单元。组件是功能完备且可重用的软件单元。可以使用可视化应用程序构建工具将组件集成到复合组件、applet 程序、应用程序和 servlet 中。JavaBean 组件也称作 beans。
Web Container(Tomcat、apache)
Manages the execution of JSP page and servlet components for JavaEEapplications.
Web components and their container run on the JavaEE server.
Application client container
Manages the execution of application clientcomponents.
Application clients and their container run on theclient.
Applet container
Manages the execution of applets.
Consists of a web browser and Java Plugin runningon the client together.
二、JavaEE体系架构
JavaEE体系架构采用传统的MVC设计模式,分为Model、View、Controller三层,其中:Model即模型层,定义数据模型和业务逻辑。为了将数据访问与业务逻辑分离,提高业务精度,降低代码之间的耦合,模型层又细分为DAO层与业务层,DAO全称为Data Access Object(数据访问对象),将数据库访问代码封闭起来,Hibernate API也在此封装,不再出现在其他层或向其他层暴露;业务层是整个系统最核心也最具价值的一层,该层封装应用程序的业务逻辑,处理数据,关注客户需求,在业务处理过程中会访问原始数据或产生新数据,或者需要持久化数据,DAO层提供的DAO类能很好地帮助业务层完成数据处理,业务层本身则侧重于对客户需求的理解和业务规则的适应,自然也包括大部分的计算,总体说来,DAO不处理业务逻辑,只为业务层提供辅助,获取原始数据或持久化数据等操作。View即视图层,为最终用户提供一个友好的交互界面,用户可以查看请求结果,也可以通过表单等交互手段实现数据录入。Controller层即控制器,控制器是Model与View的桥梁,将二者很好的衔接,通过View接收用户数据,Controller将数据传输给Model,Model对数据进行处理;或者Model读取数据后,Controller将数据传递给View,View向用户展示数据。一来一往,Controller成了Model与View之间的快乐使者。
三、JavaEE数据管理系统的设计与实现
(一)元数据管理系统的设计
使用本系统的各部门实际情况不同,系统可能被部署到不同的平台上,而且需要对该系统进行一定的扩展和改进。所以在系统设计上,需要充分考虑到系统的可移植性和可扩展性。
1.系统设计
本系统基于J2EE平台,是一个浏览器/服务器(B/S)结构的系统,具有J2EE平台可以跨系统使用的特性,采用MVC(Model-View-Controller)应用框架。MVC设计框架的内部原理比较复杂,将MVC运用到应用程序中会带来大量的额外工作,增加应用的复杂性。但是MVC可以轻松地实现程序代码与HTML的分离,而且MVC的三个模块相互独立,可以构造良好的松耦合构件,提高应用系统的可维护性、可扩展性、可移植性和可复用性。从长远的应用考虑,应使用MVC设计框架。
本系统在传统的B/S三层结构上作了一定的改进。
(1)表现层。在该层使用Struts框架。Struts是一个MVC模式的表现层应用框架。浏览器向Web服务器提出请求后,Web服务器会把请求交给控制器处理。ActionServlet控制器根据请求的不同,将它们转发给不同的Action实例。Action实例在这里充当了用户请求与业务处理逻辑之间的适配器,它只负责控制整个程序的流程,不关心具体业务的实现,实现了请求与业务逻辑的分开。本系统使用一个高效的Action类——DispatchAction类。只要继承该类,就可以在一个Action中集成多个业务方法,有利于系统的维护。在视图显示方面,其大量使用了Struts标签,用来控制显示的逻辑和内容。由于不同平台采取的编码方式不同,在进行系统移植时很容易出现中文乱码问题。在这里使用一个可插拔式的过滤器,实现对请求和响应的预处理及后处理,很好地解决了字符编码问题,使系统可以在不同的平台上进行移植。
(2)业务层。它处理用户请求和应用逻辑。在处理之前,将所有涉及到表现层的数据结构替换成更加通用的数据结构类型;使用通用的、与表现层无关的数据结构在这两层之间传递参数。表现层方法提交的参数类型主要是HttpServletRequest和HttpServletResponse;使用这样的参数会增加系统的耦合性,不利于代码的重用,所以要将它们处理成通用的数据类型,如数组。这一过程在Action适配器进行转发之前完成,提供给业务层的参数是通用的数据类型。业务层方法之间的通信也通过通用的参数类型进行,使得每个业务方法均独立存在于系统之中,在很大程度上减少了系统的耦合,提高了可复用性。
(3)数据层。为了实现数据库访问细节与业务层的分离,引入持久化层。
为了使系统具有较好的可维护性、可移植性和可复用性,采用以上的设计思想,以搭建一个逻辑清楚、功能明确、模块化程度高的元数据管理系统。
2.工作流程
用户通过浏览器(IE/Netscape)向服务器提交请求,请求经过过滤器处理后再提交给控制器ActionServlet;控制器根据请求的类别将它们转发给不同的DispatchAction类。该类中的方法对参数进行处理后调用不同的业务逻辑对请求进行分析处理,处理后得到的信息通过视图显示在用户浏览器上。
(二)基于J2EE的元数据管理系统的实现
一个元数据管理系统——基于J2EE的小城镇元数据管理平台。本实例以J2EE平台为基础,Tomcat 5.0为服务器,可以使用Oracle 9i、SQL Server 2000、MySQL数据库,使用了ORM(Object-Relation Mapping)模式的持久化层中间件Hibernate,以Eclipse 3.0为开发平台。在系统实现过程中,使用了以J2EE平台为基础的各项技术,遵循Java2标准平台的编码标准,注重系统的可扩展性和可维护性。系统的XML引擎采用了DOM(Document Object Model)和SAX(Simple API for XML)。DOM负责XML文档的生成和修改;SAX对XML进行解析。
四、JavaEE应用程序在Glassfish上的性能调优案例分析
Java EE应用的性能问题对严肃的项目和产品来说是一个非常重要的问题。特别是企业级的应用,并发用户多,数据传输量大,业务逻辑复杂,占用系统资源多,因此性能问题在企业级应用变得至关重要,它和系统的稳定性有着直接的联系。更加重要的是,性能好的应用在完成相同任务的条件下,能够占用更少的资源,获得更好的用户体验,换句话说,就是能够节省费用和消耗,获得更高的利润。JavaEE应用性能调优不仅仅和Glassfish有关,Java语言有关,还要和操作系统以及硬件都有关系,需要调优者有综合的知识和技能。这些不同层面的方法需要综合纵效,结合在一起灵活使用,才能快速有效的定位性能瓶颈。下面是一些具体的案例分析:
(一)内存泄漏问题
某个JavaEE应用运行在8颗CPU的服务器上。上线运行发现性能不稳定。性能随着时间的增加而越来越慢。通过操作系统的工具(mpstat),发现在系统很慢的时候,只有一颗CPU很忙,其他的CPU都很空闲。因此怀疑是Java虚拟机经常进行内存回收,因为虚拟机在内存回收的时候,有的回收算法通常只能运行在一个CPU上。通过Java虚拟机的工具“jstat”可以清楚的看到,Java虚拟机进行内存回收的频率非常高,几乎每5秒中就有一次,每次回收的时间为2秒钟。另外,通过“jstat”的输出还发现每次回收释放的内存非常有限,大多数对象都无法回收。这种现象很大程度上暗示着内存泄漏。使用 Java虚拟机的工具“jmap”来获得当前的一个内存映象。发现有很多(超过10000)个的session对象。这是不正常的一个现象。一般来说, session对应于一个用户的多次访问,当用户退出的时候,session就应该失效,对象应该被回收。当我们和这个系统的开发工程师了解有关 session的设置,发现当他们部署应用的时候,竟然将session的timeout时间设置为50分钟,并且没有提供logout的接口。这样的设置下,每个session的数据都会保存50分钟才会被回收。根据我们的建议,系统提供了logout的链接,并且告诉用户如果退出应用,应该点击这个 logout的链接;并且将session的timeout时间修改为5分钟。通过几天的测试,证明泄漏的问题得到解决。
(二)数据库连接池问题
某财务应用运行在JavaEE服务器上,后台连接Oracle数据库。并发用户数量超过100人左右的时候系统停止响应。通过操作系统层面的进程监控工具发现进程并没有被杀死或挂起,而CPU使用率几乎为零。那么是什么原因导致系统停止响应用户请求呢?我们利用Java虚拟机的工具(kill -3 pid)将当前的所有线程状态DUMP出来,发现JavaEE服务器的大部分处理线程都在等待数据库连接池的连接,而那些已经获得数据库连接的线程却处于阻塞状态。数据库管理员应要求检查了数据库的状态,发现所有的连接的session都处于死锁状态。显然,这是因为数据库端出现了死锁的操作,阻塞了那些有数据库操作的请求,占用了所有数据库连接池中的连接。后续的请求如果还要从连接池中获取连接,就会阻塞在连接池上。当解决数据库死锁的问题之后,性能问题迎刃而解。
(三)大对象缓存问题
电信应用运行在64位Java虚拟机上,系统运行得很不稳定,系统经常停止响应。使用进程工具查看,发现进程并没有被杀死或挂起。利用Java虚拟机的工具发现系统在长时间的进行内存回收,内存回收的时间长达15分钟,整个系统在内存回收的时候就像挂起一样。另外还观察到系统使用了12G的内存(因为是 64位虚拟机所以突破了4G内存的限制)。从开发人员那里了解到,这个应用为了提高性能,大量使用了对象缓存,但是事与愿违,在Java中使用过多的内存,虽然在正常运行的时候能够获得很好的性能,但是会大大增加内存回收的时间。特别是对象缓存,本系统使用了8G的缓存空间,共缓存了6000多万个对象,对这些对象的遍历导致了长时间的内存回收。根据我们的建议,将缓存空间减少到1G,并调整回收算法(使用增量回收的算法),使得系统由于内存回收而造成的最大停顿时间减少到4秒,基本满足用户的需求。
(四)外部命令问题
数字校园应用运行在4CPU的Solaris10服务器上,中间件为JavaEE服务器。系统在做大并发压力测试的时候,请求响应时间比较慢,通过操作系统的工具(mpstat)发现CPU使用率比较高。并且系统占用绝大多数的CPU资源而不是应用本身。这是个不正常的现象,通常情况下用户应用的CPU占用率应该占主要地位,才能说明系统是正常工作。通过Solaris 10的Dtrace脚本,我们查看当前情况下哪些系统调用花费了最多的CPU资源,竟然发现最花费CPU的系统调用是“fork”。众所周知, “fork”系统调用是用来产生新的进程,在Java虚拟机中只有线程的概念,绝不会有进程的产生。这是个非常异常的现象。通过本系统的开发人员,我们找到了答案:每个用户请求的处理都包含执行一个外部shell脚本,来获得系统的一些信息。这是通过Java的“Runtime.getRuntime ().exec”来完成的,但是这种方法在Java中非常消耗资源。Java虚拟机执行这个命令的方式是:首先克隆一个和当前虚拟机一样的进程,再用这个新的进程去执行外部命令,最后再退出这个进程。如果频繁执行这个操作,系统的消耗会很大,不仅在CPU,内存操作也很重。用户根据建议去掉这个shell 脚本执行的语句,系统立刻回复了正常。
基于J2EE的元数据管理平台,具有良好的跨平台特性;解决了多源异构数据的融合、遥感数据的存储、数据持久化和用户控制访问问题;在设计和实现过程中遵循J2EE的设计模式,具有良好的扩展性和维护性;功能模块具有低耦合的特点,极大地提高了代码的可复用性;可对元数据进行有效管理,实现信息的共享发布,广泛地应用在各个领域。在如何提高系统的安全性方面还有待于对其进行进一步的研究。
参考文献:
[1]杨浮群,邹利艳,徐丽.JavaEE开发环境下Sql Serve数据库优化[J].电脑知识与技术,2011,31.
[2]JavaEE应用系统设计与开发课程培训.2011,11.
[3]刘世贵,郭文龙,姜惠娟.基于Java EE架构的多层软件的测试研究与实现[J].电脑知识与技术,2010,17.
目前,军事任务难度的提高和对战争资源进行有效利用的需要大大提高了战前准备的重要性。角色模拟作为任务计划不可缺少的一部分,它的重要性已经开始提高。为了提高仿真活动的执行能力,其中一种方法是利用虚拟战场。而随着虚拟现实等相关技术的日益成熟和网格、普适计算等新技术的不断涌现,虚拟战场的开发和应用都有了长足的发展,广泛地应用于军事训练与演习、军事问题研究、武器装备论证等军事实践活动。
1、MAPX
1.1 MAPX简介
MapInfo MapX是一个用来做地图化工作的OCX控件,它可以很容易地在应用程序中加入强大的制图功能。MapX可以被快速集成到使用Visual Basic、PowerBuilder、Delphi、Visual C++或其他面向对象的语言的客户端应用程序以及使用Lotus Script的Lotus Notes(v4.5)中。开发人员可以在熟悉的环境中工作,最终用户可以通过熟悉的应用程序来访问地图数据。
1.2 MAPX的基本概念
启用MapX的分析功能,可以分组和组织数据、执行搜索或在一个指定的半径、矩形区域或指定的点的周围选择地图图元。
1.2.1地图化概念
(1)组织数据和地图:表概述
要使用MapX,需要有记录和MapInfo地图文件。MapX以MapInfo表的形式组织所有潜在信息。每个表都是一组用来在地图中创建图层的MapInfo文件。
(2)文件如何组成表
所有的MapInfo表都会拥有下列文件:
<文件名>.tab:描述MapInfo表的结构。它是描述包含数据的文件的格式的小文本文件。
<文件名>.dat:(.mdb、.aid或.dbf):这些文件含有表格格式数据。
<文件名>.map:描述图形对象(如果表没有地图对象则不存在该文件)。
<文件名>.id:是链接对象和数据的交叉引用文件(如果表没有地图对象则不存在该文件)。
<文件名>.ind:索引文件。索引文件允许使用Find对象来查找地图对象。
1.2.2图元
在MapX中有四个基本的图元样式:
区域对象:覆盖给出地区的封闭对象。包括多边形、椭圆形以及矩形。例如,国家的边界、邮政编码划分区的边界、销售区域等等。
1.2.3图层
MapX具有显示和控制地图图层的显示功能,让它只在地图的缩放比例符合事先调整的距离时才显示。还可以使用或创建无缝地图图层,它可以把一组基表看作一个整体。特殊图层类型可以支持特殊类型的应用,如动态图层(用于实时跟踪)和用户描绘图层(用于描绘特殊的地图元素,如地图上方的标志)。
以下本系统使用到的两个函数:
m_ctrlMapX.SetCurrentTool(1003);//该函数实现了地图放大功能
m_ctrlMapX.SetCurrentTool(1004);//该函数实现了地图缩小功能
2、XML简介
XML(XML Language可扩展标识语言)是一种描述数据和数据结构的语言,可以保存在任何可以存储文本的文档中。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
2.1 XML用于交换数据
通过使用XML,可以在互不兼容的系统间交换数据。
通过将数据转换为XML,可以极大地降低这种复杂性,并创建可被许多不同类型的应用程序读取的数据。
2.2 XML可被用来共享数据
通过使用XML,纯文本文件可用于共享数据。
由于XML数据存储为纯文本格式,XML提供了独立于软硬件的数据共享解决方案。
这使得不同的应用程序都可以更容易地创建数据。也更容易把某个系统扩展或更新为新的操作系统、服务器、应用程序以及浏览器。
2.3 XML可用于存储数据
通过使用XML,纯文本文件可用于存储数据。
3. 战场仿真想定编辑系统的设计实现
3.1 用例分析
3.2 人机交互设计
根据图1系统用例图,战场仿真想定编辑器应具有下述的人机交互接口:
3.2.1 环境信息编辑接口
以编辑框的形式向用户提供海区代号、中心点经纬度、直径、风速、风向、大气温度、大气湿度、海况、流速、流向、水温、盐度、海底质、海深值、跃变层深的、季节代号等信息的输入接口;以编辑框的形式向用户提供海深及速度的值,提供声速梯度的计算参数,并以二维表的形式显示声速梯度计算结果。
3.2.2 武器配置信息编辑接口
以编辑框和下拉框的形式向用户提供武器配置信息的输入接口,包括综合声纳型号、噪声测距声纳性能、舷侧阵声纳型号、拖曳阵声纳型号、侦查声纳型号、通信声纳型号、对抗报警声纳型号、匹配场声纳型号、攻击雷达型号、气雾弹型号、鱼雷型号、线导方法、反潜自导速制,以及10个管的武器型号。
3.2.3 兵力部署信息编辑接口
提供我方平台及目标兵力的初始态势信息输入接口,其中主要以编辑框和下拉框的方式提供输入接口,包括实体类型、实体ID、实体阵营、航速、航向、经度、维度、国际、阵型、敌我属性、方位经度、距离经度。
3.2.4 保存及加载接口
提供想定编辑信息保存及加载的操作按钮。当用户单击保存想定时,向用户提供文件保存路径选择窗口,使用户能够任意指定路径。
3.2.5 海图操作接口
提供海图放大、海图缩小、海图漫游、海图测距等按钮工具,便于对海图的操作。
3.3 系统组成结构
根据用例分析结果,将战场仿真想定编辑系统划分为七个模块:兵力实体想定编辑模块、武器配置信息想定编辑模块、海洋环境信息想定编辑模块、作战想定信息控制模块、海图显示及控制模块、想定解析模块和XML读写模块。
4. 战场仿真想定编辑系统的验证
4.1 即时新建战场态势信息测试
创建一艘红方潜艇及一艘蓝方水面舰艇的操作如下:
(1)运行程序,在主界面中选择“海洋环境信息”。单击“海洋环境信息”按钮,获得海洋环境编辑对话框,如图2所示。
(2)单击“舰艇武器配置”按钮,获得舰艇武器配置想定编辑对话框。
(3)单击“实体初始态势”按钮,获得兵力实体想定编辑对话框,如图3所示。
(a)在兵力想定编辑对话框中的左侧框中,选择实体类型为本艇,实体阵营、航速、航向、初始经纬度等信息,单击“添加”,则在右侧树型控件中添加实体,如图4所示。
(b)按照上步中同样的方法输入蓝方兵力的实体信息,单击“添加”按钮,则在右侧树型控件中添加实体。
4.2 读取/保存战场态势信息测试
读取想定信息的操作如下:
启动程序,在主界面中的“想定文件编辑”栏中选择“打开想定文件”,则获得想定文件的路径选择对话框。
(a)单击“打开”后,则读取该想定中的信息。此时单击“实体初始态势”按钮,可以看到此时想定中的态势信息已添加到程序中。
(b)当用户修改了想定信息后,单击“保存想定文件”,则获得保存路径对话框,用户可选择路径及输入保存的文件名。
(c)如“一艇两舰.xml”,单击确定,可在该路径下新增一个文件,使用浏览器打开该文件,可以看到该文件保存的想定信息,如图5所示。
4.3 海图操作功能测试
在左侧工具栏条中选择“GIS地图操作”栏,单击“图元选择”、拖拉显示”、“放大显示”、“缩小显示”按钮可进行海图的放大、缩小、漫游及测距功能。
5. 结论
本文设计的战场仿真想定编辑系统通过采用VI-SUAL C++开发环境,实现了友好的可视化界面,对虚拟战场进行设置以及对战场情况进行观察等功能,为军事仿真演练提供有效的辅助工具,而且还提高系统开发效率和系统实用性,并在分布式交换仿真对抗演习中得到了很好的应用。
参考文献
[1]张银鹤张秋香孙膺等.XML实践教程[M].第一版,北京:清华大学出版社,2007.
[2]王晓华,柴旭东,张田文,孔胜淼.虚拟试验场的二维态势显示研究[J],全国系统仿真学术年会,2003,09,001,12-20.
[3]顾兵.XML实用技术教程[M].第一版,北京:清华大学出版社,2007.
[4]郭奇胜.计算机生成兵力导论[M].第一版,北京:国防工业出版社,2006.
[5]王国玉,汪连栋,肖顺平.电子系统建模仿真与评估[M].长沙:国防科技大学出版社,1999.
[7]李伟波,史扬.基于XML的潜艇作战方针想定开发[J].计算机仿真,2007,19:15-17.
【关键词】数据传输 设计 E1线路 数字信号
随着数字技术的推广,E1线路传输方式被逐渐应用在数据传输工作中。E1线路传输方式具有经济实用、容量大以及便捷可靠的特点,获得用户的肯定,逐渐被推广采用[1]。因为E1线路受到带宽限制,若用户同时使用多个业务时,数据传输就会存在很大困难。当前,解决方法是利用多种传输通道以及多种传输设备,然后在终端上对接收到的不同数字信号进行汇聚。但是这种做法会占用很大的传输通道,会增加传输成本费用、设备维护费用以及传输通道费用。如果能利用一种传输设备同时将不同用途的多个信号进行复合,然后利用E1线路完成传输工作,就能有效解决多个数字信号传输问题,也能在一定程度上控制传输成本。
一、介绍系统概况
所谓多用途数字通路传输系统是指采用E1线路进行传输的一种综合复用设备。这一系统是建立在物理层保障带宽的一种时隙分割技术,其是在物理层中将一条E1线路分割为多个通道(N个),从而分别同时传输数据、电话、时钟以及音频等多个业务。每一个传输通道基本带宽单位设计为64 Kbit/s,总带宽为N×64Kbit/s。确保数据、电话、音频等多个业务在传输时不会出现带宽拥挤、独占情况,保障了不同数据能实现匀速、独立传输。还能有效解决多个数据经过IP网络过程中发生的带宽竞争情况,有效解决了带宽不能确保实时业务问题。
二、分析几个关键技术
(一)总线分接/服用的时隙分配情况
为了能任意分配不同业务数据带宽,选用双口RAM实现从时隙到业务卡地址的一个映射工作。E1含有32个时隙,在分配过程中将时隙0当作业务管理以及帧同步之外,其余时隙都能实现任意分配,其配置灵活性非常高,如图1。
(二)分析以太网桥中实现的协议转换
在以太网桥将E1作为WAN接口,可以实现LAN协议的桥接工作,并利用E1时隙来 帮助承载HDLC数据流,其转换流程如图2。
(三)介绍MPEG音频解码及编码
其中MPEG解码卡以及编码卡的时隙分配情况决定了解码、编码率大小,例如256 Kbit/s,其共有4个时隙,在设置解码、编码时隙时应确保相同。若在某侧同时存在一个编码卡和解码卡时,在设置时隙时能存在重叠情况,从而实现合理利用E1时隙。
三、分析系统具体情况
针对多数字通路传输系统选用模块化设计理念,按照不同需求选择不同数量以及种类的模块,然后配置成满足不同业务种类的一个系统。设备利用总线结构,从而满足不同接口结构的灵活配置工作,按照用户需求来安装电话、视频、异步数据(RS-232/RS-485)以及同步数据(X.21/V.35)、100Base-T数据通道接口卡[2]。并且每个通道带宽数据可以根据单位为64 Kbit/s的数据来自由分配总数为1920Kbit/s的带宽,从而满足不同数据通道的数据独立传送工作。
四、分析系统技术具有的特点
目前,实际数据传输工作中E1线路信号传输方式不断得到推广采用。如果想要充分发挥E1具有的传输特性,研制出了具有多个用途的一种传输设备,这一多种数字综合传输系统具有强有效性以及功能多样的特点,综合利用了几种关键技术,从而实现了通用性传输设备的工作需求。其充分采用2 Mbit/s线路实行合理分配,利用点对点的传输方式,同时实现了不同业务传输。
五、结语
总而言之,本文分析了基于E1线路多种數据综合传输系统的实现,为不同数据信号实现综合传输营造了一个完整、统一并且灵活方便的应用平台。其综合利用了以太网技术、异步数据和同步数据、MPEG音频解码和编码技术等多种技术,有效完成了不同信号在同一E1线路中的传输工作。
参考文献:
[1]李军.基于E1线路多种数据综合传输的设计与实现[J].电声技术.2010,24(06):77-79.
关键词:土地利用现状图;ArcGIS;变更调查
引 言
作为农业大国,土地是生活之根本。年度土地利用变更调查的目的就是及时准确的反应全国土地利用类型的变化信息,通过卫星影像,实地调查及GIS技术,把地类的实际及时更新到土地利用现状库中,相应地,土地利用现状图也要及时更新与重新制作,即把更新的数据库中的数据借助符号化语言,直观形象的在图上反映出来,以便为政府和相关部门的日常土地管理提供参考信息。
1. 理论基础与数据源
1.1 地图投影
地图投影就是将球面投影到平面上的过程。常用的地图投影有1980西安坐标系,陕西省范围图幅在的35、36和37三个投影带内,即Xian_1980_3_Degree_GK_Zone_37,Xian_1980_3_Degree_GK_Zone_36,和 Xian_1980_3_Degree_GK_Zone_35。延安市
部分县市区跨越了两个投影带,在建库时采用主投影带,而分幅图输出时应投影至原投影带。例如,延安市甘泉县就属于跨带(36度带、37度带)。
对于地图投影,分为两种情况,一是未定义投影,则需要在Catalog的图层右键属性中预先定义地图投影;而是需要投影转换,则通过借助ArcToolBox中的Data Management Tools下面的projection实现投影转换。
1.2数据来源与准备
通过土地更新调查,重新建立一套更为科学、详实的土地利用现状图件、数据资料库,是全面建立“以图管地”的土地资源管理新机制的需要[1]。土地利用现状图的数据来自变更调查的成果:
⑴延安市甘泉县(610627)2015年度土地变更调查成果
⑵延安市甘泉县(610627)(2015)土地调查更新数据成果
⑶甘泉县标准图幅
变更调查成果数据反映了年末土地的实际地类,更新数据成果则体现了数据更新,即增加或灭失的中间过程,依据这两种数据,以确定上一年度现状图的图件要素是否要更新。
2. 作业流程简介
现状图的基础在于图件要素,借助ArcCatalog中的Clip工具,用标准图幅去裁剪制图区域的各图层,将结果导入相应的personal geodatabase数据库,并删除数据库中的无关图层。地图符号库是符号描述信息的集合[2],各图层依据关键字段进行符号化,标注,地类图斑还要符号化转制图表达,逐图斑编辑,以免注记互相压盖,符号没有显示的,采用制图表达工具条中的Move Tools进行旋转,必要时添加引线。
此外进行图框的编辑和整饰,包括十字丝,内外图框符号化,图框注记的放置,还有图外比例尺,图幅名,结合表,行政缩略图的处理。
3. 县级1:1万标准分幅图的变更
考虑到图件制作的工作量较大,较为通用的方法是将上一年度的土地利用现状图进行更新。由于土地利用变更调查中地块变更分为不变更和变更,变更又分为属性变更和图形变更,因此对应现状图也就分为非变更图幅和变更图幅两种情况。
3.1 非变更图幅的制作
非变更图幅现状图的制作原理非常简单,制图人员只需要注意图层数据的符号样式和注记压盖,图例保持与图上一致,以及图廓上的细节。
3.2变更图幅的制作
与非变更图幅相比,变更图幅图件制作的不同在于地类图斑更新和线状地物更新。
首先,地类图斑更新部分需要加载到ArcMap中2014年变更部分,用变更部分定位到图斑位置。单个图斑发生变更的,可参考第二次土地调查数据库(二调库)的地类图斑手动修改图形,及DLBH、DLDM,并复制相应的地类界线;多个图斑变更的可直接将原现状图中的图斑删除,用变化的地类图斑和地类界线代替即可。最后进行制图表达和符号整饰。其次,线状地物更新主要是灭失,即更新库中XZDWGXGC层有而XZDWGX层没有的要素,需要对照二调库将线状地物删除。其他部分的修改则与非变更图幅的相同。
结 语
文章以1:1万土地利用现状图为例,介绍标准分幅图制作的过程方法及常见问题的处理。图件最终以mxd格式保存,并连同数据源文件提交,整个图件制作工作量大,且要求制图人员对数据有一定的了解,对专业软件的熟悉也需要一个过程。该图件直观准确的反映出该地区土地类型利用分布情况,对规划和决策具有重要指导作用。
参考文献:
[1]顾海杰. 土地变更调查是做好土地规划的基础[ J ]. 浙江国土资源,2003 (6) .
[2]程朋根等.GIS中地图符号设计系统的设计与实现[J],中国图象图形学报,2000(12):1006-1011.
作者简介:刘爱霞,长安大学地球学与资源学院,专业:地图学与地理信息系统,方向: 网络GIS技术。
近年来, GIS技术已广泛地应用于各个领域, 如地质灾害监测、环境影响评价、土地利用规划与变更等。
以铜川矿业有限公司徐家沟煤矿 (以下简称“徐家沟煤矿) 为例, 叙述在全国二调土地利用数据的基础上, 利用ARCGIS软件强大的空间分析功能, 实现快速、准确地获取塌陷重度区地类、面积数据的工作流程。
1 研究区概况与数据源选择
1.1 徐家沟煤矿概况
徐家沟煤矿位于陕西省铜川地区的东部, 行政区划隶属陕西省铜川市印台区广阳镇管辖。该矿始建于1958年10月, 1966年3月建成投产, 至今已连续生产40余年, 目前生产规模0.45Mt/a。采用中央立井和斜风井分两个水平开拓全井田。
该矿土地利用现状类型为园地、林地、草地、住宅用地、耕地、工矿仓储用地、水域及水利设施用地、及其他土地等8个类型, 其中以林地面积最大, 其次为耕地。各地类面积见表1。土地利用现状如图1所示。
1.2 数据源选择
选择全国第二次土地调查的土地利用数据作为研究的基础数据。该数据以遥感影像为主要数据源, 采用内外业相结合的调查方法, 且数据库建设标准, 数据处理相对简单易行。
2 工作流程 (如图2所示)
2.1 数据预处理
主要是运用ARCGIS数据处理软件完成所收集到的煤矿的土地利用数据的校正、纠错等预处理工作。
2.2 地表变形模拟预测
通过选用《地表移动与变形预计系统》软件来进行地表变形模拟预测。该系统所采用的数学模型为“概率积分法”。用该模型所预测的地面塌陷结果为“.dxf”格式的地面塌陷等值线图。根据经验, 塌陷等值线密集的区域为对土地资源破坏严重的区域, 即重度区, 塌陷盆地中部对土地资源的破坏较严重, 为中度区, 塌陷边缘对土地资源破坏相对较轻, 为轻度区。根据塌陷等值线图以及工作经验可以划出重度区、中度区、轻度区的边界。对于徐家沟煤矿2012-2016年工作面而言, 重度、中度、轻度区的划分如图3所示, 红色区域为重度区, 黄色区域为中度区, 蓝色区域为轻度区。研究需统计重度区 (红色区域) 是地类和面积。
由于《地表移动与变形预计系统》软件生成的塌陷等值线格式为“.dxf”, 因此, 需要划出不同影响程度区的边界之后对区边界进行格式转换, 在CAD里将文件另存为“.dwg”即可转换为ARCGIS可以识别的格式。之后再进行坐标转换。
2.3 地表变形模拟预测
Arcgis强大的空间分析功能可以方便的在整幅土地利用现状图中截取所需要的部分。由于重度区为塌陷边缘的环形区域, 因此需要用到Arcgis空间分析的的两个功能, 即Clip和Erase。
首先利用Clip工具截取重度区和中度区的数据。打开ArcToolbox→Analysis Tools→Extract→Clip, 如图4所示, 弹出Clip命令的对话框, 在Input Features中选择经过预处理的煤矿区土地利用现状图, 在Clip Features中选择重度区外边界, 在这里需要注意的是要打开重度区外边界的“.dwg”格式数据, 选择下级目录中的“Polygon”作为裁剪框, 然后再选择合适的输出目录和输出名, 点击OK即可得到塌陷重度区和中度区的土地利用数据。
然后利用Erase工具扣除中间中度区的数据。打开ArcToolbox→Analysis Tools→Overlay→Erase, 如图5所示, 弹出Erase命令的对话框, 在Input Features中选择上一步得到的重度区和中度区的土地利用数据, 在Erase Features中选择重度区内边界作为擦除区域的边界, 再选择合适的输出目录和输出名, 点击OK即可擦除中间的中度区, 保留塌陷重度区的土地利用数据。
2.4 重新计算斑块面积
统计得到的塌陷重度区属性表中虽有“SHAPE_Area”这一列表示图中各斑块的面积, 但在工作中发现, 经过叠加分析之后属性表中代表斑块面积的数据往往不够准确, 特别是在叠加分析中被切割的边缘地带的斑块数据会出错, 因此需要我们重新计算各斑块面积。
打开属性表, 点击Options→Add Field, 如图6所示, 在弹出的对话框中输入拟添加的列的名称“mianji”, 选择数据类型“Long Integer”长整型, 数据精度输入“16”, 即为属性表新添加了一列, 显示在属性表的最右端。选择该列, 单击右键→Calculate Geometry, 如图7所示, 在弹出的对话框中选择输出属性“Area”, 再选择合适的单位, 点击OK, 重度塌陷区各斑块的面积即可重新计算完成并显示在该列。
2.5 表格输出
在完成以上工作后 , 即可进行表格输出。打开属性表, 点击Options→Export, 如图8所示, 选择合适的工作目录, 将重新进行斑块面积计算的属性表保存为.dbf格式, 之后以Excel工作表打开, 最后一列“mianji”即为各地类的面积, 在Excel中可方便的进行塌陷区各地类面积统计。
利用上述方法得到的徐家沟煤矿2012-2016年重度塌陷区的地类数据见表2。
3 结语
通过徐家沟煤矿塌陷重度区地类面积统计实例证明, 利用ARCGIS软件提取和统计塌陷区土地利用数据是快速可行的, 此方法不仅大大提高了工作效率, 准确度也十分可靠。
摘要:主要叙述以全国二调土地利用数据为基础, 利用ARCGIS软件提取和统计采煤塌陷区土地利用类型和面积数据的方法和流程。并以铜川矿业有限公司徐家沟煤矿为例, 提取和统计出该矿2012-2016年塌陷重度区的地类数据。实践表明, 利用ARCGIS软件提取和统计塌陷区土地利用数据是快速可行的。
关键词:ARCGIS,塌陷区,提取,统计
参考文献
[1]刘洪江, 曹玉香.基于ArcGIS实现地类图斑净面积的计算[J].城市勘测, 2012 (5) :114-116.
[2]赵永蕊.浅谈利用ARCGIS进行土地整理地类面积的统计[J].科技信息, 2008 (24) :32-33.
1 系统设计思想
数据输入、变更分析及数据输出这三个功能是土地变更调查管理系统的关键。要能够将各种矢量格式及图形数据输入系统数据库, 变更分析是系统的核心, 为了保证变更的灵活性与正确性, 该系统采用历史库与过程库, 用户根据过程库的结果, 可以对数据的准确性进行检查, 生成各种统计报表, 在确认无误后进行操作。变更分析是系统是通过合并过程库数据, 对原有图层进行覆盖, 得到新的土层, 并将原有土层存入历史库。数据输出是根据变更分析的结果输出各种报表。该系统采用C/S模式进行管理与维护, 形成管理平台, 从而实现土地变更调查的信息化管理。
2 系统设计流程
2.1 过程库的设计与实现
过程库主要是对变更叠加分析的结果进行记录, 具有固定的字段结构, 而随着程序的运行, 记录值会发生改变, 因此过程库是一个动态库, 也是系统进行各种分析的数据源头。其实现的步骤包含以下几个方面:首先, 将现状面状地类导入到数据库, 然后将该图层的副本导入并命名;其次, 利用Union函数, 每次取出一个变更图斑与现状图进行叠加分析;第三, 将分析的结果放入过程库, 并对各种面积重新进行计算;第四, 重复以上操作, 直到生成最终的图层;第五, 将过程库清空, 将最终生成的图层数据转入过程库, 并生成量算图及报表;第六, 在更新时, 根据目标标志码将过程库中的变更图斑合并, 删除原现状面状类图, 形成新的现状图层;第七, 根据变更图斑, 以及现状线图层, 找出其相交线, 放入线过程库, 根据空间橡胶关系, 删除现状线地类, 再将线过程库复制到现状线状地类图层, 形成新的现状图层。
2.2 历史库的设计与实现
作为一个时空数据库, 历史库的作用是将空间信息与时间信息统一存储在一个数据库中。而现阶段的GIS数据库都是面向空间数据的。对其解决, 只能是在地理信息上加时间标记, 在空间要素坐标上附属时间信息。尽管历史数据包含现状数据, 但因为历史数据是对各个时期的状况的总结, 因此数量上非常庞大, 用户使用起来非常麻烦, 因此将历史数据与现状数据分离存储, 二者保持同步。最初的历史数据与现状数据是相同的, 其属性表结构也基本一致, 不同的是历史数据比现状数据多两个字段, 用于存储时间信息。二者的同步是指, 先对现状数据编辑并记录, 然后将结果更新到历史数据, 使其保持同步。因为二者是分开存储的, 因此要分两步进行保存, 先保存现状数据的结构, 再保存变更历史数据。
3 系统模块组织及特点
该系统中, 主要模块有:系统设置:对登陆系统的用户名与密码进行设置, 对系统连接的数据库进行设置;图层管理:对矢量图层及栅格进行添加和删除, 对地图窗口的显示顺序进行调整;视图控制:平移、缩小、放大地图等操作;统计查询:对不同地点、时间、地类, 以及地类的现状、历史和用户自定义查询的统计与分析;变更入库:将变更调查的数据入库;数据分析:对现状数据与变更调查数据叠加进行分析, 将变更信息输入数据库;报表输出:将各种统计报表输出;数据库维护:对数据库进行备份以及恢复, 以及字段维护;系统帮助:主要是系统的使用说明等。
该系统能够完成不同类数据的查询、入库及统计。通过过程库实现了现状数据与变更数据的叠加, 从而对各种地类的流向与变化进行分析, 将报表输出;通过历史库, 可以将误操作的数据恢复, 并能对以往的数据进行查询与回访。基于Arc GIS Engine的土地变更调查管理系统侧重于对不同时期数据的动态分析, 所以具有较强的针对性, 这是其优势方面, 也是其不足之处, 对管理工作中的关系到的各种业务逻辑没有引起重视。系统的编辑功能相对不足, 还需要进一步的完善。
参考文献
[1]孙在宏, 张应奎, 王勇.土地利用数据库实时增量更新与监管模式及技术方法[J].南京林业大学学报 (自然科学版) , 2012 (1) .
[2]张会会, 聂宜民, 孙常琴, 牟姣, 王明浩, 苑波, 赵弘韵.基于ArcGIS Engine的县 (市) 级开发区土地集约利用评价系统研究——以山东省招远市为例[J].国土资源科技管理, 2011 (4) .
[3]霍莉, 王少平, 郑丽波.基于ArcGIS Engine的污染源数据库系统开发与应用[J].长江流域资源与环境, 2007 (5) .
关键词:二分图;邻接矩阵;聚类;数据挖掘;搜索引擎
中图分类号:TP311.1 文献标识码:A
1 引言(Introduction)
众所周知,关键词数量越多,单个词越能清晰表达查询需求,搜索引擎就越能准确计算网页相关度,用户就越能准确得到所希望的查询结果。然而绝大多数用户在使用搜索引擎时,输入的关键词都少于三个,且很多情况下,关键词不能正确表达用户的查询需求,使得查询结果不尽如人意。本文采用概念聚类的方法,设计个性化搜索引擎,针对Web数据挖掘,能很大程度地提高搜索的准确率。
聚类就是将一个对象的集合通过某种算法分成几个类,分类后不同的类中的对象是不相似的,同一个类中的对象是相似的[1]。查询聚类是为了将相似需求的查询表达式聚为一类,从中选取关键词个数较多的作为这一类需求的表达,这样对查询表达式进行扩充,从而提高搜索的准确率[2]。
2 二分图及其存储(Bipartite graph and its storage)
设计中,联合考虑关键词和对应文本,即根据关键词所形成的词簇信息对文本进行聚类,聚类过程的数据结构定义如下:
定义1:设G=
对G采用实现存储,设eij为边[i,j]的权值,则记
(1)
为G的邻接矩阵。
3 聚类算法(Clustering algorithm)
使用中的很多搜索引擎在计算查询关键词与网页的相关度时,是根据网页内包含关键词的个数来定的,由于用户输入的关键词比较短,且一般不超过三个,加上有的关键词有歧义,而且由于网页内容的多样性,导致查询到的网页与用户的需求存在较大的差距。除了可以采用锚文本来对网页内容进行补充和描述的方法来提高查询准确率外,另一种有效的方法就是利用用户的点击率作为网页内容的补充了。从搜索引擎的日志中获取的用户点击数据可以在一定程度上反应关键词与页面之间联系,可以作为相关度计算的加权参数。
基于二分图的聚类算法有两种:基于超链接的聚类算法和基于概念的聚类算法。基于超链接的算法中,每当用户点击一个链接,就认为该链接和关键词是相关的,认为只要两个不同的关键词有相同的链接就将两个关键词聚类在一起,这样,由于关键词的语义多样性,很可能将语义不同的关键词进行聚类,加上Internet上很少有相同的链接,两个随机关键词被用户选择相同链接的概率仅为6.38*10-5,所以基于超链接的算法存在很大的缺陷[3]。
选择采用基于概念的聚类算法,对于设计一个高准确率的Web数据挖掘的个性化的搜索引擎系统,能达到更好的效果。构造概念聚类的二分图模型如下:
把所有的查询构造成顶点向量集合Q,关键词涉及的概念构造成顶点向量集合C,关键词与概念之间的关系构造成边集,即可得到概念聚类的二分图模型如图1所示。
例如当关键词为apple ipad、apple、apple iphone时,涉及的概念则包括ipad、fruit、iphone、product,构造的概念二分图如图2所示。
conceptual clustering
根据二分图,如果关键词涉及的概念相互重叠得越多,则关键词的相似度越高。设N(x)是节点x的邻节点的集合,N(y)是节点y的邻节点的集合,关键词的相似度按如下公式计算:
(2)
由式(2)可以看出,两个关键词涉及的概念集的交集越大,则查询的相似度越高。下面是构造二分图算法的伪代码:
4 系统模块设计(The system module design)
本系统的设计目的,是设计和实现一个为用户提供使用搜索引擎的平台,为用户提供搜索界面,并将用户输入的关键词提交给搜索引擎,再将搜索引擎的搜索结果反馈给用户。整个交互过程的数据比如查询关键词、搜索结果、用户点击的链接等数据都由该中间件收集起来并存储,为下一步的用户建模、查询聚类做准备[4]。
系统由四个主要模块组成:数据收集模块、数据库及管理模块、用户兴趣模块和查询聚类模块。系统流程分五步:数据收集、概念提取、用户建模、查询概念聚类、查询优化。系统各个模块的划分和模块之间数据传递方向如图3所示。
5 结论(Conclusion)
模拟五个用户,分别按表1输入查询关键词。其中第一二用户输入的关键词相同,但第一用户的兴趣点是apple数码产品,而第二用户的兴趣点是apple水果。
实验聚类结果如表2。结果表明,第一二用户虽然查询关键词相同,但由于兴趣点不同而被分到不同的类型中。类型0中的查询结果都与数码产品相关,而类型1中的结果都与水果相关,说明聚类结果能较好地按概念区分关键词。
实验表明,当聚类参数为0时,概念聚类的二分图中,低相关度的关键词被聚到一类,导致查准率比链接聚类查准率低;而当聚类参数较大时,概念聚类的查准率明显高于链接聚类的查准率,平衡保持在较高的范围内。
参考文献(References)
[1] 吴湖,等.两阶段联合聚类协同过滤算法[J].软件学报,2010,
21(5):1042-1054.
[2] 马恩穹.基于Web数据挖掘的个性化搜索引擎研究[D].南京
理工大学,2012.
[3] Guandong Xu,Yanchun Zhang,LinLi.Web Content Mining[J].
Web Information Systems Engineering and Internet
Teehnologies,2011,6(2):65-69.
[4] 王和勇,等.基于聚类和改进距离的LLE方法在数据降维中的
应用[J].计算机研究与发展,2006,43(8):1485-1490.
作者简介:
刘典型(1973-),男,硕士,副教授.研究领域:软件,网络
技术.
刘完芳(1972-),男,硕士,副教授.研究领域:数据库.
钟 钢(1975-),男,本科,高级实验师.研究领域:软件
随着我国交通运输事业的迅速发展, 研究一套适合我国国情的车载导航和定位系统, 这对我国的国民经济建设有重要的现实意义。
车载GPS定位监控系统是GSM全球数字蜂窝移动通信技术和GIS地理信息技术、GPS全球卫星定位技术以及计算机网络技术相融合研制开发出来的软件技术。它是通过安装在车辆上的GPS接收机 (即车载机) 接收卫星信号, 监控中心的通信控制器从GPS接收机输出的信号中提取所需要的位置、速度和时间信息, 结合车辆身份等信息形成数据报, 然后通过无线信道发往控制中心;控制中心的主站接收子站发送的数据, 处理接收信息通过短消息的方式逐次直接发送给每一台车载机。最后, 将车辆的具体数据和状态在监控中心的电子地图上显示出来。
本文讨论的就是车辆信息在电子地图上的显示过程。
2. 基于MAPX的地图模块的实现
GPS的位置数据要在GIS中表现出来, 可以利用点图元来表示车辆, 点图元在地图中的位置就是GPS定位的经纬度数据, 再根据GPS接收数据的频率来实时刷新该图层, 就达到车辆的实时定位了。
在Map X中, 地图图元用图元对象 (Feature Object) 来表示, 组成地图的不同图层中的每个图层通常具有相同类型的图元。这里将GPS点图元置于单独的一个图层中, 并且利用Map X的动态图层来快速刷新显示GPS定位信息。显示定位信息的点图元所在的图层可以是一个已有的图层, 与其他点图元共同存在, 但是这样在每一次刷新时将要刷新该图层中所有的图元, 速度比较慢, 所以不采用。这里将GPS点图元置于单独的一个图层中, 并且利用Map X的动态图层来快速刷新显示GPS定位信息。
车辆信息在电子地图上的定位显示和更新具体过程如下:
第一步就是创建地图窗口。首先判断INI文件是否存在, 如果不存在则退出过程;反之, 则使用双缓冲, 可以在装载电子地图的时候抖动, 创建执行数据库指令对象, 将数据库指令执行对象跟连接对象关联, 关闭数据操作对象, 创建本地数据集, 打开并初始化数据;然后获取应用程序路径, 判断电子地图文件是否存在, 如果存在就装载电子地图。接下来就是创建初始化图层即电子地图, 先创建样式, 定义样式符号类型、样式位图的名称、样式位图符号大小、样式位图透明显示;创建点和初始样式, 设置字体颜色。同样创建执行数据库指令对象, 将数据库指令执行对象跟连接对象关联, 循环获取经度、纬度、车辆状态, 根据经、纬度设置车辆在电子地图上的位置, 根据点和初始样式创建项目符号, 把项目类型加到图层, 获取数据库的车辆序列号、返回日期、车牌号码、车辆方向等车辆信息, 显示车牌号和车辆方向, 更新初始的数据, 最后添加车辆最后的位置到地图上。至此, 数据初始化和地图初始化完毕。
第二步就是处理接收服务发送过来的车辆信息。根据短信息协议, 判断条件获取车辆序列号、获取车牌号, 然后在对象里面查找是否存在返回的车辆序列号, 如果存在返回的车辆序列号, 则编辑数据集对象即车辆信息列表;如果不存在返回的车辆序列号, 则将其添加到车辆信息列表中去。
第三步是更新图层。将回传信息中的经度、纬度赋给Map的点对象, 按回传信息中的车牌号删除指定的图元即车辆目标, 判断这个经度、纬度 (X, Y) 是否可见, 可见就执行更新操作, 这样做的目的是考虑程序的运行效率问题。使用循环查找获取图层项目, 判断车辆是否是空车, 显示空车的样式和非空车的样式, 最后把车牌号和方向赋给项目的键, 完成图层的更新。
3. 结束语
目前, 车载GPS定位监控系统已经被各运输公司使用在出租车、客车以及大型车队上, 该软件技术很好的实现了对车辆位置、状态的监控和调度管理。
随着GPS应用领域的扩大, 车载GPS导航定位监控软件的系统的功能也将随着导航、通信等需求而不断的增多和完善。为了使车辆定位的信息更加实时和准确的反应在电子地图上, 我们对电子地图的要求也日趋完善, 我们要对地图进行定时修改和升级, 本系统的设计将易于这些升级维护工作的进行。
参考文献
[1]卢选民, 刘咏芳, 史浩山.基于DCOM/ActiveX技术的WebGIS系统开发与实现[J].计算机应用研究, 2002, (11) .
[2]余志文, 申辉军.基于ActiveX的WebGIS实现技术[J].测绘通报, 2003, (2) .
[3]李丽, 题原.GPS在车辆定位系统中的应用[J].高师理科学刊, 2006, 26 (3) :46-49.
【基于MapX的土地利用现状数据库的设计与实现】推荐阅读:
基于基础地理信息数据库的制图设计与实现11-11
土地利用数据管理系统11-13
土地的可持续利用与农村可持续发展12-18
城市规划与土地利用01-15
基于网络资源利用的中职英语学习06-03