应用型GIS 地理信息系统设计内容和方法
挺好的一篇论 文 http://wenku.baidu.com/view/8e40a17c1711cc7931b7165e.html
文章就重点应用型地理信息系统的设计内容、设计过程、相关实现技术与方法作了综述, 并详细给出了设计中属性数据库、空间数据库的一般功能组织结构, 最后介绍了一种属性数据与空间数据的关联方法。
设计实施过程从需求分析,系统总体设计(系统组网设计,硬件配置,软件设计,编码设计,人机对话设计),GIS功能设计(总体模块功能设计、属性数据库管理系统结构与功能设计、图形数据库管理系统结构与功能设计),数据库详细设计(数据库的概念设计、逻辑设计、物理设计和数据模型选择),应用模型和方法设计分析(常用应用模型设计、方法设计),输入输出设计(输入输出数据形式)。其中数据库详细设计方面感觉写的很好很详细,引用一下,学习学习。
空间信息处理系统的设计重点是数据库的设计, 数据库设计就是把现实中一定范围内存在着的应用处理和数据抽象成一个数据库的具体结构的过程 GIS 数据库的设计比一般数据库设计要考虑得更多 由于地理数据由矢量和珊格之分, 又具有属性和空间的、甚至时间的特征, 因此需考虑不同的结构来表达 从满足用户要求、具有良好的数据库性能、在现实中模拟的精确程度、基于某一个数据库管理系统确定好数据库设计的目标, 有以下几个步骤:
1.数据库概念设计 数据库概念设计是数据库设计的第一步, 概念设计是现实世界与机器世界的中介, 一方面能充分反映现实世界实体与实体之间的关系, 同时又易于向关系、网状、层次等各种数据模型转换, 是现实世界的一个真实模型 一般采取自顶向下、自底向上、逐步扩张、混合策略等几种方法,以E- R模型为工具来描述概念结构 确定分 E- R 图, 确定数据库实体类型、地理实体属性范围以及实体间的基本关系。
2.数据库逻辑设计 数据库逻辑设计是整个数据库设计的基础, 其目的是规划整个数据库的框架, 回答数据库能做什么的问题, 其任务是用数据库管理系统提供的工具和环境对现实世界的抽象得到的概念模型转化成相应的数据库管理系统的模型, 用逻辑数据结构来表达概念模型中所提出的各种信息结构问题, 并用数据描述语言描述出来 一般应考虑: 数据共享、采集、存储、使用、维护成本等方面应达到最大效率, 最大程度地减少数据冗余,保证数据质量,包括空间数据逻辑设计和属性数据逻辑设计。
①空间数据逻辑设计一般首先进行空间数据逻辑划分, 由于 G IS 系统数据量大、结构复杂, 设计时根据不同的子系统应将数据库划分为不同的子库, 首先按数据的空间分布及考虑磁盘容量、查询分析效率、数据库维护等几方面将数据划分为规则或不规则的块, 通过建立图幅总索引表、空间实体索引表、基本单元索引表在图幅、空间实体和空间基本单元之间建立链接关系, 保证空间数据库的无缝链接和有效空间查询, 然后进行图层信息组织, 将图块中不同类、不同级的图元要素进行分层存放, 每一层存放一种专题或一类信息 按照用户的要求或标准将相关图元要素组合在一起构成表示地理特征及描述这些特征的逻辑意义上的图层, 确定空间数据库管理部分的子系统组织结构。
空间数据逻辑数据结构设计: GIS 中逻辑空间结构主要有栅格结构及矢量结构 栅格结构以规则阵列表示地理空间现象的分布, 地理实体的空间位置隐含其中, 标识的地表是不连续的, 是量化和近似数据, 数据冗余量大、精度低, 但图像图形操作容易实现、空间分析模型容易实现, 易与遥感数据相结合矢量结构以坐标的方式来表示点、线、面等地理实体, 量算与制图精度高数据冗余少 一般设计时可结合两种结构的优点来进行空间数据的逻辑结构设计.
②属性数据逻辑设计 将概念结构转化为一般的关系、网状、层次模型; 将转换来的关系、网状、层次模型向特定的 DBMS 支持下的数据模型转换; 最后对数据模型进行优化 主要完成属性表与属性关系的设计, E- R 图向数据模型的转换, 确定属性数据库管理部分的组织结构
3.数据库物理设计 数据库物理设计的任务是使数据库的逻辑结构能在实际的物理存储设备上得以实现, 主要解决存储空间分配、数据的物理表示、确定存储结构。
4.空间数据与非空间数据连接 空间数据指目标的位置信息数据、拓扑关系等, 属性数据是指与空间位置没有直接关系的代表特定地理意义的数据, 既可以独立于专题地图的信息, 也可以是与专题地图相关的数据 属性数据库设计指属性数据文件设计、属性数据库结构设计、属性数据管理系统设计和软件设计, 有几种形式的设计, 一种是将属性数据和空间图像数据组合在同一个文件的记录中, 这种方式既不灵活, 又造成很大的冗余; 另一种是将属性数据以单独的数据文件方式与图形数据文件并存于文件系统, 其优点是对某些个体应用比较简单, 且容易操作, 但局限性很大, 结构不灵活, 难以实现数据共享 因此属性数据库设计时应当和图形数据库设计综合考虑, 目前较为流行的设计是面向对象的设计方法和混合数据结构设计 一个大的空间数据库通常将空间数据与属性数据分别存储, 空间数据用各种 GIS 软件提供的数据模型存储, 属性数据则用 RDBMS 存储, 两者通过关键项或通过指针链接。
应用型GIS 地理信息系统设计内容和方法的更多相关文章
- linux几种快速清空文件内容的方法
linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo & ...
- JavaScript动态改变表格单元格内容的方法
本文实例讲述了JavaScript动态改变表格单元格内容的方法.分享给大家供大家参考.具体如下: JavaScript动态改变表格单元格的内容,下面的代码通过修改单元格的innerHTML来修改单元格 ...
- css之隐藏内容的方法
css隐藏内容的方法有三种:即display:none.visibility:hidden.overflow:hidden. 1.display:none;的缺陷: 搜索引擎可能认为被隐藏的文字属于垃 ...
- PHP中获取某个网页或文件内容的方法
1. 通过file_get_contents()函数$contents = file_get_contents('http://demo.com/index.php');echo $contents; ...
- 深入学习Python解析并解密PDF文件内容的方法
前面学习了解析PDF文档,并写入文档的知识,那篇文章的名字为深入学习Python解析并读取PDF文件内容的方法. 链接如下:https://www.cnblogs.com/wj-1314/p/9429 ...
- 深入学习python解析并读取PDF文件内容的方法
这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...
- appium获取Toast内容的方法
做自动化测试的时候,可能需要根据弹出的Toast提示来做下一步判断.这里记录一下获取Toast内容的方法,同时巩固一下显示等待的方法之一WebDriverWait. from selenium.web ...
- php mysqli query 查询数据库后读取内容的方法
php mysqli query 查询数据库后读取内容的方法 <?php$mysqli = new mysqli("localhost", "my_user&quo ...
- div+css隐藏内容样式方法
div css隐藏内容样式方法 div+css隐藏内容方法 一般情况下,css隐藏的用途,如下: 1.对文本的隐藏 2.隐藏超链接(另类黑链) 3.对统计代码隐藏 4.隐藏超出图片 5.css ...
随机推荐
- ios开发——实用技术总结Swift篇&swift常用开发技术总结
swift常用开发技术总结 懒加载:属性,数组(字典),控件... 数组(懒加载): lazy var shops:Array<Dictionary<String, String>& ...
- 关于Autofac的使用陷阱
说明:本文是对参考文章的一个整理,做一个记录,基本没有翻译,详情请参看原文. 使用注意要点: Autofac will track every disposable component instanc ...
- 实例讲解Linux系统中硬链接与软链接的创建
导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...
- 将一副图片编译进uboot
在uboot显示图片的时候可以将jpg图片作为uboot的一段,在程序中访问该段,实现图片. 图片: logo.jpg ,将其拷贝到common下 修改u-boot.lds,添加".log& ...
- Java构造器和方法的区别
摘要要学习Java,你必须理解构造器.因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆.但是,构造器和方法又有很多重要的区别.原作者:Robert Nielsen 原站:www.javawor ...
- CentOS安装某个命令的办法如locate
在Linux使用命令时,有时候因为系统精简的原因,某些命令可能没有安装locate包,例如你要输入的命令是locate 发现没有该命令,修复办法如下: 一.使用如下命令查询缺失命令的包名 #yum l ...
- 第一章:Pandas概论
Series:一维数组,与Numpy中的一维array类似.二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相 ...
- flume+kafka+storm
centos06.6+JDK1.7 flume1.4+kafka2.10+storm0.9.3 zookeeper3.4.6 集群: 192.168.80.133 x01 192.168.80.134 ...
- EF——使用Data Annotations和Fluent API配置数据库的映射配置 02.01(转)
要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就 ...
- C语言第六节基本运算符
算术运算 C语言一共有34种运算符,包括了常见的加减乘除运算 加法运算+ 除开能做加法运算,还能表示正号:+5.+90 减法运算- 除开能做减法运算,还能表示符号:-10.-29 乘法运算* 注意符号 ...