地星城镇地籍管理信息系统_第1页
地星城镇地籍管理信息系统_第2页
地星城镇地籍管理信息系统_第3页
地星城镇地籍管理信息系统_第4页
地星城镇地籍管理信息系统_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

地星城镇地籍管理信息系统

软件说明书

北京地星伟业数码科技有限公司

二。。八年四月

目录

第一章引言1

1.1读者对象1

1.2软件结构图1

1.3子系统结构图3

1.3.1图形部分3

1.3.2属性部分4

1.3.3权限控制部分5

1.4关键技术5

1.4.1.NETFramework5

1.4.2ArcEngine6

1.4.3ArcSDE6

1.4.4Geodatabase数据模型8

1.4.5WebServices10

第二章图形管理12

2.1整体设计12

2.1.1功能模块命名规则13

2.1.2子系统模块清单13

2.1.3子系统界面设计14

2.2功能设计15

2.2.1系统初始化15

2.2.2数据漫游18

2.2.3地图纠正20

2.2.4数据入库21

2.2.5数据编辑26

2.2.6符号管理34

2.2.7拓扑实现35

2.2.8数据查询36

2.2.9空间分析38

2.2.10地图打印40

2.2.11地图标注41

2.2.12数据导入与导出42

第三章属性管理设计43

3.1系统结构43

3.1.1系统结构说明43

3.1.2系统模块清单44

3.2业务登记45

3.2.1业务受理45

3.2.2调查48

3.2.3审批52

3.2.4注册55

3.2.5证书打印58

3.2.6变更59

3.2.7其他登记处理63

3.2.8流程以及权限管理63

3.3统计查询66

3.3.1统计66

3.3.2查询69

第四章权限管理72

4.1单点登陆系统设计72

4.1.1系统组成结构72

4.1.2用户登陆72

4.1.3登录流程细化73

4.2权限控制中心系统设计75

4.2.1权限控制中心总体功能75

4.2.2权限控制中心子模块说明75

4.2.3权限控制中心子模块设计76

II

第一章引言

1.1读者对象

本说明书是地星城镇地籍管理信息系统系列文档的一个,其读者对象是对相

关业务的技术和总体方案作出决策的管理人员、对本《软件说明书》进行评审和

确认的有关业务,技术人员、参加编码阶段工作的全体软件工程师、参加系统调

试的全体软件工程师、参加试运行的全体软件工程师以及其他有权需要调用本文

档的人员。

《地星城镇地籍管理信息系统软件说明书》的全部内容属于本公司的商业机

密,应严格控制业务范围,项目开发阶段由项目软件开发组负责管理,由本公司

负责管理,未经公司同意,不得以任何介质(文本,软盘,硬盘,光盘)等形式

持有本文档的部分或全部内容。

1.2软件结构图

地星城镇地籍管理信息系统总体上分为三个主要功能系统,属性管理子系

统、图形信息子系统以及权限管理子系统。在子系统基础上包含数据转换子模块、

数据处理与建库子模块、数据质量检查子模块、土地登记子模块、查询分析子模

块、系统依靠单点登陆形成了紧耦合的关系,同时子系统依靠低层的统一数据库

支持和权限管理亦具有松散耦合之关系,都可以对运行。系统整体的模块机构图

如下:

此图说明整个管理系统功能的组成部分,这几个子系统通过统一的数据库

(ORACLE10g)支持,基于DOTNET开发平台,采用ARCGIS系列组件构建整个应

用服务程序,诸如:客户端通过ArcEngine的数据库接口,对存贮在中心数据库

的空间数据进行访问,从而实现了多人同时访问、更新数据库,并且可以时实时

地查看其他人对数据库的更新、ArcSDE作为空间数据库的访问接口、使用

GEODATABASE数据模型等,同时采用WebSrevices.COM组件等技术实现统一的

单点登陆、统一的权限管理等。

1.3子系统结构图

1.3.1图形部分

3

1.3.2属性部分

4

1.3.3权限控制部分

1.4关键技术

1.4.1.NETFramework

,NET框架由四部分组成,公共语言运行时,类库,编程语言和ASP.NET环

境。.NET框架有三个目的。第一个目的是使得Windows应用程序更加可靠并提

供给应用程序更大的安全性。第二个目的是简化Web应用程序和服务的开发,不

仅是传统意义上的Web应用程序和服务,还包括移动设备上的Web应用程序和服

务。第三个目的是提供独立的一套库,使其可用于多种语言。

,NET框架提供创建传统的Windows应用程序的能力,并提供了更多的增强

特性,比如安全性,在应用程序中增加数字签名等。.NET还提供了与传统的COM

组件交互的能力,它提供了一个包装类,让使用COM组件的用户感觉上和使

用.NET类库一样。一般来说在转换后的数据类型和原始COM组件中的类型一样。

5

所有的引入的类型都附加到一个名字空间上,比如在ArcEngine里就是

ESRLArcGIS名字空间。所有的COM内部类都转换为受控类,受控类的名字在原

来基础上增加“Class",比如Point类转化为PointClasSo在属性,事件等方

面.NET都给予了适当的转化使.NET开发人员可以容易的引入COM组件,进行开

发。ESRI特别的自己转换了COM组件到一套.NET类库,供开发人员使用,从而

