GIS数据结构与算法基础


GIS数据结构与算法基础

文章插图
GIS数据结构与算法基础《GIS数据结构与算法基础》是Stephen Wise撰写的GIS Basics一书的翻译版 。内容涉及GIS的核心数据结构和核心算法,详细介绍了各种矢量、栅格、索引、表面、网路相关的数据结构与算法 。书中包含了大量所述数据结构与算法的伪代码,同时每章末配有延伸阅读,可帮助读者对书中内容进行更深入地理解 。
【GIS数据结构与算法基础】《GIS数据结构与算法基础》可作为地理信息领域、计算机科学领域高等院校师生的专业基础课程教材,也可作为相关技术人员的参考用书 。
基本介绍书名:GIS数据结构与算法基础
类型:计算机与网际网路
出版日期:2012年2月1日
语种:简体中文
ISBN:9787030333094
作者:怀斯(Stephen Wise) 张雪英
出版社:科学出版社
页数:158页
开本:16
品牌:科学出版社
基本介绍内容简介《GIS数据结构与算法基础》编辑推荐:地理信息系统(GIS)是一种用于空间数据存储、显示和分析的计算机系统 。20多年来,GIS不仅在政府、商业和学术中的套用快速增长,还可以套用于设施规划的管理、普查数据的处理、新超市的选址等 。StephenWise是Geo Europe的定期撰稿人,他的系列连载文章《回到基础》向非专业读者简明扼要地介绍了GIS的内部工作机制 。在《GIS数据结构与算法基础》中,他以新的材料重现了他的系列原创文章,内容涵盖了GIS的两大主要类型——矢量系统和栅格系统 。希望改善GIs知识结构的在校师生和专业人士,通过《GIS数据结构与算法基础》能更深入地理解GIS内部的运作方式 。例如,计算机是如何存储空间数据的,不同的方法如何影响GIS的性能,基本操作是如何执行的,以及算法的选择如何影响系统的运行速度 。Stephen Wise在伦敦和巴斯的大学计算中心做过多年的电脑程式员,从1990年他开始在The University of Sheffield地理系从事本科生和研究生的教学工作 。他的研究兴趣包括数字地面模型的误差传播、GIs中设施的空间分析和地图扫描数据化 。作者简介作者:(英国)怀斯(Stephen Wise) 译者:朱定局 合着者:张雪英 朱定局,北京大学博士后,中国科学院计算技术研究所博士,中国科学院深圳先进技术研究院智慧计算与信息科学实验室主任 。曾任胜利油田地质科学研究院科研人员,美国Texas State University地理系访问学者 。图书目录译者的话 前言 致谢 第1章 引言 1.1 计算机如何解决问题 1.2 计算机如何存储空间数据:矢量和栅格数据模型 1.3 本书结构 1.4 伪代码 延伸阅读 第2章 矢量数据结构 2.1 点和线的存储 2.2 区域边界的存储 2.3 存储区域的边界:拓扑法 2.4 什幺是拓扑学 2.5 如何使用拓扑学?以DIME为例 延伸阅读 第3章 线的矢量算法 3.1 简单的线相交算法 3.2 为什幺简单的直线相交算法无效:一个更好的算法 3.3 波形线的处理 3.4 有关直线上的计算:一条直线有多长 延伸阅读 第4章 区域的矢量算法 4.1 有关区域的计算:单一多边形 4.2 有关区域的计算:多重多边形 4.3 多边形的点:简单算法 4.4 利用拓扑的好算法 延伸阅读 第5章 算法效率 5.1 如何评估算法的有效性 5.2 直线相交算法的有效性 5.3 算法有效性的更多知识 延伸阅读 第6章 栅格数据结构 6.1 栅格数据结构:数组 6.2 节省空间:行程长度编码和四叉树 延伸阅读 第7章 栅格算法 7.1 栅格算法:对行程编码数据的属性查询 7.2 栅格算法:四叉树中的属性查询 7.3 栅格算法:面积计算 延伸阅读 第8章 空间索引 8.1 二叉查找树 8.2 使用k^d树索引数据 8.3 採用四叉树结构索引向量数据 8.4 採用莫顿排序索引栅格数据 延伸阅读 第9章 表面数据结构 9.1 表面数据模型 9.2 创建格网表面模型的算法 9.3 产生不规则三角网的算法 9.4 格网划分修正 延伸阅读 第10章 表面算法 10.1 高度、坡度和坡向 10.2 用TIN做水文分析 10.3 用格网DEM决定流向 10.4 用流动方向做水文分析 延伸阅读 第11章 网路的数据结构和算法 11.1 採用矢量和栅格模型中的网路 11.2 最短路径算法 11.3 网路数据的数据结构 11.4 旅行商问题 延伸阅读 结语 辞彙表 参考文献 图目录 图1.1 查兹沃斯庄园的迷宫 图1.2 用左手规则通过迷宫的路线 图1.3 简单算法不能破解的迷宫 图1.4 图1.3的路径简图 图1.5 基于Worboys(1995)的数据建模步骤 图1.6 虚构的地形图 图1.7 图1.6中地图的部分栅格版本 图1.8 图1.6中的地形图矢量版本 图2.1 虚构的地形图 图2.2 点的属性数据 图2.3 线的坐标数据 图2.4 通过一系列直线段逼近一条曲线 图2.5 线的属性数据 图2.6 将线的位置信息添加到属性表格当中 图2.7 将线的位置信息添加到属性表格当中的替代方法 图2.8 建筑物的位置数据 图2.9 建筑物的属性信息 图2.10 路的修正后属性表格 图2.11 区域特徵的存储 图2.12 土地利用图示例(多个区域) 图2.13 土地利用图的属性信息 图2.14 两次数位化同一条直线时造成的多边形碎片 图2.15 通过多边形消除操作产生的城市区与非城市区区域地图 图2.16 拓扑GIS中存储的土地利用图 图2.17 一个连线和节点数据结构中存储的连线信息 图2.18 哥尼斯堡桥问题 图2.19 哥尼斯堡桥问题的图形 图2.20 用来说明地图的Poincaré双重图形模型的虚构城区 图2.21 虚拟城市地图的DIME数据结构 图2.22 DIME档案中与街区5有关的记录 图2.23 DIME档案中与相交点5有关的记录 图2.24 修改DIME档案中与交汇点5有关的记录,使得街道的终点是交汇点5 图2.25 DIME数据结构中地址信息的存储 图3.1 线的相交问题 图3.2 两条相交线段的相交检测 图3.3 线段的坐标值 图3.4 线相交问题:每组线可以通过相同的数学方程来定义 图3.5 垂直直线的相交问题 图3.6 检测直线的相交 图3.7 直线的最小外接矩形 图3.8 最小外接矩形角顶点的定义 图3.9 单调线段 图3.10 通过一系列直线段逼近曲线 图3.11 利用勾股定理计算两点之间的距离 图4.1 单一多边形 图4.2 计算多边形面积:上面线段以下的部分面积减去下面线段以下的面积 图4.3 单一线段以下的面积计算 图4.4 多边形上部分和下部分线段以下部分的面积 图4.5 使用连线和节点数据结构存储两个相邻的多边形 图4.6 多边形检测中的点 图4.7 点的MER在多边形检测中的套用 图4.8 初始检测选择的X坐标线段 图4.9 一个点直接位于多边形边界顶点下方的特殊情况 图4.10 多个多边形中的点检测 图4.11 平面强化规则的结果 图4.12 检测哪一个多边形位于一个连线的下方 图5.1 一些常用来说明算法複杂度的函式值 图5.2 直线相交的例子 图5.3 使用MER的直线相交检测 图5.4 例证为什幺n+nlogn+logn是O(nlogn) 图5.5 n的三种函式图 图6.1 计算机记忆体中数组的存储 图6.2 简单栅格数组的例子 图6.3 计算机记忆体中数组的存储 图6.4 一个位元组整数存储的例子 图6.5 简单栅格阵列例子 图6.6 行程长度编码图层在计算机记忆体中的存储 图6.7 图6.5中图层的四叉树划分 图6.8 记忆体中四叉树的存储 图6.9 四叉树的图形表示 图7.1 简单栅格数组的例子 图7.2 计算机记忆体中数组的存储 图7.3 在计算机记忆体中行程编码的图像的存储 图7.4 图6.5给出的图层的四叉树划分 图7.5 四叉树在记忆体中的存储 图7.6 栅格图层例子 图7.7 採用行程长度编码形式存储图层 图7.8 两种获得行程数的方法 图7.9 线性四叉树形式下图层的存储 图7.10 栅格图像(图7.6)的四叉树表示 图8.1 折半查找法的运行 图8.2 二叉查找树 图8.3 存储为二叉鍊表的查找树 图8.4 沿一条单独的线分布的十个点,二叉查找树建立在这些点的X坐标的基础上 图8.5 k^d树 图8.6 自然保护区地图的四叉树划分及其叶节点的莫顿地址 图8.7 採用莫顿地址顺序来存储像素时的序列 图8.8 显示像素莫顿地址的栅格图层 图9.1 商铺顾客位置採样点 图9.2 山脉高度採样点 图9.3 採用点数据来解决表面查询操作的问题 图9.4 格网模型中的规则格网与採样点 图9.5 表面数据的不规则三角网模型 图9.6 基于等高线的表面数据模型 图9.7 等高线及数字高度模型格网点的小山峰等高线图 图9.8 点插值中分配权重的两个函式 图9.9 指数衰减曲线中改变指数的效果 图9.10 数位化等高线当中反距离权重函式的套用 图9.11 採用反距离权重法生成等高线的格网化DEM 图9.12 表明三角划分算法的採样点 图9.13 分别经过五步和六步操作后得到的三角形 图9.14 採样点的Voronoi镶嵌 图9.15 四个採样点的Delaunay三角划分 图9.16 产生Delaunay三角划分过程中边的变化情况 图9.17 对一个Delaunay三角划分添加一个点 图9.18 不规则三角网如何对表面进行建模 图9.19 不同阶多项式的图形 图9.20 不同拟合方法产生的DEM格网 图9.21 採用Delaunay三角划分拟合的DEM格网 图10.1 图表z=ax 图10.2 图表z=ax+b 图10.3 用于估算点表面特性的3×3视窗单元格位置 图10.4 过三个点的线 图10.5 用两个不同的DEM估算的斜面朝向 图10.6 水流通过一个虚构的代表河谷的TIN的一部分 图10.7 细分水流穿过三角形E 图10.8 在TIN上确定排水沟时出现的无限循环 图10.9 虚构的DEM 图10.10 DEM单元格中方向的编码表示 图10.11 水流的十进制和二进制代码 图10.12 代表从各个邻居流动到某个单元格的编码 图10.13 将2存储到8bit位元组 图10.14 虚构的DEM中的流动方向 图10.15 三次重複运算的集水区 图10.16 DEM的高度及流动方向与流量聚集值 图11.1 虚拟道路网路 图11.2 简单的网路 图11.3 图11.2添加一些额外的连结以后的网路 图11.4 二次增加和指数增加的对比 图11.5 标识连线的简单网路 图11.6 简单网路的连线和节点表示 图11.7 网路的节点表 图11.8 採用分开的节点和连线表来存储网路信息 图11.9 堆 图11.10 交换节点2和节点4以后的堆 图11.11 图11.9中的二叉堆在一个数组当中的存储 图11.12 交换节点4和节点9以后的堆 图11.13 去掉根节点以后的堆 图11.14 图11.13经过两次交换以后的堆 图11.15 针对四个点的TSP解答和MST解答 图11.16 为什幺MST不能形成一个TSP最优解的证明 图11.17 TSP道路网路 图11.18 每个点仅遍历一次的网路路径 图11.19 根据选定的3个点由增量启发法形成的路径 图11.20 根据选定的5个点由增量启发法形成的路径 图11.21 连线所有最外围的点形成的路径 图11.22 对图11.21所示的外层路径添加所有的点以后形成的路径