应用型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开发——多线程OC篇&多线程详解
多线程详解 前面介绍了多线程的各种方式及其使用,这里补一点关于多线程的概念及相关技巧与使用,相信前面不懂的地方看了这里之后你就对多线程基本上没有什么问题了! 1——首先ios开发多线程中必须了解的概念 ...
- pg viedio
http://blog.163.com/digoal@126/blog/static/16387704020141229159715/
- WSS3.0 SDK中的不同列表类型的对应值
Value Description 100 Generic list 101 Document library 102 Survey 103 Links list 104 Announcements ...
- 迷你MVVM框架 avalonjs 0.81发布
本版本最大的改进是将视图的操作全鄣变成异步.详情如下: 管道符与短路与相混淆的BUG 重构on绑定,省得每次都重复绑定同一个事件回调.虽然addEventListener或attachEvent会忽略 ...
- 算法设计 - LCS 最长公共子序列&&最长公共子串 &&LIS 最长递增子序列
出处 http://segmentfault.com/blog/exploring/ 本章讲解:1. LCS(最长公共子序列)O(n^2)的时间复杂度,O(n^2)的空间复杂度:2. 与之类似但不同的 ...
- 使用NuGet加载包,发现加载的dll都是最新版,原来少加了参数[-Version]
使用NuGet获取AutoMapper 发现无法正确加载包,项目版本是3.5,获取的dll版本较高,查资料发现可以通过 “-Version” 指定加载包版本 http://www.mamicode.c ...
- 自定义带有uitableview的alertview对话框
#import <UIKit/UIKit.h> typedef void(^MyCompleteHandler) (NSString *selectString); @interface ...
- Android(java)学习笔记267:Android线程池形态
1. 线程池简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...
- Android Studio常用快捷键汇总(mac)
查看原文:http://blog.csdn.net/u010818425/article/details/52266195 mac上按键符号 ⌥ : option / alt ⇧ : shift ⌃ ...
- 【转】ViewGroup的onMeasure和onLayout分析
ViewGroup的onMeasure和onLayout分析 一个Viewgroup基本的继承类格式如下: 1 import android.content.Context; 2 import and ...