节省了很多不必要的麻烦。

,NET框架提供了公共语言运行时和一套基础类库和多种开发语言。多种开

发语言共享基础类库,并运行在相同的运行时之上,采用了C#语言进行开发。

C#是一种现代的、面向对象(从底层开始)安全型语言。C#具有.NET的全部特

性,在语法上具有C++的简捷明了,但是比C++提供更多的安全措施。

1.4.2ArcEngine

ArcEngine是ArcGIS划时代的一个产品,主要原因在于其提供了完美的组

件框架和控件框架,为二次开发者提供了随心所欲的开发利器。对于ArcEngine,

ESRI定位于提供嵌入式的GIS组件,能用来在一个组织内建立应用,为用户提

供有针对性的GIS功能,为每个用户的特定需求提供有针对性的GIS功能实现的

基础。实际上,根据研究,发现ArcEngine应用远不止这些。理论上讲,通过

ArcEngine完全实现Arcinfo桌面应用系统甚至ArcGISServer0

1.4.3ArcSDE

ArcSDE采用大型数据库来存储空间数据,它维护的元数据表记录了存贮在

数据库中所有图层的信息。业务表存贮的每一条记录表示一个空间要素(简单多

部件要素),并有一个唯一的识别符。该唯一的识别符存贮在业务表的几何列中。

业务表的名字就是图层的名字。通过该唯一的识别符,每一个记录与要素表或称

为F表建立相应的记录关联。F表在一个二进制列中物理地存贮要素的几何特征。

除空Shape外,业务表和F表之间存在一个1对1的关系。

6

要素在业务表中有记录,但在F表中没有对应的要素。

数据库中最后一个有关图层的表是空间索引表或称S表。S表存贮着格网单

元和图层的封装边界。每一格网单元在F表中都有一个条目。凡是封装边界与该

格网有重叠的要素都与之一同存贮,即S表中存贮着要素标识码,以提供从业务

表或F表到S表的1对多的关系。

ArcSDE客户端和服务器同时工作来递交和显示从一个查询中获取的记录数

据,这种处理类型叫一个异步流模式。

客户端发送一个初始请求给ArcSDEo该请求被转换成一个由ArcSDE转发给

RDBMS的SQL语句。RDBMS分析该语句并从数据库中提取数据记录。当RDBMS选

择出数据记录时,它发送结果给ArcSDE。ArcSDE服务器将任何一个空间信息转

换为可读的格式并将该信息发送给客户端。

信息实时地以小而连续的缓冲区的形式发送给客户端。在客户端接收这些缓

冲区数据的同时,就开始处理并显示它们。客户端不会等到服务器处理完查询后

才显示数据记录。

客户端和服务端同时工作来处理查询是为了减少查询时间。客户端通常比服

务端慢,因此,当客户端已经显示当前的结果并准备好接收更多的数据时,服务

器才向其发送数据缓冲区记录。这可以使服务器有空闲处理其它的客户端发送来

的查询。

每个缓冲区在客户端将其处理完毕后就开始释放,以免客户端的内存被占

用。在客户端,数据记录不会驻留内存,因此,如果已释放的数据记录再次被请

求,查询就需要再执行一次。在ArcSDE客户端的大部分操作都将导致数据库的

查询操作。经常访问的图层可以驻留在服务器的内存高速缓冲区内,这样可加快

重复查询。这是因为访问内存中的数据要比从磁盘上读数据快得多。

7

ArcSDE服务器发送SQL语句给RDBMS处理。RDBMS解析该语句并验证所需的

表是否存在。解析语句时可确定从数据库中获取数据的最佳方法。一旦完成一个

语句解析,RDBMS就从数据库中获取数据。如果一个表经常要被访问,或最近已

被访问过,数据记录则驻留在RDBMS的内存缓冲区中。这就减少了从磁盘上获取

数据所花费的时间。再有,减少数据库查询和数据库在网络上的传输时间是非常

重要的。ArcSDE从客户端和服务器两个方面来解决这两个问题,ArcSDE客户端

通过应用属性或空间约束来减少返回数据的数量,ArcSDE服务器通过一个空间

索引来减少空间信息的查询时间。

ArcSDE客户端向RDBMS和ArcSDE服务器提出请求信息,如果数据库文件没

有驻留在服务器内存的高速缓冲区,那么数据库文件获取记录的操作将导致较高

的磁盘输入/输出操作。客户端可以利用数据请求的条件约束来减少检索的数据

量和从服务器返回的数据。约束可以是对属性数据,也可以对空间数据,它可以

通过SQL语句的WHERE子句来实现。ArcSDE生成一个SQL语句并将它传递给

RDBMSo空间约束条件被称为空间过滤器。空间查询操作的WHERE子句限定了返

回的数据必须是在图层中指定区域的空间信息。数据库管理员对属性项建立索引

可加快对属性数据的查询。ArcSDE服务器建立空间索引来加快对空间数据的查

询。

1.4.4Geodatabase数据模型

Geodatabase是ESRI在其新一代GIS平台软件ArcGIS8中引入的一种全新

的空间数据模型。Geodatabase采用一种开放的结构将空间数据(包括:矢量、

栅格、影像、三维地形等)及其相关的属性数据统一存放在工业标准的数据库管

