ArcGIS Spatial Query

Creates a spatial query which performs a spatial search for features in the supplied feature class and has the option to also apply an attribute query via a where clause.

///<summary>Creates a spatial query which performs a spatial search for features in the supplied feature class and has the option to also apply an attribute query via a where clause.</summary>
///
///<param name="featureClass">An ESRI.ArcGIS.Geodatabase.IFeatureClass</param>
///<param name="searchGeometry">An ESRI.ArcGIS.Geometry.IGeometry (Only high-level geometries can be used)</param>
///<param name="spatialRelation">An ESRI.ArcGIS.Geodatabase.esriSpatialRelEnum (e.g., esriSpatialRelIntersects)</param>
///<param name="whereClause">A System.String, (e.g., "city_name = ‘Redlands‘").</param>
///
///<returns>An IFeatureCursor holding the results of the query will be returned.</returns>
///
///<remarks>Call the SpatialQuery method by passing in a reference to the Feature Class, a Geometry used for the search and the spatial operation to be preformed. An exmaple of a spatial opertaion would be intersects (e.g., esriSpatialRelEnum.esriSpatialRelContains). If you would like to return everything found by the spatial operation use "" for the where clause. Optionally a whereclause (e.g. "income > 1000") maybe applied if desired. The SQL syntax used to specify the where clause is the same as that of the underlying database holding the data.</remarks>
public ESRI.ArcGIS.Geodatabase.IFeatureCursor PerformSpatialQuery(ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass, ESRI.ArcGIS.Geometry.IGeometry searchGeometry, ESRI.ArcGIS.Geodatabase.esriSpatialRelEnum spatialRelation, System.String whereClause)
{
  // create a spatial query filter
  ESRI.ArcGIS.Geodatabase.ISpatialFilter spatialFilter = new ESRI.ArcGIS.Geodatabase.SpatialFilterClass();

  // specify the geometry to query with
  spatialFilter.Geometry = searchGeometry;

  // specify what the geometry field is called on the Feature Class that we will be querying against
  System.String nameOfShapeField = featureClass.ShapeFieldName;
  spatialFilter.GeometryField = nameOfShapeField;

  // specify the type of spatial operation to use
  spatialFilter.SpatialRel = spatialRelation;

  // create the where statement
  spatialFilter.WhereClause = whereClause;

  // perform the query and use a cursor to hold the results
  ESRI.ArcGIS.Geodatabase.IQueryFilter queryFilter = new ESRI.ArcGIS.Geodatabase.QueryFilterClass();
  queryFilter = (ESRI.ArcGIS.Geodatabase.IQueryFilter)spatialFilter;
  ESRI.ArcGIS.Geodatabase.IFeatureCursor featureCursor = featureClass.Search(queryFilter, false);

  return featureCursor;
}
时间: 2024-10-23 09:13:02

ArcGIS Spatial Query的相关文章

ArcGIS 教程:Spatial Analyst 扩展模块中的分析

了解基于像元建模的最简单方法,不是研究整个栅格(宏观方法),而是研究各个像元(微观方法).为此,可以把自己想象为栅格数据集中的一个像元.您表示一个位置,并且具有一个值.所有 ArcGIS Spatial Analyst 扩展模块工具都会要求您基于一系列已定义的规则来操作或保留该值. 计算每个像元的输出值 无论使用何种 Spatial Analyst 工具计算指定位置(像元)的输出值,您都需要了解以下三点: 指定位置(像元)的值 要对值执行的操作 计算中包含的其他像元位置及其值 如何确定这三点内容

ArcGIS教程:Spatial Analyst 扩展模块栅格数据

在处理过程中使用 ArcGIS Spatial Analyst 扩展模块 时,肯定要使用或创建栅格数据集.栅格由一系列按行与列排列且大小相同的像元组成,每个像元都包含一个信息值,例如高程.温度或土地覆被类型. 您需要了解在 ArcGIS 中是如何呈现栅格数据集的,以及在使用和创建栅格数据时需要注意哪些问题,这一点非常重要.为了最有效地使用 Spatial Analyst 功能,您应该对栅格数据的一些基本知识有所了解.在数据管理 > 管理地理数据文档的栅格和影像一节中,您可以找到有关栅格数据的大量

ArcGIS教程: Spatial Analyst 处理投影

