地理信息系统(Geography Information System,简称GIS)的主要任务之一是有效地检索空间数据及快速响应不同用户的在线查询
地理空间索引技术和方法是GIS的关键技术。是快速高效查询、检索和显示地理空间数据的重要指标。

常用的空间索引技术介绍和比较:
 网格空间索引四叉树空间索引R树系列空间索引最为常见。
 
 目前国内外主要的空间数据库也大都采用网格空间索引、四叉树 与 R树 这三类的空间索引结构。如著名的Oracle公司的数据库则同时采用 四叉树和R树两种索引结构。

1。 空间索引技术的发展和分类
   以传统的索引技术观点来看,可以把空间索引技术大致分为 四大类:基于B树、基于Hashing、基于二叉树和基于空间填充区。
   
   就目前的空间索引研究成果而言,在建立索引时,按照划分区域是否与空间对象的分布特征有关的标准,空间索引分为两大类:
                 划分区域与空间对象分布特征无关的;       ---包括 网格索引、四叉树;
                 划分区域与空间对象的分布特征有关的索引方法;  ---包括 BSP树、R树及其变种树、Cell树、KD树等
  
  
  1.1基于固定网格划分的空间索引
        基于固定网格划分的空间索引技术 面向地图对象的空间位置和分布。应该属于 栅格索引,是一种高效、简洁、易于实现的一种空间索引。
        固定网格划分的空间索引技术 顾名思义就是将一副地图数据按照固定的网格划分,如将一幅地图分割成 M行、N列,可表示为M*N,
        以落入每个网格内的地图目标建立索引,这样只需检索原来区域的1/(M*N),以达到 快速检索的目的。
        如下图所示:
         

       问题的关键在于 如何建立检索,将落入每个网格的目标正确放入该网格,在检索过程中,通过鼠标 点选 准确的判断出目标所在网格。
       并运用相应算法精确的剔出所选的目标,以获得其空间数据和对应的属性数据。
   
   
  1.2 四叉树
     四叉树是基于空间划分组织索引结构的索引机制,与规则网格划分不同。
     它将已知范围的二维空间划成4个相等的子空间。如果需要,可以将每个或其中几个子空间 继续划分下去,这样就形成了一个基于四叉树的空间划分。
     如下图所示:
      

      四叉树索引通过将 数据空间逐层细分来组织数据,结构和操作比较简单,实现比较方便。
      其中 满四叉树空间索引,还可用 顺序存储的线性表 来表示。内存需求小。
      
      
      关键是 建立四叉树空间索引,要预先知道空间对象分布的范围。因而不能满足 空间数据的动态要求;此外,一旦索引建立后,树的层次即被
      固定,无法根据 数据空间对象数目的变化来调整树高,可调节性差。
      
      
  
  1.3 R-树
     R-树是空间索引结构中最重要的一种层次结构,其构建思想是以最小边界矩形(简称MBR)递归的对数据集空间按照“面积”规则进行划分。
     R-树中的非叶子节点代表一个划分的空间区域,即一个矩形空间区域;
     R-树中的叶子节点包含的矩形区域对应空间对象的MBR。
     
     构造矩形空间的原则是:
         1) 矩形之间尽可能少重叠;
         2) 矩形尽可能的包含更多的空间对象;
         3) 矩形可以嵌套,即 矩形中可以包括更小的矩形;
         
     R-树的平面划分与数据结构如图所示:
      

      关键是 进行空间检索时,首先判断哪些矩形区域与检索窗口相交,再进一步判断落在检索窗口内的矩形区域中由哪些被检索的对象。
      
     优点:
        R-树具有很强的灵活性与可调节性,建树过程中无需预知整个空间对象所在的空间范围,同时他具有较高的执行效率。
        被公认为是 较好的空间索引结构,已经得到广泛应用。
        
     缺点:
        但是,R-树也存在许多问题,可归纳为两方面:
               。由于空间对象千姿百态,其索引空间经常重叠,且其重叠的程度随着数据量后空间维数的增加而剧增。
                 索引空间的重叠必然造成树的深度及存储空间的增加,从而导致遍历时间增加,查询效率下降。
              
               。在动态构建R-树时,还会产生大量“死空间”(不包含空间目标的索引空间),造成存储空间的浪费,产生无效的遍历。
              
   
   
   1.4 BSP树           
      BSP树是一种二叉树,它将 地理空间逐级进行一分为二的划分,如图所示:
      

      BSP树能很好地与地理对象的空间分布情况相适应,但对一般处理情况而言,BSP树深度较大,对各种操作均有不利影响。

2。主要空间索引方法对比
     在众多空间索引中,不同的索引有不同的优势和不足及使用范围。在选取哪一种作为空间数据库的空间索引时,要根据实际情况和需要来确定。
     所以,目前很多GIS软件中采用 多种索引机制并存、取长补短的策略