理系统DBMS中。空间要素类(FeatureClass),如:河流、国界、宗地、电杆

等,对应了DBMS中的表,而具体的一个要素(Feature)则是表中的一条记录。

具有共同空间参考的一组空间要素类又可以组成更大的结构,称为要素数据集合

8

(FeatureDataSet)0除了空间要素类以外,Geodatabase中还可以建立关系

类、几何网络、定义要素子类型、值域及规则等。所有的要素类均可以借助通用

的CASE工具(如I:Visio、RationalRose等)进行模型定义和扩展。

在ArcGIS8.3版中,Geodatabase引入了拓扑关系规则。如前所述,在

Geodatabase中可以定义关系和规则。拓扑关系规则即是新增加的一类。拓扑关

系规则可作用于同一要素数据集中的不同要素类或者同一要素类中的不同要素。

用户可以指定空间数据必须满足的拓扑关系约束,譬如:要素之间的相邻关系、

连接关系、覆盖关系、相交关系、重叠关系等。所有这些关系都对应相应的规则。

在城市规划应用中,两个相邻的地块之间不能有“飞地”,可以有一条对应的规则:

“相邻多边形间不能存在间隙再如,当以河流作为国界时,河流(线状)与国

界线必须一致,可用规则:“线必须被多边形边线覆盖”。用户通过选择若干规则

的组合构成对空间数据必须满足的拓扑关系的灵活指定。为了检查和维护空间数

据的拓扑关系正确性,在ArcGISDesktop中给出了一组(编辑)工具,用于对

空间数据根据用户指定的拓扑关系规则进行编辑,并帮助用户及时发现可能存在

的拓扑关系错误。

Geodatabase中并不实际保存拓扑关系。不同要素类之间的公共点、公共边

等要素是在拓扑编辑过程中动态地检测到的。例如,我们选择一条线并对其进行

编辑,此时Geodatabase将自动检测到与此线要素具有公共几何元素的所有其它

要素,当修改该线要素时,系统自动对所有的公共边和公共点进行维护,以保持

其应有的拓扑关系。这种实现方式的好处在于,可以局部、有选择的维护拓扑关

系,效率很高。

拓扑规则可以定义在要素类的不同要素之间,也可以定义在两个或多个要素

类之间。比较典型的拓扑规则例子是:多边形不能相互重叠(两个建设用地地块

间不可相互重叠);点必须被多边形边线覆盖(建设用地的界址点必须在用地红

9

线上);不能有悬挂结点(用地红线不能有多余的出头线段);两个线层不能相交

(地下管线和道路中心线不能有交叉点),等等。在ArcGIS8.3版中,将给出总

共25条可供选用的拓扑规则。在以后发布的版本中,还会给出更多的规则。对

一个要素数据集,可以定义一个拓扑关系类,在拓扑关系类中,指定若干希望数

据满足的拓扑关系规则。当然,通过修改拓扑关系类的定义,就能够方便地改变

对拓扑关系约束的要求。这给空间数据管理带来了很大的灵活性。

1.4.5WebServices

WebServices是一种分布计算技术(像CORBA,RMI,EJB等等),容许研发

人员创建客户端/服务端应用。WebService使用HTTP传输消息(像服务请求和

响应),使用标准的XML语言,具有平台无关性和语言无关性。在研发本系统的

过程中,我们利用WebServices技术,为B/S和C/S模式之间,提供了统一的权

限、日志、组织机构的二次开发接口,方便用户扩展软件功能。这些二次开发接

口是:

♦GetAllMethodData

♦GetAllMethodDataByType

♦GetA11MethodDataType

♦GetAppRNUser

♦GetApplicationData

♦GetApplicationMethodData

♦GetApplicationName

♦GetApplicationObjectMethodData

♦GetApplicationUrl

10

♦GetDR2User

♦GetLog

♦GetLoginlnformation

♦GetLoginTime

♦GetLoginTokenNumber

♦GetModDesc

♦GetModVersion

♦GetObjectMethod

♦GetObjectName

♦GetObjectRNMethod

♦GetObjectRNUser

♦GetTableCondition

♦GetTableField

♦GetTime

♦GetUserCSName

♦GetUserDeptID

11

第二章图形管理

图形管理子系统面向国土资源相关业务部门和下属单位,利用地理信息技

术,为工作人员提供土地资源环境空间数据管理、编辑的工作平台。子系统主要

包括系统初试化、图像纠正、基本数据编辑、拓扑编辑、宗地编辑、版本编辑、

时态管理、测绘编辑、数据检查、专题图制作、符号管理、坐标转换、图属互查、

元数据管理、空间分析、权限管理、数据输出等功能模块。

2.1整体设计

系统完成了基于ArcEngine和.NET技术的地籍管理信息系统,此系统为C/S

结构体系,采用OraclelOG数据库存贮空间数据,ArcSDE作为空间数据库的访

问接口,客户端通过ArcEngine的数据库接口,对存贮在中心数据库的空间数据

进行访问,从而实现了多人同时访问、更新数据库,并且可以时实时地查看其他

人对数据库的更新。

本系统的空间数据显示部分采用了ArcEngine的Map控件和PageLayout控

件,并将这两个控件和一个隐含的ArcEngine的Toolbar控件进行关联,将命令

