private void toolStripButton30_Click(object sender, EventArgs e)
{
  //面状重叠分析
  if (mapMain.Layers.Count == 0)
  {
    return;
  }
//重叠分析
//遍历要素,显示面积
FeatureSet fs = null;

fs = Lzq_LayerManager.getFeatureSetByName(layerNamePolygon, mapMain); //(FeatureSet) map1.Layers[0].DataSet;

//MessageBox.Show("图层类型:" + fs.FeatureType.ToString());
if (fs.FeatureType != FeatureType.Polygon)
{
return;
}

DotSpatial.Topology.Geometry gm1, gm2;
for (int i = 0; i < fs.Features.Count; i++)
{
gm1 = (DotSpatial.Topology.Geometry) (fs.Features[i].BasicGeometry);
for (int j = i + 1; j < fs.Features.Count; j++)
{
gm2 = (DotSpatial.Topology.Geometry) (fs.Features[j].BasicGeometry);
if (gm1.IsSimple && gm2.IsSimple)
{
try
{
if (gm1.Overlaps(gm2)) //重叠
{
//try
//{
Geometry p = (Geometry)gm1.Intersection(gm2);
DotSpatial.Topology.CoordinateArrays.RemoveRepeatedPoints(p.Coordinates);
if (p.Area > 0.001)
{
MessageBox.Show("\ngm1——lb:" +
fs.Features[i].DataRow["林班号"].ToString() + " xb:" +
fs.Features[i].DataRow["小班号"].ToString() + "——gm1 Area" +
gm1.Area.ToString() +
"\ngm2——lb:" +
fs.Features[j].DataRow["林班号"].ToString() + " xb:" +
fs.Features[j].DataRow["小班号"].ToString() + "——gm2 Area" +
gm2.Area.ToString() +
"\n重叠 面积:" +
p.Area);
}
//}
//catch
//{
//}
}
}
catch
{
}
}
//}
//catch (Exception exc)
//{
// // MessageBox.Show(exc.Message);
//}
}
}
fs = null;
}

Dotspatial 要素重叠分析的更多相关文章

  1. Dotspatial 要素重叠部分去除

    private void toolStripButton32_Click(object sender, EventArgs e) { /重叠部分去除操作——测试成功 if (mapMain.Layer ...

  2. strcpy,memcpy,memmove和内存重叠分析

    一:strcpy函数用法和实现: /* GNU-C中的实现(节选): */ char* strcpy(char *d, const char *s) { char *r=d; while((*d++= ...

  3. Dotspatial 空间要素选择

    //通过遍历选择要素,获取选择要素相交的要素 private void toolStripButton43_Click(object sender, EventArgs e) { //查看与选中要素重 ...

  4. ArcGIS空间分析工具

    1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添 ...

  5. 软件产品案例分析----K米app

    第一部分 调研.评测 1.1评测 1.1.1 第一次上手体验 1.1.2 bug 1.1.2.1 bug定义 1.1.2.2 栗子 1.1.2.2.1 A级 1.1.2.2.2 B级 1.1.2.2. ...

  6. 刑事案件的构成要素 zt

    论刑事案件的构成要素   马忠红 2013-03-22 14:05:33 来源:<中国人民公安大学学报:社会科学版>(京)2012年5期 [内容提要]刑事案件是由诸多要素构成的一个系 统. ...

  7. BW知识问答汇总

    什么是sap的星型结构,能不能详细讲解一下? Cube的星型结构中SID技术的优点有哪些? 什么是BW的星型结构,与传统的星型结构的区别是什么? SAP的星型结构相对于传统的星型结构优势? Cube与 ...

  8. BW知识问答锦集

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. 开源GIS软件初探

    谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不 ...

随机推荐

  1. asp.net core系列 55 IS4结合Identity密码保护API

    一.概述 OAuth 2.资源所有者密码授权允许客户端(Client项目)向令牌服务(IdentityServer项目)发送用户名和密码,并获取代表该用户的访问令牌.本篇将IS4结合asp.net c ...

  2. 微软正式发布Chromium Edge开发预览版

    目录 下载与注册 更多下载信息与订阅 导入Chrome部分数据 扩展安装 安装开发预览版是否会与Win10自带的Edge冲突? 一大早从朋友圈看到消息,微软正式发布Chromium Edge 开发预览 ...

  3. 『随笔』.Net 底层 数组[] 的 基本设计探秘 512 子数组

    static void Main(string[] args) { Console.ReadKey(); //初始化数组 不会立即开辟内存字节, 只有实际给数组赋值时 才会开辟内存 // //猜测数组 ...

  4. 兼容IE8浏览器移除class样式的方法

    项目中发现,IE8下不兼容JQ的removeClass和addClass,页面无效果 网上找了很多方法都没有效果,最终找到一个很好的笨方法 var div=document.getElementByI ...

  5. SQL Server统计信息偏差影响表联结方式案例浅析

      我们知道数据库中的统计信息的准确性是非常重要的.它会影响执行计划.一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适的例子上,所以一直拖着没有写.巧合,最近在生产环境中遇到 ...

  6. 2018-08-20 中文代码之Spring Boot集成H2内存数据库

    续前文: 中文代码之Spring Boot添加基本日志, 源码库地址相同. 鉴于此项目中的数据总量不大(即使万条词条也在1MB之内), 当前选择轻量级而且配置简单易于部署的H2内存数据库比较合理. 此 ...

  7. Ocelot 资源汇总

    前言 最近一两年.NET Core的关注度持续上升, 微服务及云原生应用开发上采用.NET Core也越来越多,Ocelot 作为.NET Core平台下一款开源的API 网关开发库越来越得到社区的认 ...

  8. PHP mysql查询工具

    PHP基于PDO的 mysql 查询工具 单页面实现,将页面放在任意目录即可. 访问用户 admin 密码 password 代码很简单,主要为了在没有phpMyAdmin时方便执行SQL. 效果如下 ...

  9. C#实现将Chart图表生成JPG图片的方法

    SaveFileDialog savefile= new SaveFileDialog();            savefile.Filter = "JPEG文件|*.jpg" ...

  10. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十七 ║Vue基础:使用Vue.js 来画博客首页+指令(一)

    缘起 书说前两篇文章<十五 ║ Vue前篇:JS对象&字面量&this>和 <十六 ║ Vue前篇:ES6初体验 & 模块化编程>,已经通过对js面向对 ...