地理信息系统设计与实现 徐永进 GIS教研室 西南大学地理科学学院
第一章 概论 GIS基本概念 信息 地理信息 信息系统 地理信息系统
第一章 概论 地理信息系统的类型 按研究的范围分:全球性的、区域性的和局部性的; 按研究的内容分:综合性的和专题性的; 按空间数据的时空性质分:2维的、2.5维的、3维和4维的。 按照功能和内容分:工具型GIS/应用型GIS(专题GIS、区域GIS、大众GIS)
第一章 概论 地理信息系统的应用 领域广泛 研究分析深入 社会化应用 应用全球化 网络化集成化 模型多样化
第一章 概论 地理信息系统的应用
城镇土地利用系统
电信地理信息系统
铁路地理信息系统
警用地理信息系统 属性查询 查询 专题图 作战指挥 地图切换
地理信息系统—医疗机构查询
地理信息系统—三维虚拟
地理信息系统—电子沙盘
地理信息系统—WEBGIS
地理信息系统的硬、软件环境 GPS 打印机 存储设备 解析测图仪 主机 显示器 测绘仪器 绘图仪 扫描仪 数字化仪 1、硬件 包括:客户端、服务器、网络、存储、输入设备、输出设备等 2、软件 操作系统、编程语言、图形图象处理、数据库管理、GIS基本功能软件包、GIS应用软件包、GIS与用户的接口通讯软件等 主机 打印机 显示器 绘图仪 存储设备 扫描仪 数字化仪 解析测图仪 测绘仪器 GPS 网络
通用GIS的五大子系统 1、数据输入子系统 2、数据编辑子系统(图1
GIS的软、硬件选择 1、GIS硬件的选择 2、GIS软件的选择 2. 1、功能 2. 2、技术支持以及后继支持 2. 3、市场和用户群 2
数据质量及其控制 GIS空间数据质量的概述 1、GIS空间数据质量的含义 数据是各类信息系统的基础。抽象的、适用程度。 2、有关GIS空间数据质量的几个概念 a、误差 b、数据准确度 c、数据精密度 d、不确定性 e、cd通常合称为精度 3、GIS空间数据的质量的重要性
数据质量及其控制 GIS空间数据质量的内容 1、微观部分 定位精度、属性精度、逻辑一致性、分解力 1、微观部分 定位精度、属性精度、逻辑一致性、分解力 2、宏观部分 a、完整性:层完整性、分类完整性、检验完整性 b、时间(效)性(现实性):数据直接产生时间 c、数据档案 3、适用性
数据质量及其控制 GIS空间数据质量的控制 1、数据误差的来源 质量和误差?! a、数据采集阶段 b、数据输入阶段 c、数据存储阶段 d、数据操作阶段 e、数据输出阶段 f、成果实用阶段
数据质量及其控制 GIS空间数据质量的控制 2、数据质量的控制 a、选择数据源 I 确保数据源误差小于系统要求误差 II 地图数据源对地图的选择 III 尽可能的减少中间处理环节 b、数字化过程中的数据质量控制 数据预处理、设备选用、对点精度、数字化限差、精度检查 c、数据处理分析中的数据质量控制 计算误差、数据转换误差、拓扑叠加分析误差
ArcObjects的基本知识 AO不同版本稍有出入 基本结构图 三个主要控件 MapControl、PageLayout、SceneViewer 组件库的使用方法
ArcObjects的基本知识 OMD图的认识
ArcObjects的基本知识 AO的App组成
ArcObjects的基本体系 ARCGIS构架 AO的在ARCGIS中的地位 ARCGIS的其它产品
ArcObjects的基本体系 AO的数据构架(部分) 矢量数据 栅格数据 图层体系 GeoDatabase体系
Ao如何获取Feature Ao实例教学(案例1) 找到数据所在图层 判断图层类型(是否支持Feature的Layer) 得到图层的整个FeatureClass 判断FeatureClass的esriGeometryType 得到类型 点/线/面/…. IFeatureCursor= FeatureClass. GetFeatures 查找枚举每个Feature
Ao实例教学(案例1) Ao中Feature的处理 Feature的成员 FieldsIField Shape Value
Ao制作自己的导航工具栏 Ao实例教学(案例2) 导航工具条实现的几种方式 1、esriToolbar 2、ICommand 3、IEnvelope 放大缩小的原理 前视图和后视图的实现 Pan的实现原理 要注意的接口extend
Ao制作自己的导航工具栏 Ao实例教学(案例2) 程序的组织(思考) Mapcontrol控件的鼠标事件的处理 地图坐标和IEnvelope接口的关系 放大和缩小的实质?!
栅格数据的插值处理 Ao实例教学(案例3) 了解栅格数据 栅格数据的插值操作 常见插值(样条、反距离权重、克里各…) 用到的接口 IRaster IRatserLayer IRasterDataset IInterpolationOp IGeoDataset
Ao实例教学(案例3) 栅格数据的其它处理 获取栅格值 IPixelBlock2 IPnt IRawPixels(read) IRaster(read) 需要注意的问题??
开发GIS基本系统 专业开发工具优点与不足 优点:技术成熟,起点高 较好的可靠性 容易理解和掌握 缺点:扩展性差 体积庞大,软、硬件要求高 没有系统版权 自行开发GIS的优点和缺点 优点:灵活;更专注解决专业应用问题; 易于扩展成各种系统;拥有版权; 缺点:难度大,工作量大;开发工作的连续性难以保证; 对开发人员要求较高;
开发GIS基本系统 结论 1.大型的GIS开发项目,对平台要求高,适合采用专业开发工具模式。
开发GIS基本系统 矢量图形系统 遥感和栅格数据处理系统 属性数据管理及其数据库系统 矢量空间数据元素与属性数据的链接 完整的空间数据管理、查询、统计分析和图形图像输出功能
开发GIS基本系统 需要的操作系统相关知识储备 Windows绘图的机制与设备描述表 坐标比例的转换运算 常见相关函数 关于数据库的知识储备 数据库的创建和管理 SQL语言 数据引擎的认识 索引、关键字、视图...
开发GIS基本系统 矢量图形系统构架 矢量图形系统的组织关系
开发GIS基本系统 矢量空间数据元素与属性数据的链接
开发GIS基本系统 基本图元的设计 点(与GIS的点比较?) 线 面 文字 弧段 ….
开发GIS基本系统 矢量图形过渡到GIS 空间数据的分类 图层(?优缺点) 数据图层的属性 系统对空间数据的管理组织 工程 图幅单元 图层 地图对象
开发GIS基本系统 空间数据库设计 1、基本控制数据【图幅名称、控制点信息、结点、节点、线、面、文字、图层数、其它信息】 2、属性数据管理【属性数据和空间数据的关联】 3、数据表【基本关系表、属性表、图层表、其他表等】
控制点文件 图 层 文 件 属性数据文件1 属性数据文件n 属性数据文件2 项目文件 属性数据文件… 标识点文件 线 文 件 多边形文件 节点文件 字注释文件 点符号文件 结点文件 弧文件
GeoDatabase简析 组成方面: 9.1版本:Geodatabase包括两种:Personal Geodatabase 和 ArcSDE Geodatabase,其中前者是将空间数据存储在Access中,后者是将数据存储在Oracle,Informix,DB2,SQL Server中 。 9.2版本: File Geodatabase(新), ArcSDE Geodatabase三种类型:ArcSDE Personal Geodatabase,ArcSDE Workgroup Geodatabase,ArcSDE Enterprise Geodatabase。其中前两种是9.2新推出来的产品,是将空间数据存储在SQL Server Express中,而第三种就是9.1版本的ArcSDE Geodatabase,是将空间数据存储在Oracle,Informix,DB2,SQL Server。
GeoDatabase简析 数据类型 Geodatabase事实上是很多Geographic Dataset的集合,最基本的Dataset的类型包括Feature Classes、Raster Dataset、Attribute Tables。在以上基本要素的基础上,还能定义Geodatabase的Schema、数据的完整性、规则和行为,包括Spatial Reference、Spatial Resolution、Topology、Network、Domain等等。在创建Geodatabase时,首先生成不同的Dataset类型,然后添加或者扩展Geodatabase基本要素的能力,例如添加拓扑、网络、子类以实现GIS行为建模、维护数据完整性以及建立空间关系。 功能方面: Versioning Editing(版本化编辑) Working With a Geodatase Using SQL(仅支持Informix和DB2 ) 离线编辑(与9.2的Check In/Check Out相同) 9.1版本对存储在ArcSDE中的空间数据只提供版本编辑功能,到了9.2才增加了Non Version(非版本化编辑)功能 以及Registered as visioned with the option to move edits to base(不完全版本化编辑)功能
GeoDatabase简析 Spatial Type 目前有三种DBMS能够支持Geodatabase的Spatial Type: (1)Oracle using the ESRI spatial type or optionally the Oracle Spatial type; (2)IBM DB2 using the Spatial Extender Geometry Object; (3)Informix using the Spatial DataBlade Geometry Object。
GeoDatabase简析 矢量要素的存储 Feature Dataset /Feature Class 参数: Spatial Reference (1)XY Tolerance (2)XY Resolution 对于3D数据以及Linear Referencing数据,可以分别对Z值和M值设置Z Tolerance、Z Resolution,以及M Tolerance、M Resolution Feature calss可以扩展为:Feature Dataset、Subtypes、Attribute Domains、Relationship Classes、Topology、Network Dataset、Geometric Network、Terrain、Address Locator、Linear Referencing、Cadastral Fabric、Cartographic Representation、Versioning
GeoDatabase简析 Raster数据的存储 Coordinate System Reference Coordinate or XY Location Cell Size Count of Rows和Columns Raster和Image数据类型也是存储和管理在关系表格中,Raster数据通常比较大,存储的时候需要一个Side Table来存储,将Raster切为小片,或者大小通常为128*128或者256*256的Blocks,存储在Raster表中,通过Side表的每一行记录去记录栅格中的每一个Block
GeoDatabase简析 管理File和Personal Geodatabase Compressing File Geodatabase的Compress不是在物理上将数据压缩得更小,而是将数据组织得更加紧凑,例如重复的完全相同的多点会用一行记录加上点的个数来表示。ArcGIS对不同的字段采取不同的压缩方法,压缩比例由要素的类型以及属性数据的冗余程度来决定。 Compacting Compacting是将文件记录整理、重新归类,以减少存储空间。如果经常添加或者删除数据,就必须定期对File 或者Personal Geodatabase实现Compact,这能够减少文件大小,提高访问速度。
GeoDatabase简析 Versioning(版本) Versioning使 得多个用户能够同时编辑一个Geodatabase,而不用去复制数据库或者锁定数据库。一个Geodatabase能够有很多Version,事实上不 管一个Geodatabase有多少个Version,数据库中只保存一套Tables和Feature Classes。Version是对Geodatabase的快照,而不是复制。对所有版本的编辑都是保存在Delta表中的。通过创建Version, 多个用户可以同时对一个Geodatabase进行编辑,而且多个用户也可以同时编辑一个Version。当用户连接一个多用户的Geodatabase时,通常需要选定连接哪个Version。 对于海量的、多用户的数据库,可以使用自动Reconcile和Post的功能。有两种方式可以实现:Batch Reconcile和Version Reconcile Services
GeoDatabase简析 Versioning(版本) 在进行数据库处理的时候,有三种选项: (1) Registered As Visioned without the option to move edits to base 能够实现的操作包括Undo和Redo操作、长事务编辑、为设计和工程使用命名版本、使用Geodatabase归档、使用数据库复制。 不能做的事:创建拓扑、从拓扑中添加或删除要素、添加和删除拓扑规则、创建几何网络、从几何网络中添加或删除要素类。 (2) registered as visioned with the option to move edits to base 不能够做的事:编辑参与拓扑和几何网络的要素类、数据库归档、数据库复制 (3)not registered as versioned 是最原始的状态,能够实现复杂数据类型,包括拓扑和几何网络的编辑与更新。因为Default版本是数据库中最关键的,需要经常更新,因此需要对Default版本定期备份。
GeoDatabase简析 Versioning(版本) 编辑冲突: (1)多个用户同时编辑一个版本中的数据:当 多个用户同时编辑一个Version时,对每个用户都创建一个Edit Session,每个用户都不能看到其他用户的编辑状态,只有用户Save Edits以后,才能够看到其他用户的编辑状态。如果多个用户同时对一个要素做了不同的操作,则会发生Conflicts,在保存编辑结果时,会出现冲突 信息,则根据在Editing Options的Versioning面板上设置的Preferences来处理冲突,看应该保存哪个用户的编辑结果; (2)如果是子版本和父版本的编辑发生冲突,则在Reconcile的时候会出现冲突信息,用户可以手动去解决冲突;如果用户正在查看的版本又被提交了新的内容,则用户只有Refresh以后,才能看到更新以后的内容。
GeoDatabase简析 Geodatabase Archiving(历史数据归档) Transactional Version Historical Version(只读) 在 连接一个数据库的时候,可以选择是连接Historical Version还是Transactional Version,并且还可以通过Change Version工具来进行修改。对于Historical Version的查询是基于Archive Class,而对于Transactional Version的查询是基于Base表和Delta表。
GeoDatabase简析 Geodatabase Archiving(历史数据归档) 注意: (1) 一旦数据集注册为“Registered with moving edits to base ”,则不能实现Archiving,必须将数据集Unregistered,然后再“Registered as versioned without the option to move edits to base”; (2) 仅仅对具备Own权限的Datasets或者Classes进行Archiving; (3) 在开始Archiving时,原始Class的Indexed也将创建; (4) 能够通过点击Archiving的Properties查看数据的档案; (5) 对Archive Class类的命名规则是在原始对象类的名称后加“_H”,例如Road_H; (6) 利用ArcCatalog不能查看Archive Class,但是在ArcMap中通过Add Historical Archive命令把Archive Class添加到ArcMap中浏览和分析; (7) 为了更好的使用Archive Class,应该定期更新Database Statistics;
GeoDatabase简析 Geodatabase Distribution(复制与同步)
GeoDatabase简析 Working With a Geodatabase Using SQL 可以通过Sql创建空间参考 可以通过SQl完成空间操作 以上全部资料来自于www.gissky.net
自动生成等高线系统设计与实现 系统目标 设计一小型实验系统,系统要求能够完成基本的地图浏览操作之外,需要具备基本的文件保存/读取等功能,专业功能模块为由离散点自动生成等高线。 基本要求: 1、可以读取一种公开数据格式,拥有一种自定义数据格式; 2、简单图层控制功能(可视、上下移动); 3、数据输出功能,可以打印或者保存为文件; 4、能够由具备Z值的点自动生成等高线的功能,对于等高线的平滑功能,做为后继开发设计模块;
自动生成等高线系统设计与实现 系统内容 系统参数设置 数据输入 数据打印 数据输出 等高线自动生成 数据编辑选择 选做 视图浏览
自动生成等高线系统设计与实现 开发方式的选取 教学用,系统规模小,功能少,对于基本GIS系统设计开发已经讲述过,可以采用底层开发方式设计; 开发工具选取 VC++/VB/Delphi/C#? 系统环境 操作系统:Win2000 Server/Pro、WinXP、Win98 支持软件:无需任何专业GIS平台支持,若为C#则需要NET Frame Work 硬 件:CPU不低于566HZ 内存不低于128M
自动生成等高线系统设计与实现 关键技术 基本GIS系统? 支持公开格式的文件??(shape file、mif、 vct) 如何生成等高线?????(格网法、三角网法) 资料参考 《矢量图形系统设计》陈建春 《shape file 白皮书》ESRI 《Mif文件格式说明》 MapInfo 《国家矢量数据交换标准》GB 《算法几何》等、各级别等高线相关的论文 各种途径得来的网络资料
自动生成等高线系统设计与实现 Shape File的结构
自动生成等高线系统设计与实现 其它数据格式的定义 MIF、MID DXF 自定义格式
自动生成等高线系统设计与实现 还有什么? 详细功能设计 新建 打开… 数据输入 导入… 文件 数据输出 保存 另存… 退出
自动生成等高线系统设计与实现 应如何组织这个菜单? 详细功能设计 放大 缩小 平移 地图浏览 居中 浏览/视图(?) 前/后视图 显示全图
自动生成等高线系统设计与实现 还有哪些可以改动的? 详细功能设计 图层… 最近文档 系统参数设置 设置 地图属性… 其它(eg缺省样式)
自动生成等高线系统设计与实现 内容的表现方式? 详细功能设计 点/线/面 选取 编辑 编辑方式 编辑其它
自动生成等高线系统设计与实现 需要考虑什么问题? 详细功能设计 生成方法 等高线 单步处理 自动处理
自动生成等高线系统设计与实现 详细功能设计 系统还有哪些需要完善的内容?讨论?