的实现和命令状态的显示分开,从而摆脱了Toolbar显示不美观,操作不方便的

问题。在地籍方面提供了多种手段方便工作人员进行系统的维护和操作,提供了

快速入库和更新的功能。

系统的各个功能主要分为两种类型:工具和命令。工具(tool)含义是当用户

选择该命令时当前鼠标就进入到该工具的工作态,比如当用户选择放大工具时鼠

标就进入到放大的状态,用户可以持续使用此工具,直到用户选择其他的工具。

命令(command)的含义是该命令只在用户点击该菜单或工具按钮时只执行一次,

而用户的鼠标状态不会发生变化。ArcEngine提供了工具和命令的基本虚拟基

类,对其进行扩展实现了多种自定义功能,比如数据的编辑、宗地的查询、宗地

12

的历史查询等。各个自定义功能或命令可以和主程序放在一个应用程序里也可以

放在其他动态库中,应用程序都可以方便的使用,在需要时可以方便的进行维护

和更新。

2.1.1功能模块命名规则

功能模块的划分基于面向对象的编程思想,遵循:模块的大小适中,体积太

大的模块,往往功能复杂,对于这样的模块,要进行功能分解,划分为多个模块;

同一功能模块中代码复用率最高、功能相似度最大的原则。命名原则:模块名称

由三部分构成:命名标识符、子系统名称和模块名称,命名形式为:命名标识符

—子系统名称一模块名称。其中,命名标识符用一个字母表示(m表示功能模块,

s表示子系统,f表示函数等);子系统名称由子系统名称每个字汉语拼音的首字

母表示;模块名称由模块名称每个汉语拼音的首字母表示。如m_SJGL_CXFX表示

数据管理子系统中的查询分析模块。

2.1.2子系统模块清单

模块名称模块标识符父模块标识符

系统初试化m_SJGL_XTCSHs_SJGL

图像纠正m_SJGL_TXJZs_SJGL

数据显不m_SJGL_SJXSs_SJGL

数据输入m_SJGL_SJSRs_SJGL

数据编辑m_SJGL_KJSJBJs_SJGL

数据检查m_SJGL_SJJCs_SJGL

符号管理m_SJGL_FHGLs_SJGL

空间分析m_SJGL_KJFXs_SJGL

图属互查m_SJGL_TSHCs_SJGL

元数据管理m_SJGL_YSJGLs_SJGL

数据输出m__SJGL_SJSCs_SJGL

13

权限管理m_SJGL_QXGLs_SJGL

2.1.3子系统界面设计

数据管理子系统基于C/S结构,采用传统的Windows界面风格进行设计,界

面主线以菜单栏、工具栏、图形操作窗口、图层控制浮动框等主要部分构成。同

时,为了方便用户的操作在适当的地方还设计有右键弹出菜单、快捷键等辅助功

能。主界面包括菜单栏、数据列表、图形操作工具条、浮动窗口、图形显示/操

作窗口等四部分构成。其具体设计如下图所示:

菜单栏

工具栏

数据列表框图形显示区域

主菜单按文件、编辑、视图、选择、工具、窗口、和帮助等部分进行组织。

其中,其中视图控制各个窗口的显示和图形缩放等功能,工具里控制各个工具栏

的显示,关于图形的操作大部分在各个工具栏内。

有关图形显示编辑的界面应包括三大部分:图形显示操作工具条、图层控制

框、图形显示区域。其具体设计如下图所示:

14

空间分析和专题图制作的界面应设计成向导式的风格,一步步引导用户进行

处理。界面应友好地设计成只让用户选择用什么数据、做什么操作、结果存放到

哪里等参数,系统即可自动完成相应的操作。具体设计界面如下图所示:

2.2功能设计

2.2.1系统初始化

2.2.1.1模块概述

该模块要求用户输入坐标范围、高程范围、精度等相关基本信息后,自动在

Oracle中的企业空间数据库中或Access个人空间数据库中,建立给定的空间数

15

据库结构,包括数据图层、标注图层和相关属性表结构,同时建立应有的拓扑规

则,比如宗地中的界址点在界址线上,界址线在宗地边界上,宗地之间不能有交

叉,建筑物在宗地内部等等。

2.2.1.2主要功能

系统初始化主要包括以下两个方面:首先,在用户能够使用本软件的其他功

能前,用户必须要建立程序运行的环境。包括数据库和其他的相关数据。其次,

在用户每次启动软件后,还需要一个初始化,这次是把跟系统有关的,保证系统

能够正常运行的数据载入系统中,保存起来。

2.2.1.3相关技术

分析过程中主要使用的技术有ArcSDE数据库模式对象、分析器设计模式、

XML技术。

其中最总要的方面在于ArcSDE数据库模式对象和XML文件的解析。ArcSDE

数据库模式对象是ESRI公司在ArcObjects中提供的一种对空间数据库的描述规

范。该描述规范在内容上符合OpenGIS的空间数据库元数据规范。并且提供针

对ArcSde的扩展功能。它详细地定义了整个空间数据库所包含的数据对象,对

象间的关系等。可以用于空间数据库结构的交换。

其次是XML技术。XML是可扩展的标记语言。允许用户自己定义各种结构化