GIS空间索引技术的更多相关文章

  1. GIS+=地理信息+容器技术(4)——Docker执行

    -------------------------------------------------------------------------------------- Blog:    http ...

  2. GIS+=地理信息+容器技术(1)——容器技术概述

    -------------------------------------------------------------------------------------- Blog:    http ...

  3. GIS+=地理信息+容器技术(2)——Dockers技术介绍

    -------------------------------------------------------------------------------------- Blog:    http ...

  4. R-Tree空间索引算法的研究历程和最新进展分析

    转自原文 R-Tree空间索引算法的研究历程和最新进展分析,2008 摘要:本文介绍了空间索引的概念.R-Tree数据结构和R-Tree空间索引的算法描述,并从R-Tree索引技术的优缺点对R-Tre ...

  5. gis论坛

    http://bbs.csdn.net/forums/GIS/ http://forums.mysql.com/list.php?23 http://www.remotegis.net/ http:/ ...

  6. 2012高校GIS论坛

    江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...

  7. 中科燕园GIS外包---地铁GIS项目

    (1)地铁保护及project地质管理     • 地铁保护     地铁交通既有运量大,速度快的特点,又有差别于其它交通方式的在地下执行的空间特殊性,因此地铁的保护显得尤为重要. 首先必须编制完整的 ...

  8. GIS制图课程前言

    一直以来都想写一本关于电子地图制图的工具书,把过去所遇到的关于电子地图制图的种种方法.技巧和问题进行总结和归纳,传播电子地图制图的思路和心得. 从2010年开始,陆陆续续在华南地区开展了多场的电子地图 ...

  9. 也谈开源GIS架构实现思想

    针对业务发展需要,需要开发设计一套具备自己独立GIS平台.然而以ArcGIS为主的GIS软件价格昂贵,在经过仔细技术与市场动向调研后,确立一套以Java语言的开源GIS软件平台.桌面CS端Udig+G ...

  10. 19个三维GIS软件对比

    19个三维GIS软件对比 麦豆科研技术中心 days ago 我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方 ...

随机推荐

  1. w3cschool-Netty 实战精髓篇3

    https://www.w3cschool.cn/essential_netty_in_action/essential_netty_in_action-wd1j28dq.html Netty Web ...

  2. Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈

    Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈 [摘要] JVM(Java Virtual Machine)作为Java研发人员工作的每天都会接触到的虚拟机,其运行机制 ...

  3. vim系列-文本操作篇

    基数行与偶数行分组 使用Vim的替换命令,可以轻松地将基数行和偶数行分组: %s/\(^.*$\)\n\(^.*$\)/\1 \2/g 然后,删除所有的基数行: %s/^.*$\n\(^.*$\)/\ ...

  4. 使用CMD命令导出和导入IIS站点配置信息

    1.导出导入某个站点 1.1.导出应用程序池和站点 1.1.1.导出某个应用程序池配置 具体导出命令如下所示: %windir%\system32\inetsrv\appcmd list apppoo ...

  5. Q:ssh远程连接慢的原因排查

    连接linux服务器一般都是使用SSH远程连接的方式.有时,SSH连接速度很慢,大约30s左右,但是ping时一切正常. 问题原因 1.server的sshd会去DNS查找访问的client ip的h ...

  6. 小程序开发实战案例五 | 小程序如何嵌入H5页面

    在接入小程序过程中会遇到需要将 H5 页面集成到小程序中情况,今天我们就来聊一聊怎么把 H5 页面塞到小程序中. 本篇文章将会从下面这几个方面来介绍: 小程序承载页面的前期准备 小程序如何承载 H5 ...

  7. AI工具推荐:领先的开源 AI 代码助手——Continue

    前言 之前介绍了VS Code中的AI插件Cline与Roo Code,这两个都是根据给定一个任务,开始自动写代码的.除了这两个AI代码工具之外,在平常我还很喜欢的就是Continue . Conti ...

  8. Typecho网站内容的禁止复制和粘贴

    本教程讲JS实现网站内容的禁止复制和粘贴.另存为 1.使右键和复制失效 方法1: 在网页中加入以下代码: <script language="Javascript"> ...

  9. Spark core 总结

    Spark RDD五大特性 1.RDD由一组partition组成 2.每一个分区由一个task来处理 3.RDD之间有一些列依赖关系 4.分区类算子必须作用在kv格式得RDD上 5.spark为ta ...

  10. 异步导入导出Excel方案

    一.异步导出Excel文件 1.设计思想 用户无需在当前页面等待导出结果,点击导出按钮后服务端即可返回前端提示用户导出处理中请到下载中心查看结果. 具体业务文件导出实现由后台异步处理导出文件到腾讯CO ...