/// <summary>
/// 检测几何图形A是否包含几何图形B
/// </summary>
/// <param name="pGeometryA">几何图形A</param>
/// <param name="pGeometryB">几何图形B</param>
/// <returns>True为包含,False为不包含</returns>
public static bool CheckGeometryContain(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Contains(pGeometryB))
{
return true;
}
else
{
return false;
}
} /// <summary>
/// 用于检测几何图形A,几何图形B几何图形是否相交
/// </summary>
/// <param name="pGeometryA">几何图形A</param>
/// <param name="pGeometryB">几何图形B</param>
/// <returns>True为相交,False为不相交</returns>
public static bool CheckGeometryCrosses(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Crosses(pGeometryB))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 用于检测几何图形A,几何图形B几何图形是否相连
/// </summary>
/// <param name="pGeometryA">几何图形A</param>
/// <param name="pGeometryB">几何图形B</param>
/// <returns>True为相连,False为不相连</returns>
public static bool CheckGeometryTouches(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Touches(pGeometryB))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 用于检测几何图形A,几何图形B几何图形是否不相交
/// </summary>
/// <param name="pGeometryA">几何图形A</param>
/// <param name="pGeometryB">几何图形B</param>
/// <returns>True为不相交,False为相交</returns>
public static bool CheckGeometryDisjoint(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Disjoint(pGeometryB))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 用于检测几何图形A,几何图形B几何图形是否有重叠
/// </summary>
/// <param name="pGeometryA">几何图形A</param>
/// <param name="pGeometryB">几何图形B</param>
/// <returns>True为有重叠,False为无重叠</returns>
public static bool CheckGeometryOverlaps(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Overlaps(pGeometryB))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 用于检测几何图形A是否被包含于几何图形B几何图形
/// </summary>
/// <param name="pGeometryA">几何图形A</param>
/// <param name="pGeometryB">几何图形B</param>
/// <returns>True为包含,False为不包含</returns>
public static bool CheckGeometryWithin(IGeometry pGeometryA, IGeometry pGeometryB)
{
IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
if (pRelOperator.Within(pGeometryB))
{
return true;
}
else
{
return false;
}
}

1.ArcGis几何图形之几何计算的更多相关文章

  1. 1549: Navigition Problem (几何计算+模拟 细节较多)

    1549: Navigition Problem Submit Page    Summary    Time Limit: 1 Sec     Memory Limit: 256 Mb     Su ...

  2. Jack Straws POJ - 1127 (几何计算)

    Jack Straws Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5428   Accepted: 2461 Descr ...

  3. Direct2D 几何计算和几何变幻

    D2D不仅可以绘制,还可以对多个几何图形对象进行空间运算.这功能应该在GIS界比较吃香. 这些计算包括: 合并几何对象,可以设置求交还是求并,CombineWithGeometry 边界,加宽边界,查 ...

  4. ArcGIS应用——四种计算图斑面积的方法

    ArcGIS中有多种方法可计算出图斑面积,本文总结了四种方法,是否可堪称史上最全? 1.计算几何 本人认为这是最适合非专业人士的方法,直接利用ArcGIS中的计算几何功能进行计算. a.首先添加一do ...

  5. ArcGIS 重新创建几何服务(GeometryService)

    #参考官方网址:http://enterprise.arcgis.com/zh-cn/server/10.4/administer/windows/re-creating-the-geometry-s ...

  6. arcgis中栅格矢量计算技巧收藏

    ​ ​编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...

  7. arcgis python添加几何属性

    import arcpy import numpy import math def AddGeometryAttributes(fc, geomProperties, lUnit, aUnit, cs ...

  8. ArcGIS 地类净面积计算工具

    地类净面积计算工具可以自己定义图层.字段.地类代码计算任意图层的椭球面积.线状地物扣除.零星扣除和其他扣除,计算地类净面积计算:可以用于二调数据图斑地类.规划地块和基本农田等等需要计算净面积的都可以. ...

  9. UVALive 6092 Catching Shade in Flatland --枚举+几何计算

    题意:x=[-200,200],y=[-200,200]的平面,一天中太阳从不同角度射到长椅(原点(0,0))上,有一些树(用圆表示),问哪个时刻(分钟为单位)太阳光线与这些圆所交的弦长总和最长.太阳 ...

随机推荐

  1. LINUX -- pthread_detach()与pthread_join()

    pthread_detach()即主线程与子线程分离,子线程结束后,资源自动回收. int pthread_join(pthread_t tid, void **thread_return); {su ...

  2. 初学者对ASCII编码、Unicode编码、UTF-8编码的理解

    最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是 255(二进制 11111111=十进制 255),如果要表示更大的整数,就必须用更多的字节. ...

  3. ansible - 基本用法

    目录 ansible - 01 一. 安装与使用 ansible命令格式 查看ansible生成的配置文件 ssh认证方式 ansible的第一个命令 弱口令校验 host-pattern的格式 模块 ...

  4. zend studio【快捷键】

    =================================[快捷键 zend studio]========== 1.调出查找面板[ctrl+f] 2.全文检索[ctrl+h] 3.关闭当前文 ...

  5. protel99se 问题汇总(不定期更新)

    1.在PROTEL99SE中,怎样改变敷铜的线宽? 规则---manufacturing----polygon connect style 里面设置:或Power polygon connect st ...

  6. BZOJ 1572 USACO 2009 Open 工作安排

    先把工作按照Deadline从小到大排序 然后按顺序取,deadline大于现在总用时就取,等于现在总用时就从前面已取的工作中找一个P最小的同它比较,取P较大的一个 用优先队列维护已取工作中P的最小值 ...

  7. jquery源码分析(七)——事件模块 event(二)

    上一章节探讨了事件的一些概念,接下来看下jQuery的事件模块. jQuery对事件的绑定分别有几个API:.bind()/.live()/.delegate()/.on()/click(), 不管是 ...

  8. 【codeforces 758D】Ability To Convert

    [题目链接]:http://codeforces.com/contest/758/problem/D [题意] 给你一个n进制的数k; 问你它可能的最小的十进制数是多少; [题解] 从右往左; 获取数 ...

  9. centOS下安装mysql workbench详细步骤

    step0:安装mysql 在按照workbench之前,先安装mysql.指令是 yum install mysql mysql-server mysql-libs mysql-server 关于m ...

  10. 激活Windows

    额外的启动参数(键):/win=act – 在隐藏模式下运行程序,激活 Windows 并退出程序./ofs=act – 在隐藏模式下运行程序,激活 Office 并退出程序./wingvlk – 在 ...