的标签来表达数据的意义,给用户表达数据带来了很大的便利,因此,XML成为

目前数据交换的最流行的方式。数据库模式文件就是用XML的方式来表达的。在

系统中涉及到了修改空间数据库投影坐标系统,这是通过修改XML文件来达到

的。而建立数据库的整个过程就是在读取XML文件中的描述信息来建立ArcSDE

数据库模式对象。

2.2.1.4输入项

模块名称功能项具体操作输入参数

16

系统初始化模块企业数据库连接数据库服务器名,服务名(端口

m_SJGL_XTCSH初始化号),用户名,密码

设置空间数据库参数投影参数(通过选择投影

文件得到),X、Y的最大

最小值,精度,高程最大

最小值。

个人数据库建立数据库文件名,具体路径

初始化设置空间数据库参数投影参数(通过选择投影

文件得到),X、Y的最大

最小值,精度,高程最大

最小值。

设置符号得到具体图层并为之符号库文件

设置具体符号

输出项

模块名称功能项具体操作输出参数

系统初始化模块企业数据库连接数据库企业空间数据库工作空

m_SJGL_XTCSH初始化间

m_SUGL_STCZ设置空间数据库参数企业空间数据库图层的

数据集

个人数据库建立数据库个人空间数据库工作空

初始化间

设置空间数据库参数个人空间数据库图层的

数据集

设置符号得到具体图层并为之带有符号信息的mxd工

设置具体符号程文件。

模块流程

2.2.2数据漫游

2.2.2.1模块概述

该模块完成对空间数据视图的操作,主要包括放大、缩小、漫游空间数据;

视图缩放到当前图层、视图缩放到所有图层;设置视图参数,包括改变视图显示

单位、改变视图风格(视图的背景色、视图边框风格、是否显示滚动条)等。放

大操作包括单点放大(按固定比例放大)和矩形框放大(图形放大到用户所绘的

矩形框范围)。缩小操作包括单点缩小(按固定比例缩小)和矩形框缩小(图形

缩小到用户所绘的矩形框范围)。这些功能以右键快捷菜单(用户在视图中点击

右键时)、主菜单和工具栏三种方式提供。

2.2.2.2模块功能

本系统为用户对数据的查看提供了多种选择。包括基本的放大、缩小、依比

例放大和依比例缩小,移动和全图功能。其中放大工具的功能原理是:当用户在

地图窗口用鼠标上拉出窗口后,系统便将此窗口更新为地图控件的当前窗口。窗

口缩小的原理是:当用户在地图窗口用鼠标上拉出窗口后,系统计算出该窗口和

当前窗口的比例系数,然后将当前窗口按该比例系数进行缩小。移动功能是将地

图的中心不断改变,来满足用户查看的需要。此外还提供了上一视图和下一视图

功能,用户可以按顺序回退或前进到某个视图。

鹰眼功能,在一个小窗口中显示地图的整体,当用户在小窗口里选择时,主

窗口移动到所选择的位置,从而方便用户的浏览功能。

行政区浏览,在系统初始化的时候,对行政区、街道、街坊采用树状结构按

三级结构进行显示,将该地区(政区、街道、街坊)的范围存储到同一树状节点

18

里面,当用户选择某个节点时当前地图就移动到该地区的范围,加快的用户根据

行政区进行浏览的速度。

2.2.2.3输入项

模块名称功能项具体操作输入参数

数据显示模块放大单点放大当前放大位置

m_SUGL_STCZ矩形框放大矩形框范围

缩小单点缩小当前缩小位置

矩形框缩小矩形框范围

漫游漫游移动前位置

移动后位置

视图参数设置设置视图单位视图单位

设置视图背景色视图背景色

设置视图边框风格视图边框风格

设置视图滚动条视图滚动条

缩放至当前图层缩放至当前图层指定图层作为当前图层

输出项

模块名称功能项具体操作输出参数

视图操作模块放大单点放大以当前位置按固定比例

m_SUGL_STCZ放大的视图

矩形框放大放大至矩形框范围视图

缩小单点缩小以当前位置按固定比例

缩小的视图

矩形框缩小缩小至矩形框范围视图

漫游漫游视图移动到指定位置

视图参数设置设置视图单位视图单位被设置成指定

单位

设置视图背景色视图背景被设置成指定

颜色

设置视图边框风格视图框被设置成指定风

设置视图滚动条视图滚动条被设置成有

或无

缩放至当前图层缩放至当前图层视图缩放到当前图层

缩放至所有图层缩放至所有图层视图缩放到所有图层

19

模块流程

用户打开一个(或若干个)图层,就可进行放大、缩小、漫游等操作,操作完

成后即在视图上显示相应的操作结果。模块流程如下图所示:

2.2.3地图纠正

2.2.3.1主要功能

♦影像图定位到网格

♦影像图纠正

♦地图的局部放大和影像图定位

♦数据保存

♦铺设网格/去掉网格

2.2.3.2功能描述

1、影像图定位到网格:该组功能主要是用于在纠正前将影像图移动到一个

比较方便处理的角度和位置。有时候影像图可能是倾斜的或者初始位置不对,或

者在载入到系统中后,由于没有坐标信息,而不知道被系统定位到哪里去了。这

时候就可以用这组功能。在影像图进入系统的时候就会记住他的位置,以后每次

