1.ArcGis几何图形之几何计算
/// <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几何图形之几何计算的更多相关文章
- 1549: Navigition Problem (几何计算+模拟 细节较多)
1549: Navigition Problem Submit Page Summary Time Limit: 1 Sec Memory Limit: 256 Mb Su ...
- Jack Straws POJ - 1127 (几何计算)
Jack Straws Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5428 Accepted: 2461 Descr ...
- Direct2D 几何计算和几何变幻
D2D不仅可以绘制,还可以对多个几何图形对象进行空间运算.这功能应该在GIS界比较吃香. 这些计算包括: 合并几何对象,可以设置求交还是求并,CombineWithGeometry 边界,加宽边界,查 ...
- ArcGIS应用——四种计算图斑面积的方法
ArcGIS中有多种方法可计算出图斑面积,本文总结了四种方法,是否可堪称史上最全? 1.计算几何 本人认为这是最适合非专业人士的方法,直接利用ArcGIS中的计算几何功能进行计算. a.首先添加一do ...
- ArcGIS 重新创建几何服务(GeometryService)
#参考官方网址:http://enterprise.arcgis.com/zh-cn/server/10.4/administer/windows/re-creating-the-geometry-s ...
- arcgis中栅格矢量计算技巧收藏
编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...
- arcgis python添加几何属性
import arcpy import numpy import math def AddGeometryAttributes(fc, geomProperties, lUnit, aUnit, cs ...
- ArcGIS 地类净面积计算工具
地类净面积计算工具可以自己定义图层.字段.地类代码计算任意图层的椭球面积.线状地物扣除.零星扣除和其他扣除,计算地类净面积计算:可以用于二调数据图斑地类.规划地块和基本农田等等需要计算净面积的都可以. ...
- UVALive 6092 Catching Shade in Flatland --枚举+几何计算
题意:x=[-200,200],y=[-200,200]的平面,一天中太阳从不同角度射到长椅(原点(0,0))上,有一些树(用圆表示),问哪个时刻(分钟为单位)太阳光线与这些圆所交的弦长总和最长.太阳 ...
随机推荐
- 怎么设置font awesome图标的大小?
<i class="fa fa-camera-retro fa-lg"></i> fa-lg <i class="fa fa-camera- ...
- SOUI界面库 添加 windows系统文件图标皮肤
最近在学习soui界面库.其中有用到SListCtrl这个控件来现在文件信息.控件用法基本上和mfc 的CListCtrl差不多.也支持图标显示.但是图标是要自己加入图标图片的.这个就有点不好弄.于是 ...
- Python - 模块(一)
目录 Python - 模块(一) 模块的引用方式 常用模块 random(随机模块) os模块 sys 序列化模块 hashlib subprocess optparse struct Python ...
- linux学习9-进程管理知识
Linux 进程管理 实验环境: 用户名:shiyanlou 密码:AJW3tui5 Linux进程之管理控制 实验介绍 通过本实验我们将掌握一些 Linux 所提供的工具来进行进程的查看与控制,掌握 ...
- hadoop在线重启namenode+在线扩展集群
1.执行步骤 修改dfs.namenode.handler.count=150 () NameNode 有一个工作线程池用来处理客户端的远程过程调用及集群守护进程的调用.处理程序数量越多意味着要更大的 ...
- css的基本操作学习--css样式,选择器,hover,文字属性,文本属性,背景
什么是css? 通配符选择器 <head> /* *通配符选择器 匹配任何元素 */ *{ margin: 0; padding: 0; } </head> css样式有三种 ...
- AndroidTreeView:Android树形节点View
AndroidTreeView:Android树形节点View AndroidTreeView是github上的一个第三方开源项目,其在github上的项目主页是:https://github. ...
- [cogs736][网络流24题#13]星际转移[网络流,网络判定]
将一个空间站分为天数个点,每次枚举天数,每增加一天就把对应天数的边连上,用网络流判定可行性,即-判断最大流是否不小于k,注意编号不要错位.通过此题,可见一些网络流题目需要用到网络判定方法,但虽然答案具 ...
- propagation属性的7个传播行为
关于propagation属性的7个传播行为 REQUIRED:指定当前方法必需在事务环境中运行,如果当前有事务环境就加入当前正在执行的事务环境,如果当前没有事务,就新建一个事务.这是默认值.即有事务 ...
- N天学习一个linux命令之rsync
用途 主要用于本地和远程主机同步文件 特性 1 使用增量传输算法(delta-transfer algorithm) 2 支持ssh,rsync协议 3 可以用于本地同步文件 4 本地和远程主机都需要 ...