Dotspatial 空间要素选择
//通过遍历选择要素,获取选择要素相交的要素
private void toolStripButton43_Click(object sender, EventArgs e)
{
 //查看与选中要素重叠的要素
            if (map1.Layers.Count == 0)
            {
                return;
            }
            //重叠分析
            //遍历要素,显示面积
            PolygonLayer pLayer = map1.Layers[0] as PolygonLayer;
            FeatureSet fs = null;
            fs = (FeatureSet) map1.Layers[0].DataSet;
            if (pLayer.Selection.Count == 0)
            {
                MessageBox.Show("无选中记录", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
// //遍历选择要素
            foreach (Feature feature in pLayer.Selection.ToFeatureList())
            {
                ////实现方式1==================
                IEnvelope pEnvelope = null;
                pLayer.Select(null, feature.Envelope, SelectionMode.Intersects, out pEnvelope);
////实现方式2=================
//FeatureSet pPolygonFeatureSet = new FeatureSet(DotSpatial.Topology.FeatureType.Polygon);
                ////pPolygonFeatureSet.Projection = KnownCoordinateSystems.Geographic.World.WGS1984;
                //pPolygonFeatureSet.AddFeature(feature);
//Extent pAffectedExtent = null;
//var result = fs.Select(pPolygonFeatureSet.Extent);//, out pAffectedExtent,
//foreach (IFeature feature2 in result)
                //{
                //    pLayer.ZoomToSelectedFeatures();
                //    MessageBox.Show(feature.DataRow["林班号"] + "-" + feature.DataRow["小班号"] + "重叠:" + feature2.DataRow["林班号"] + "-" + feature2.DataRow["小班号"]); //feature2.DataRow.Field<Int64>("林班号").ToString()
                //}
//实现方式3
                //var  gm1 = (DotSpatial.Topology.Geometry)(feature.BasicGeometry);// point
                //foreach (IFeature feature2 in fs.Features)
                //{
                //    //MessageBox.Show(feature.DataRow.Field<string>("NAME"));
                //   var gm2 = (DotSpatial.Topology.Geometry)(feature2.BasicGeometry);
                //    if (gm2.Overlaps(gm1))
                //    {
                //        MessageBox.Show(feature.DataRow["林班号"] + "-" + feature.DataRow["小班号"] + "重叠:" + feature2.DataRow["林班号"] + "-" + feature2.DataRow["小班号"]);
//        // code for whatever you want to do
                //    }
                //}
                //======================
}
            pLayer.ZoomToSelectedFeatures();
        }
Dotspatial 空间要素选择的更多相关文章
- AE要素选择(点选和拉框选择)
		
原文 AE要素选择(点选和拉框选择) 选择一个要素或者一个要素集(FeatureSelection)的方法很多,如IMap::SelectByShape.ILayer::search.IFeature ...
 - 浅析 Magento网站建站空间的选择
		
对 Magento稍有了解的人都知道,作为一个功能异常强大的网络商城程序,Magento的运行对主机空间的要求是非常高的:很多 Magento建站公司都会推荐 VPS 甚至独立服务器来运行 Magen ...
 - DotSpatial 删除图层要素
		
//添加图层后,定义图层,并获取图层 //遍历要素,并进行删除 FeatureSet fs = null; fs = (FeatureSet) map1.Layers[0].DataSet; //要素 ...
 - 要素选择变化事件 IActiveViewEvents_SelectionChanged
		
void IDockableWindowDef.OnCreate(object hook) { m_application = hook as IApplication; m_hookHelper = ...
 - AE,按照属性值关系选择要素
		
if(axMapControl2.LayerCount<=0) { MessageBox.Show("请加载图层后使用该功能","系统提示",Messag ...
 - ArcPy批量选择指定属性的要素
		
在GIS数据处理中,选择数据是十分频繁的操作,常用的是"按属性选择"和"按位置选择",这两个功能虽然比较强大,但有时也不能满足实际需求.比如可能时常会遇到这样一 ...
 - ArcGIS空间分析工具
		
1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添 ...
 - AE选中要素
		
private void 选中要素ToolStripMenuItem_Click(object sender, EventArgs e) { if(axMapControl2.LayerCount&l ...
 - 刑事案件的构成要素   zt
		
论刑事案件的构成要素 马忠红 2013-03-22 14:05:33 来源:<中国人民公安大学学报:社会科学版>(京)2012年5期 [内容提要]刑事案件是由诸多要素构成的一个系 统. ...
 
随机推荐
- ES 16 - 对Elasticsearch中的索引数据进行增删改查 (CRUD)
			
目录 1 创建document 1.1 创建时手动指定id 1.2 创建时自动生成id 2 查看document 2.1 根据id查询文档 2.2 通过_source字段控制查询结果 3 修改docu ...
 - ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第一天
			
文章大纲 一.课程介绍二.淘淘商城基本介绍三.后台管理系统工程结构与搭建四.svn代码管理五.项目源码与资料下载六.参考文章 一.课程介绍 1. 课程大纲 一共14天课程(1)第一天:电商行业的背 ...
 - MVC设计模式思想及简单实现
			
一.什么是MVC MVC即Model-View-Controller(模型-视图-控制器)是一种软件设计模式,最早出现在Smalltalk语言中,后被Sun公司推荐为Java EE平台的设计模式. M ...
 - Eclipse4JavaEE安装Gradle,并导入我们的Gradle项目
			
第一步:下载Gradle Gradle下载链接,如下图,下载最新版本即可.下载下来的zip包,解压到一个目录即可,如F盘 第二步:配置环境变量 首先添加GRADLE_HOME,如下图 然后在Path下 ...
 - 【swoole】使用swoole简单实现TCP服务
			
上一篇写到了如何在windows系统上面利用docker快速搭建swoole开发环境,接下来体验下swoole的使用 使用swoole实现tcp服务 <?php $serv = new Swoo ...
 - 为什么会有Comparable与Comparator接口? 引入策略模式
			
目录 引入 Comparable接口的来龙去脉 引入Comparator接口 什么是策略模式? 使用了策略模式有什么好处? 引入 大家先考虑一个场景, 有一个整形数组, 我们希望通过调用一个工具类的排 ...
 - Fundebug支付宝小程序BUG监控插件更新至0.2.0,新增test()方法,报错增加Page数据
			
摘要: 0.2.0新增fundebug.test()方法,同时报错增加了Page数据. Fundebug提供专业支付宝小程序BUG监控服务,可以第一时间为您捕获生存环境中小程序的异常.错误或者BUG, ...
 - centos7 ambari安装HDP
			
环境介绍:操作系统为Centos7.1:测试设备全部为内网设备,不通公网,所以需要配置本地yum源: 首先安装ansible工具,用来批量安装ambari.java以及基础的一些配置: 一. 免密钥登 ...
 - ggsci: error while loading shared libraries: libnnz11.so
			
[oracle@localhost goldengate]$ ./ggsci ./ggsci: error while loading shared libraries: libnnz11.so: c ...
 - Windows Server 2016-Powershell新建用户补充
			
前边我们介绍到Windows Server 2016-图形化新建域用户(一) 及 Windows Server 2016-批量新建域用户(二) ,里边提到了批量通过new-aduser常见帐号,这里简 ...