纠正后也会跟新他的新位置,而网格的位置是固定的,所以总是可以准确地将影

像图定为到网格中去。

2、影像图纠正:纠正是使用ArcGISEngine中提供的纠正功能进行纠正。

主要是四点纠正,也可以多点纠正。纠正的过程如下:用户选取影像点和矢量点,

20

然后点击纠正,就可以了。在这中间可以插入其他的操作。纠正一般选用四点纠

正就可以了(至少要四点纠正),四点纠正的时候,这四个点的次序可以任意选

取。但是有时候需要多点纠正,超过四点纠正的部分的点必须一一对应地选取。

3、地图的局部放大和影像图定位。在纠正的过程中,需要将地图放大来保

证精度。在选区了矢量图上的点后还需要方便的回到影像图上选取点。这组功能

就可以达到这个效果。

4、数据保存:在纠正后数据可以保存在本地文件系统中,也可以保存到数

据库中。在本地文件系统中保存的时候,不会修改原始的数据文件,而是在同一

个目录下建立几个描述文件,记录纠正的过程。保存到数据库中的时候,会在数

据库中建立影像图数据集和对应的元数据描述。数据保存的流程如下:首先连

接影像图数据工作空间,提示用户输入有关的数据信息。然后建立一个影像图数

据集,用纠正后的影像图填充数据集,对数据集建立金字塔模型。这些操作都成

功后将用户输入的数据信息存入数据库。

5、网格管理:在地图上铺设网格辅助纠正。网格可以重复铺设和删除。铺

设网格的时候,会自动保存网格对应的图幅编号。

2.2.4数据入库

2.2.4.1模块概述

该模块完成对空间数据和相关属性数据的输入工作,包括点、线(包括线段、

弧段)、面(包括多边形、矩型、圆)、标注(包括数字,文字)的输入,宗地信

息的输入,影像要素输入。输入方法包括鼠标的屏幕跟踪输入,对话框交互式输

入,VCT文件导入等。信息输入完毕自动根据图层的符号信息进行符号设置。图

层数据保存到企业数据库或个人数据库或shp文件中。

2.2.4.2模块功能

数据入库在表现形式上包括一般点线面入库,也包括复杂地物的输入,在输

21

入方法上包括鼠标输入也包括文本文件输入。

1、简单地物输入

简单地物是指当进行符号显示的时候,只需要和符号进行挂接就可以实现地

物显示的地物,比如测量控制点。在数据输入的时候不需要进行多余的修饰操作,

显示部分只交给符号功能。

2、复杂地物输入

复杂地物是指简单的输入很难满足显示的需要,或者输入很复杂,比如楼梯

的输入在进行每个台阶的输入时,是非常费力的,其实只要告诉台阶的几个点位,

就可以绘制出所有的台阶。这时候光用符号是不能满足楼梯显示的,特别是因为

楼梯是根据比例变化的,具有面积,所以需要绘制辅助台阶线来显示。这就是复

杂地物,系统把所有不能用符号显示的地物归为复杂地物,在输入时也做了相应

的处理。

3、鼠标输入

系统根据BaseTool虚拟基类实现了NewGeometrySketch和NewArcSketch

工具类来满足用户的点、线、面和弧段的输入的需要。NewGeometirySketch用于

点线面的输入,它只支持直线和边界为直线的面,当需要弧段的时候需要选择

NewArcSketch工具。在NewGeometrySketch里实现了OnCreate,OnMouseDown,

OnMouseMove,OnDblClick等方法,当用户选择此功能并在地图控件上点击的时

候此类可以接收到相关坐标信息。鼠标输入是逐点进行输入,用户要对输入的点

进行重组,形成所需要的数据类型。在ArcSDE里支持三种简单的数据类型:点、

线、面。点最简单,具有X、Y坐标。线和面比较复杂,下面单独介绍。

线最少有两点组成,在结构上线由多个Part组成,每个Part由一个叫做路

径(Path)的类生成,各个Path不能相互交叉,而每个Path由是由多个Segment

22

组成,每个Segment可以是直线也可以是曲线。线的各个部分之间是相互独立的,

所以线在显示上可以是多个互不想连的线,而这多个互不相连的线在数据库里是

按一条记录存储的,所以节省了很多存储空间,比如对于楼梯台阶,我们把各个

台阶线做为一个个Part组成一条线,在数据库里只存一次。

面的含义大致和线相同,只是面的部分是由(环)Ring构成,环必须是闭

合的,并且不能相互叠加。

在NewGeometrySketch里添加了右键菜单,实现了多种输入方式,包括方向、

偏转、长度、改变长度、绝对坐标、相对坐标、角度加长度、平行、垂直、流化、

完成、完成部分、完成部分并闭合、完成并闭合、删除草图和捕捉等。这几个功

能主要是根据当前用户已经输入的坐标数据,或者根据方向进行输入,并提供了

方法,使用户可以输入具有多个部分的图形。

方向方法是允许用户在输入的角度下进行输入,其中的方向根据笛卡儿坐标

系统计算,以屏幕的水平向右的方向为X轴方向,屏幕的竖直向上方向为Y轴方

向。当用户确定角度后,就只可以在此角度方向上输入坐标点。