ArcGIS Spatial Analyst 扩展模块工具将直接使用采用相同坐标系(相同的投影和基准面)的输入数据.如果输入数据具有不同的投影,则可能要在使用所选工具对其进行操作之前将其投影为临时数据集.因此,输出的坐标系取决于输入数据集的坐标系. 默认行为 下表介绍了可确定输出坐标系的默认行为.如果输入数据集与输出数据集处于不同投影中,则该输入数据集首先会投影到输出数据集. 输出坐标系与输入数据的关系 覆盖默认值 要覆盖坐标系的默认行为,请在使用工具之前通过环境设置设置坐标系.您可以将所有输出

ArcGIS教程:Spatial Analyst 扩展模块进行影像分类

在 ArcGIS Spatial Analyst 扩展模块中,多元分析工具集提供了用于监督分类和非监督分类的工具.影像分类工具条提供了一个用户友好的环境,可创建监督分类中使用的训练样本和特征文件.最大似然法分类工具是主要的分类方法.识别类别及其统计数据的特征文件是此工具的必需输入.对于监督分类,通过影像分类 工具条使用训练样本来创建特征文件.对于非监督分类,则通过运行聚类工具来创建特征文件.Spatial Analyst 也提供了用于分类后处理的工具,如过滤和边界清理.以下图表说明了影像分类工作

ArcGIS教程:Spatial Analyst 扩展模块浏览

ArcGIS Spatial Analyst 扩展模块提供了一整套基于栅格的空间分析工具和功能.通过此扩展模块,您可以使用多种数据格式来组合数据集.解释新数据和执行复杂的栅格操作.使用 Spatial Analyst 扩展模块可执行的分析示例包括:terrain 分析.地表建模.表面插值.适宜性建模.水文分析.统计分析和影像分类. 下面将简单介绍 Spatial Analyst 扩展模块的主要组件: 访问 Spatial Analyst 功能的最常用途径是利用地理处理工具.通过这一功能丰富的环境

ArcGIS教程:Spatial Analyst 扩展模块

ArcGIS Spatial Analyst 扩展模块提供了多种强大的空间建模与分析功能.如:创建.查询和分析基于像元的栅格数据并基于这些数据制图;将栅格/矢量分析进行整合;从现有数据中获取新信息;在多个数据图层中查询信息;将基于像元的栅格数据与传统的矢量数据源完全整合. 应用示例 Spatial Analyst 能够帮助您实现多种功能,其中包括: 从现有数据中获取新信息. 应用 Spatial Analyst 工具可基于源数据创建有价值的信息. 您能够实现的任务包括:基于点.折线或面数据得到距

ArcGIS教程:Spatial Analyst 的分析环境

开始执行分析前,了解正在使用的地理处理分析环境非常重要.分析环境包括将要放置结果的工作空间和范围.像元大小以及结果的坐标系. 运行地理处理工具时,可通过环境设置来指定环境设置.可以在不同级别覆盖环境的默认设置.每个工具对话框都有一个环境按钮,可以用来覆盖应用程序级别设置. 四个环境级别构成一个等级,其中应用程序级别最高.在此等级中,环境设置会传递给下一级别,如下图所示.在每个级别,都可以用其他设置覆盖传递的环境设置. 此等级的一个例外是模型.如果从模型构建器 窗口中运行模型,则应用程序环境会传递

ArcGIS教程:Spatial Analyst 中的运算类型

ArcGIS Spatial Analyst 扩展模块中,基于像元的可用分析运算可分成五类: 作用于单个像元的运算(局部 (local) 运算) 作用于邻域内的所有像元的运算(焦点 (focal) 运算) 作用于区域内的所有像元的运算(分区 (zonal) 运算) 作用于栅格内所有像元的运算(全局 (global) 运算) 执行特定应用的运算(例如,水文分析运算) 每种运算类别都可能基于数据的空间或几何表示或受其影响,而不单单取决于像元表示的属性.例如,将两个图层相加(基于单个像元)的工具取决于

ArcGIS中的查询

最近身体不适,静下心来看了一下以前收集的电子书.下面是<ArcGIS地理信息系统教程_第5版>(李玉龙)第5章“查询”的读书笔记. 1.查询的常见应用: 选择感兴趣的要素:查找哪些要素满足特定标准.例如当前成都哪些房价是本人能够承受的价格范围?应该没有. 探索图案样式:从选定的要素中创建地图,并检查其空间分布.例如到底是哪些位置排污量大,造成如此重度污染? 为进一步分析而分离要素:例如要分析个人的效益情况,先要把工资高.干活少的员工选择出来. 探索空间关系:哪趟火车能够到达目的地附近50公里城