zoukankan      html  css  js  c++  java
  • GIS中的空间查询

    空间查询和分析在GIS中处于核心地位,GIS工程项目中大部分的日常任务都与查询有关。GIS的查询类型可以分为以下三种:单纯的属性查询、与空间位置有关的查询、与空间位置和属性同时相关的联合查询。在本专题中,将详细介绍在SuperMap GIS 5 桌面产品中如何进行这三种查询的。

    一、单纯的属性查询

    单纯的属性查询指的是查询的条件只与空间地物的属性相关,而与地物的地理位置无关。这一类的查询通常为“某某市三星级以上的宾馆有哪些?”,“某某省面积大于100平方千米的湖泊有哪些?”,“某某小区楼层高度低于6层的建筑物?”等等。在SuperMap GIS 5 桌面产品中,这一类的查询可以由地图SQL查询以及数据集SQL查询完成。下面以查询北京市三星级以上的宾馆为例说明如何进行查询。

    第一步,准备好北京市旅游交通地图数据。

    第二步,将地图打开,如下图所示:

                                             北京市旅游交通图(局部)

    第三步 选择菜单“查询->SQL查询…”,系统弹出SQL查询对话框,如下:



                                                 

                                                     菜单的位置
                

                                                         地图查询对话框

    第四步:输入查询条件进行查询

    假设“宾馆星级”的字段为UserDef,在查询条件中输入“UserDef>= 3”,可以直接输入查询条件,也可用鼠标在各个项目上点击合适的项目输入。如果需要在地图窗口中浏览查询结果,在“浏览地图”检查框上打勾,也可以将查询出来的结果保存为数据集。

    第五步:浏览查询结果。

    结果显示在属性窗口中,如下图所示,可以通过属性定位到相应的宾馆,也可由地图定位到宾馆的属性。

                                    

                                                                         查询结果显示

    二、与空间位置和属性条件同时相关的联合查询

    上一节介绍的查询是GIS查询中最简单的一种,查询条件只涉及属性条件,但是更多的查询条件既要涉及属性条件,同时更关心空间条件。下面以一个GIS中比较典型的空间查询问题为例说明如何使用SuperMap GIS 5 桌面产品中的综合查询。

    问题:某一条街道需要扩建,将由原来的20米扩宽到40米,因此,需要将街道两边的建筑物拆迁,为了考虑拆迁的费用,需要统计落在拆迁范围以内,同时楼层大于6层的建筑物的面积,假设拆迁的费用为5000RMB/米2,计算最后拆迁的费用,以辅助决定是否进行道路扩建。

    第一步:准备数据,即街道图和街道的建筑物图。

                                 

                                                道路与建筑物图

    第二步:为道路创建缓冲区。
                                            

                                                                     创建缓冲区

                                              

                                             

                                                                               缓冲区结果

    第三步:使用SuperMap GIS 5 桌面产品进行综合查询。
                                         

                                          综合查询的功能入口

                                      

                                                                    综合查询对话框

    第四步:选择运算对象以及输入查询条件。

    空间查询对话框是一个浮动的窗口,需要在地图窗口中选择一个对象作为运算对象。空间查询支持同一个运算对象在不同的层上的查询条件都不相同。使用方法是选择不同的图层,在空间查询条件中选择一个条件,在属性条件输入框中输入限制的属性条件。另外还可以选择不同的图层查询。

    在这个例子中,我们选择生成的缓冲区多边形为运算对象,因此首先使用鼠标选中多边形。在属性条件中输入“SmUserID >= 6”(假设SmUserID代表建筑物的层数),在空间条件中选择“与查询对象有边线相交”,点击“查询”按钮进行查询。

    查询的结果以属性表的形式显示在地图窗口中,如果进行了多图层查询,则会生成多个属性表,其中一个属性表对应一个被查询的图层。在每个查询结果属性表中,可以定位记录,也可以将属性表中的全部或部分对象保存为数据集。

    查询完毕后,可以对结果进一步操作和分析,与使用普通数据集完全相同。

                                           

                                                                                             查询结果

    第五步:将查询的结果保存为数据集。具体使用方法是,在综合查询输出窗口使用快捷菜单:保存为数据集。


                                                               

                                                                    保存结果为数据集

    第六步:打开保存的结果,浏览属性数据,进行分析统计。具体使用方法是,在工作空间管理器中使用快捷菜单显示数据集的属性数据,然后使用属性窗口的统计功能就可以完成统计功能。
                                                         

                                                                     快捷菜单的位置

                                                        

                                                                                  字段统计功能入口

                                        

                                                                             

                                                                                  字段统计对话框

    使用统计对话框统计AREA字段的总和就可以得到拆迁的总的面积,这样,拆迁的费用就可以知道了。至此为止,这个问题已解答完毕。现实中的很多问题可能比这个例子复杂,完全可以依照上述步骤和思路来解决。

    三、单纯的空间查询

    上面介绍了三种查询中的两种,剩下的第三种是只与空间条件有关的查询,可以使用综合查询对话框进行,查询方法基本同于第二种,唯一不同的是要使属性条件为空。至于单纯空间查询的详细步骤,可参考第二种查询中的步骤,这里就不再重复。 

  • 相关阅读:
    进制转换
    体验mssql-cli
    从Windows迁移SQL Server到Linux
    CentOS7脱机安装SQL Server 2017
    基础知识:数据类型优先级
    SQL Server 2016正式版安装(超多图)
    制造高CPU使用率的简单方法
    SQL Server启动的几种方法
    SQL Server 2016 RC0 安装(超多图)
    机器学习:Python实现单层Rosenblatt感知器
  • 原文地址:https://www.cnblogs.com/ericgisser/p/gis_allkindsofquery.html
Copyright © 2011-2022 走看看