1.功能简介

矢量数据查询有属性查询和空间几何查询,下面对矢量数据的属性查询和空间查询做介绍

2.功能实现说明

2.1. 矢量数据的属性和空间查询

2.2. 实现思路及原理说明

第一步

得到要查询的图层

第二步

设置属性/空间查询条件

第三步

根据查询条件进行查询并在地图中高亮显示

2.3.  核心接口与方法

接口/类

方法/属性

说明

IQueryFilter

SetAttributeQuery()

设置属性条件

IQueryFilter

SetSpatialQuery();

设置空间条件

IFeatureClass

Search(IQueryFilter filter);

查询

IFeatureCursor

NextFeature()

获得下一个要素

2.4. 示例代码

属性查询:

项目路径

百度云盘地址下/PIE示例程序/04数据操作/04矢量数据的查询

数据路径

百度云盘地址下/PIE示例数据/矢量数据/Shape/省级行政区.shp

视频路径

百度云盘地址下/PIE示例程序/04数据操作/04矢量数据的查询.avi

示例代码

          /// <summary>
/// 矢量数据集属性查询
/// </summary>
/// <param name="sender">事件触发器</param>
/// <param name="e">事件参数</param>
private void toolStripButton_QueryAttribute_Click(object sender, EventArgs e)
{
//1.首先要获取图层要素
IMap map = mapControlMain.FocusMap;
ILayer layer = map.GetLayer();
IFeatureLayer featureLayer = layer as IFeatureLayer; //2.设置查询条件
IQueryFilter queryFilter = new QueryFilter();
string filter = "NAME='北京'";
queryFilter.SetAttributeQuery(filter); //3.得到查询结果
IFeatureCursor featureCursor = featureLayer.FeatureClass.Search(queryFilter);
IFeature feature = null;
feature = featureCursor.NextFeature(); //清除之前查询高亮显示的结果
map.ClearSelectionFeatures();
//4.地图显示得到的结果
if (feature != null)
{
mapControlMain.FocusMap.SelectFeature(featureLayer as ILayer, feature);
} mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

空间查询:

项目路径

百度云盘地址下/PIE示例程序/04数据操作/04矢量数据的查询

数据路径

百度云盘地址下/PIE示例数据/矢量数据/Shape/省级行政区.shp

视频路径

百度云盘地址下/PIE视频教程/04数据操作/04矢量数据的查询.avi

示例代码

         /// <summary>
/// 矢量数据集空间查询
/// </summary>
/// <param name="sender">事件触发器</param>
/// <param name="e">事件参数</param>
private void toolStripButton_QuerySpatial_Click(object sender, EventArgs e)
{
//1.首先要获取图层要素
IMap map = mapControlMain.FocusMap;
ILayer layer = map.GetLayer();
IFeatureLayer featureLayer = layer as IFeatureLayer; //2.设置查询条件
IQueryFilter queryFilter = new QueryFilter();
// 定义范围
IEnvelope envelope = new Envelope();
envelope.PutCoords(, , , );
queryFilter.SetSpatialQuery(envelope as IGeometry); //3.得到查询结果
IFeatureCursor featureCursor = featureLayer.FeatureClass.Search(queryFilter);
IFeature feature = null;
feature = featureCursor.NextFeature(); //4.地图显示得到的结果
map.ClearSelectionFeatures();
while (feature != null)
{
mapControlMain.FocusMap.SelectFeature(featureLayer as ILayer, feature);
feature = featureCursor.NextFeature();
} mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.5. 示例截图

图1.属性查询示例图

图2.空间几何查询

PIE SDK矢量数据的查询的更多相关文章

  1. PIE SDK矢量数据的读取

    1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...

  2. PIE SDK矢量数据的修改

    1.功能简介 目前PIE SDK支持矢量数据的修改或删除,下面对矢量数据的投影转换功能进行介绍. 2.功能实现说明 2.1. 矢量数据的修改 2.2. 实现思路及原理说明 第一步 获取需要修改的矢量数 ...

  3. PIE SDK矢量数据的投影转换

    1. 功能简介 目前在地理信息领域中数据包括矢量和栅格两种数据组织形式 ,每一种数据都可以对投影进行转换,目前PIE SDK支持矢量和栅格数据的投影转换功能,下面对矢量数据的投影转换功能进行介绍. 2 ...

  4. PIE SDK矢量数据简单渲染

    1. 功能简介 PIE SDK对数据的符号化分为矢量数据渲染和栅格数据渲染两大类. 目前PIE SDK中针对矢量数据渲染包括简单渲染.唯一值渲染.分级渲染.自定义渲染:针对栅格数据渲染包括拉伸渲染.R ...

  5. PIE SDK矢量数据空间索引的创建

    1. 功能简介 空间索引的使用便于数据的查询:所以在创建矢量数据的时候创建空间索引,下面对矢量数据如何创建空间索引进行功能介绍. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 创建矢量要素 ...

  6. PIE SDK矢量数据的创建

    1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...

  7. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  8. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  9. PIE SDK组件式开发综合运用示例

    1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...

随机推荐

  1. 黑盒测试实践--Day3 11.27

    黑盒测试实践--Day3 今天完成任务情况: 收到小组紧急通知,作业要求更新了.组长召集大家在下午课后去开个短会,会议信息如下: 时间:11.27 晚上5:30 地点:东九楼501 会议内容: 学习了 ...

  2. HDU 3333 Turing Tree (主席树)

    题意:给定上一个序列,然后有一些询问,求区间 l - r 中有多少个不同的数的和. 析:和求区间不同数的方法是一样,只要用主席树维护就好. 代码如下: #pragma comment(linker, ...

  3. JAVA WEB第0课

            在这学期内要掌握JAVA WAB高级网站开发的所有知识,并可以实际运用到.每周将花费20小时左右的时间来学习此门课程,每一天,在当天其他课程任务完成后将开始学习该课程,具体时间要看当天 ...

  4. 一步之遥——第七届蓝桥杯C语言B组(国赛)第一题

    原创 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里.矿车停在平直的废弃的轨道上.他的面前是两个按钮,分别写着“F”和“B”. 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退.按 ...

  5. Thumbnail 图片帮助

    public class Thumbnail { private Image srcImage; private string srcFileName; /// <summary> /// ...

  6. 学习React中遇到的问题

    1.执行eject后,再次启动项目报错 情景:使用create-react-app搭建了项目,启动没有问题,然后执行 $ yarn eject 暴露出webpack配置文件等,再次 $ yarn st ...

  7. 微信运动数据抓取(Python)

    "微信运动"能够向朋友分享一个包含有运动数据的网页,网页中就有我们需要的数据.url类似于:http://hw.weixin.qq.com/steprank/step/person ...

  8. WCF分布式开发步步为赢(1):WCF分布式框架基础概念

    众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则.SOA如此炙手可热,各大厂商都推 ...

  9. Http报头中不能添加中文字符

    今逢一Bug,如下: Invalid non-ASCII or control character in header: 0x6D4B 大意为:报头中有非法字符.故可将其编码后,set入Header, ...

  10. MVC 路由调试工具-RouteDebugger

    MVC  路由调试工具-RouteDebugger 方案一: 在程序包控制台中执行命令 PM> Install-Package routedebugger 自动会在你的项目webconfig中& ...