偏转方法允许用户在上一条己经输入的线的方向上进行角度的偏转,方便用

户对相对角度进行输入。当用户确定角度后,就只可以在此偏转方向上输入坐标

点。

长度方法是让用户输入一定的长度,然后只限制用户在以上一个点为圆心,

以此长度为半径的圆上进行输入坐标点。

改变长度指用户在输入线段或面的边后允许其重新设置所输入的线的长度,

而不用从新开始输数据。

绝对坐标是让用户直接输入坐标值来输入点值。

相对坐标是让用户输入相对于上一个点的坐标值。

23

角度加长度是,让用户输入以上一个点为原点的角度值和长度值,并求出其

坐标值,来输入到系统中。

平行是让用户输入平行于水平线的线段。

垂直是让用户输入垂直于水平线的线段。

选择流化是不用用户按鼠标而根据坐标移动生成点。

完成功能是结束当前的绘制操作,并形成一个合法的图形将其存储到数据库

中。

完成部分是指,对于线来说绘制当前的Path完成,开始绘制新的Path,对

与面来说,绘制当前的Ring已经完成,开始绘制新的Ring。

完成部分并闭合只是试用于线要素,是将绘制完成的Path进行闭和操作。

完成并闭合只是试用于线要素,是将绘制完成的要素进行闭和操作。

删除草图是将已经绘制的草图删除,从新开始绘制,因为草图只是在临时层

中显示,并不影响数据库。

4.文本文件输入

文本文件的输入使用于宗地信息的输入。其格式为:

编号界址点个数宗地号宗地地类土地使用者

界址点编号X坐标Y坐标Z坐标

当用户选择从文本输入的候就可以根据这些界址点坐标生成宗地,并填写相

应的属性。

24

在鼠标输入的过程中可以在输入直线和弧段的过程中相互切换,也就是说一

条线可以由几段直线和几段弧段组成,不需要多余的操作它们就结合到一起。

系统提供了输入模版来供用户选择输入的对象。在我们的数据库设计上,是

按照逻辑上进行了分类,但是由于ArcSDE中图层只能存储点、线、面三种简单

要素,有的图层里面的分类并不存在逻辑关系,如果让用户自己去选择是很费时

间和精力的,只有用户非常熟悉图层的分类时才可以快速找到,我们把所有的要

素重新按照逻辑进行了分类,制作了输入模版对话框,方便了用户在输入时进行

选择。系统实现了两类输入模版一种是单纯图形的模版,一种是标注输入模版,

在输入标注线后要输入相应的注记文字。

2.2.4.3输入项

模块名称功能项具体操作输入参数

数据输入模块点的输入鼠标点击当前鼠标点击的地图位置

m_SJGL_SJSR

线的输入鼠标点击,移动,双击鼠标点击的各个地图坐标

结束

面的输入鼠标点击,移动,双击鼠标点击的各个地图坐标

结束

宗地的输入鼠标点击,移动,双击鼠标点击的各个地图坐标

结束

影像要素输入命令行输入文件路径和各个参数

对话框交互输入

标注输入鼠标点击标注要素鼠标位置,标注信息

信息输入鼠标选择实体鼠标位置,属性信息

2.2.4.4输出项

模块名称功能项具体操作输出参数

数据输入模块点的输入鼠标点击构造的点实体

m_SJGL_SJSR

线的输入鼠标点击,移动,双击构造的线实体

结束

面的输入鼠标点击,移动,双击构造的面实体

结束

宗地的输入鼠标点击,移动,双击构造的包括界址点、界址

结束线、宗地面实体

25

影像要素输入命令行输入无

对话框交互输入

标注输入鼠标点击标注要素标注要素

信息输入鼠标选择实体实体要素

2.2.4.5模块流程

2.2.5数据编辑

2.2.5.1模块概述

在拓扑编辑基础之上实现方便的宗地编辑,做到界址点的精确编辑,同步修

改宗地和界址线,能在界址点被拖动时,实现宗地和界址线的同步,增删三者时,

自动修改三者之间的关系。当地块的合并、分割、混合分并功能,自动修改三者

之间的拓扑关系。根据地块属性自动生成宗地注记功能(可动态组合,任意注记

内容),支持上图功能殊数据比如宗地进行进行相应的拓扑编辑,做到在移动点

时相关的线和面做出相应的反应,在拓扑编辑基础之上实现方便的宗地编辑,做

到界址点的精确编辑,同步修改宗地和界址线,能在界址点被拖动时,实现宗地

和界址线的同步,增删三者时,自动修改三者之间的关系。当地块的合并、分割、

混合分并功能,自动修改三者之间的拓扑关系。根据地块属性自动生成宗地注记

26

功能(可动态组合,任意注记内容),支持上图功能。因为在通过SDE存储的数

据只有经过设置版本之后才可以进行编辑,所以版本的管理在系统中非常重要。

此模块还实现版本的新建、版本的切换、版本之间(在同一继承树上)的协调和版

本冲突的解决。版本的编辑模块实现的基础之上,做到宗地的时态管理,实现地

籍实体在生命周期内状态时间序列的管理。对新老地籍实体之间的继承关系进行

管理。能够进行地籍实体的动态回溯,包括单宗地历史回溯,单证书历史回溯。

