670 likes | 889 Vues
地理信息系统设计与实现. 徐永进 GIS 教研室 西南大学地理科学学院 xuyj@swu.edu.cn. 第一章 概论. 信息 地理信息 信息系统 地理信息系统. GIS 基本概念. 第一章 概论. 地理信息系统的类型. 按研究的范围分:全球性的、区域性的和局部性的; 按研究的内容分:综合性的和专题性的; 按空间数据的时空性质分: 2 维的、 2.5 维的、 3 维和 4 维的。 按照功能和内容分:工具型 GIS/ 应用型 GIS (专题 GIS 、区域 GIS 、大众 GIS). 第一章 概论. 领域广泛 研究分析深入 社会化应用 应用全球化
E N D
地理信息系统设计与实现 徐永进GIS教研室西南大学地理科学学院xuyj@swu.edu.cn
第一章 概论 • 信息 • 地理信息 • 信息系统 • 地理信息系统 • GIS基本概念
第一章 概论 • 地理信息系统的类型 • 按研究的范围分:全球性的、区域性的和局部性的; • 按研究的内容分:综合性的和专题性的; • 按空间数据的时空性质分:2维的、2.5维的、3维和4维的。 • 按照功能和内容分:工具型GIS/应用型GIS(专题GIS、区域GIS、大众GIS)
第一章 概论 • 领域广泛 • 研究分析深入 • 社会化应用 • 应用全球化 • 网络化集成化 • 模型多样化 • 地理信息系统的应用
第一章 概论 • 地理信息系统的应用
警用地理信息系统 属性查询 查询 专题图 作战指挥 地图切换
GPS 打印机 存储设备 解析测图仪 主机 显示器 测绘仪器 网络 绘图仪 扫描仪 数字化仪 1、硬件 包括:客户端、服务器、网络、存储、输入设备、输出设备等 2、软件 操作系统、编程语言、图形图象处理、数据库管理、GIS基本功能软件包、GIS应用软件包、GIS与用户的接口通讯软件等 • 地理信息系统的硬、软件环境
通用GIS的五大子系统1、数据输入子系统2、数据编辑子系统(图1.3)3、数据管理子系统4、数据查询分析子系统5、数据输出子系统(图1.4)通用GIS的五大子系统1、数据输入子系统2、数据编辑子系统(图1.3)3、数据管理子系统4、数据查询分析子系统5、数据输出子系统(图1.4)
GIS的软、硬件选择1、GIS硬件的选择2、GIS软件的选择2.1、功能2.2、技术支持以及后继支持2.3、市场和用户群2.4、信息处理能力和数据交换能力2.5、价格GIS的软、硬件选择1、GIS硬件的选择2、GIS软件的选择2.1、功能2.2、技术支持以及后继支持2.3、市场和用户群2.4、信息处理能力和数据交换能力2.5、价格
数据质量及其控制 • GIS空间数据质量的概述 1、GIS空间数据质量的含义 数据是各类信息系统的基础。抽象的、适用程度。 2、有关GIS空间数据质量的几个概念a、误差b、数据准确度c、数据精密度d、不确定性e、cd通常合称为精度 3、GIS空间数据的质量的重要性
数据质量及其控制 • GIS空间数据质量的内容 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实例教学(案例1) Ao如何获取Feature • 找到数据所在图层 • 判断图层类型(是否支持Feature的Layer) • 得到图层的整个FeatureClass • 判断FeatureClass的esriGeometryType • 得到类型 点/线/面/…. • IFeatureCursor= FeatureClass. GetFeatures 查找枚举每个Feature
Ao实例教学(案例1) Ao中Feature的处理 • Feature的成员 • FieldsIField • Shape • Value
Ao实例教学(案例2) Ao制作自己的导航工具栏 • 导航工具条实现的几种方式1、esriToolbar2、ICommand3、IEnvelope • 放大缩小的原理 • 前视图和后视图的实现 • Pan的实现原理 • 要注意的接口extend
Ao实例教学(案例2) Ao制作自己的导航工具栏 • 程序的组织(思考) • Mapcontrol控件的鼠标事件的处理地图坐标和IEnvelope接口的关系放大和缩小的实质?!
Ao实例教学(案例3) 栅格数据的插值处理 • 了解栅格数据 • 栅格数据的插值操作 • 常见插值(样条、反距离权重、克里各…) • 用到的接口IRasterIRatserLayerIRasterDatasetIInterpolationOp IGeoDataset
Ao实例教学(案例3) 栅格数据的其它处理 • 获取栅格值IPixelBlock2 IPnt IRawPixels(read)IRaster(read)需要注意的问题??
开发GIS基本系统 • 专业开发工具优点与不足优点:技术成熟,起点高 较好的可靠性 容易理解和掌握缺点:扩展性差 体积庞大,软、硬件要求高 没有系统版权 • 自行开发GIS的优点和缺点优点:灵活;更专注解决专业应用问题; 易于扩展成各种系统;拥有版权; 缺点:难度大,工作量大;开发工作的连续性难以保证; 对开发人员要求较高;
开发GIS基本系统 • 结论1.大型的GIS开发项目,对平台要求高,适合采用专业开发工具模式。 2.小型的GIS,若对平台的要求不高,重点在于专业实际技术的应用,适合采用自主开发模式
开发GIS基本系统 • 矢量图形系统 • 遥感和栅格数据处理系统 • 属性数据管理及其数据库系统 • 矢量空间数据元素与属性数据的链接 • 完整的空间数据管理、查询、统计分析和图形图像输出功能
开发GIS基本系统 • 需要的操作系统相关知识储备Windows绘图的机制与设备描述表坐标比例的转换运算常见相关函数 • 关于数据库的知识储备数据库的创建和管理SQL语言数据引擎的认识索引、关键字、视图...
开发GIS基本系统 • 矢量图形系统构架 • 矢量图形系统的组织关系
开发GIS基本系统 • 矢量空间数据元素与属性数据的链接
开发GIS基本系统 • 基本图元的设计点(与GIS的点比较?)线面文字弧段….
开发GIS基本系统 • 矢量图形过渡到GIS • 空间数据的分类图层(?优缺点)数据图层的属性 • 系统对空间数据的管理组织工程图幅单元图层地图对象
开发GIS基本系统 • 空间数据库设计1、基本控制数据【图幅名称、控制点信息、结点、节点、线、面、文字、图层数、其它信息】2、属性数据管理【属性数据和空间数据的关联】3、数据表【基本关系表、属性表、图层表、其他表等】
属性数据文件1 项目文件 控制点文件 属性数据文件2 图 层 文 件 属性数据文件… 属性数据文件n 标识点文件 节点文件 线 文 件 弧文件 结点文件 多边形文件 字注释文件 点符号文件
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 SystemReference Coordinate or XY LocationCell SizeCount of Rows和ColumnsRaster和Image数据类型也是存储和管理在关系表格中,Raster数据通常比较大,存储的时候需要一个Side Table来存储,将Raster切为小片,或者大小通常为128*128或者256*256的Blocks,存储在Raster表中,通过Side表的每一行记录去记录栅格中的每一个Block
GeoDatabase简析 • 管理File和Personal GeodatabaseCompressing File Geodatabase的Compress不是在物理上将数据压缩得更小,而是将数据组织得更加紧凑,例如重复的完全相同的多点会用一行记录加上点的个数来表示。ArcGIS对不同的字段采取不同的压缩方法,压缩比例由要素的类型以及属性数据的冗余程度来决定。 CompactingCompacting是将文件记录整理、重新归类,以减少存储空间。如果经常添加或者删除数据,就必须定期对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以后,才能看到更新以后的内容。