能够按照地理单元进行历史切片恢复。此外还提供常规的坐标转换,地籍测量功

能(包括量距法和极坐标法测量与作图功能)。

2.2.5.2模块功能

在数据进行输入完毕或者输入过程中可以对数据进行响应的编辑。系统实现

了图形移动、旋转、复制、粘贴、回退、前进、添加接点、移动接点等基本功能,

此外系统还针对地籍信息系统的需要增加了宗地编辑功能,来实现宗地层、界址

点层和界址线层之间的拓扑关系的自动建立。根据需要,还增加了高级编辑功能,

来实现要素或要素之间的编辑操作。下面分别进行介绍。

1、一般编辑

要素的操作,包括移动复制等。在操作前需要对要素进行选择,等到要素高

亮后可以把鼠标移动到要素上面,一旦鼠标变成十字状就可以拖动鼠标进行要素

移动了,等鼠标抬起时移动操作结束。如果需要对要素进行节点编辑需要进入到

节点编辑状态,对要素进行双击,等要素的节点高亮显示的时候就可以对起进行

移动。移动完毕只要在要素外面单击就可以退出节点编辑状态,并把移动后的结

果保存到数据库中。

2、宗地编辑

在通过输入功能输入一个宗地面后,并没有输入宗地的属性信息,也没有对

其增加相应的界址点和界址线。本系统增加了宗地注记功能首先需要选择宗地,

27

然后选择宗地编辑里的宗地注记,添加完宗地信息后,系统根据现有的图形状况,

完善宗地的拓扑信息。

我们根据规范建立了宗地的拓扑规则,a.界址点必须在宗地边界上b.界址

线必须覆盖宗地的边界c界址点必须在界址线的端点d宗地不可以相互交叉。

根据此规则,我们可以查找出当前的宗地是否有共享的界址点和界址线,如

果已经存在则需要修改其信息,比如界址点需要增加隶属宗地的信息和启点号和

止点号,界址线需要增加本宗地号或临宗地号。如果缺少界址点和界址线则根据

需要自动添加图形要素和属性信息。这样在以后的信息查询中就很容易查询出某

个宗地的界址点和界址线信息。

3、高级编辑

本系统以命令和工具的形式实现了19个高级编辑功能。

数据拷贝功能,选择要素,然后在其他地方单击鼠标则会添加同样的要素只

是位置改变了,如果要素层和目标层相同则要素还会复制相同的属性信息。此外

还可以在不同类型要素的图层间进行复制比如面层的要素可以复制到线类型的

图层中。

线段平滑功能,只对线要素起作用,目的是使要素的两个直线线段之间变成

平滑的弧段。只要选择任意一条线的两个邻接的线段就可以实现。

绘制矩形和和圆,根据ArcEngine的橡皮筋类提供的功能实现。其实都是面

状要素。

到达功能,当一条线本应接触到另一条线或面,但是由于绘制的疏忽,没有

接触到,此时就可以采用到达的功能消除要素间的“虚接”。首先要选择基准要

素,然后选择此功能,点击线段,相关的线段就可以自动抵触到基准要素上。

消除悬挂功能,当一条线本应接触到另一条线或面,但是由于绘制的疏忽,

28

使线超出另一个线或面,此时就可以采用消除悬挂的功能消除要素间的“悬垂”。

首先要选择基准要素,然后选择此功能,点击线段,相关的线段就可以自动删除

多余的“线头”。

炸开功能,是将一个多部分的要素分开,比如有不想临地块的宗地,原来是

一个要素,现在要进行分割则可以使用炸开功能,将原来的一个要素变为现在的

多个要素。编程方法是将原来的每个部分单独剥离出来,然后分别单独组成一个

新的线对象,并将原来的属性值复制。

长度分割功能是将一条线按照长度进行分割,使用线对象中的IPolycurve

接口中的SplitAtDistance方法完成分割需要。

移动功能是将选择的要素按照相对位置进行移动。

剪切是用一个面去裁剪另一个面,可以选择性地保留相交部分和相差部分,

还可以使用缓冲区进行裁剪。采用的是面与面的拓扑操作功能,可以使用一个面

对多个面进行剪裁。

缓冲区功能是在选择要素的基础上生成缓冲区,并保存到目标图层上。

平行拷贝是将线要素在指定方向上进行平行移动复制。

合并功能和炸开功能正好相反,它是把选择的多个要素进行合并,组成一个

多部分要素。采用的是IGeometryCollection接口,将多个要素合并到其中一

个要素之上。

联合功能和合并功能类似,不过是保留原来的合并之前的对象。

交叉功能将选择的面要素进行拓扑操作,将面与面之间交叉的部分保存到目

标图层上。

阵列复制功能是将选择的要素在指定方向指定步长和指定复制个数的基础

29

上对要素进行复制。

旋转功能就是拖动要素来进行旋转操作。

2.2.5.3输入项

模块名称功能项具体操作输入参数

数据编辑模块移动鼠标选中要素后移动鼠标移动中间和移动后的

m_SJGL_SJBJ后位置

删除鼠标点击选中要素,鼠标点击位置,DEL

选择删除

复制鼠标点击选中要素,鼠标点击位置,copy

选择复制

阵列鼠标点击选中要素,鼠标点击位置,阵列方向,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论