1.ArcGis几何图形之几何计算

  1         /// <summary>
  2         /// 检测几何图形A是否包含几何图形B
  3         /// </summary>
  4         /// <param name="pGeometryA">几何图形A</param>
  5         /// <param name="pGeometryB">几何图形B</param>
  6         /// <returns>True为包含,False为不包含</returns>
  7         public static bool CheckGeometryContain(IGeometry pGeometryA, IGeometry pGeometryB)
  8         {
  9             IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
 10             if (pRelOperator.Contains(pGeometryB))
 11             {
 12                 return true;
 13             }
 14             else
 15             {
 16                 return false;
 17             }
 18         }
 19
 20         /// <summary>
 21         /// 用于检测几何图形A,几何图形B几何图形是否相交
 22         /// </summary>
 23         /// <param name="pGeometryA">几何图形A</param>
 24         /// <param name="pGeometryB">几何图形B</param>
 25         /// <returns>True为相交,False为不相交</returns>
 26         public static bool CheckGeometryCrosses(IGeometry pGeometryA, IGeometry pGeometryB)
 27         {
 28             IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
 29             if (pRelOperator.Crosses(pGeometryB))
 30             {
 31                 return true;
 32             }
 33             else
 34             {
 35                 return false;
 36             }
 37         }
 38         /// <summary>
 39         /// 用于检测几何图形A,几何图形B几何图形是否相连
 40         /// </summary>
 41         /// <param name="pGeometryA">几何图形A</param>
 42         /// <param name="pGeometryB">几何图形B</param>
 43         /// <returns>True为相连,False为不相连</returns>
 44         public static bool CheckGeometryTouches(IGeometry pGeometryA, IGeometry pGeometryB)
 45         {
 46             IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
 47             if (pRelOperator.Touches(pGeometryB))
 48             {
 49                 return true;
 50             }
 51             else
 52             {
 53                 return false;
 54             }
 55         }
 56         /// <summary>
 57         /// 用于检测几何图形A,几何图形B几何图形是否不相交
 58         /// </summary>
 59         /// <param name="pGeometryA">几何图形A</param>
 60         /// <param name="pGeometryB">几何图形B</param>
 61         /// <returns>True为不相交,False为相交</returns>
 62         public static bool CheckGeometryDisjoint(IGeometry pGeometryA, IGeometry pGeometryB)
 63         {
 64             IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
 65             if (pRelOperator.Disjoint(pGeometryB))
 66             {
 67                 return true;
 68             }
 69             else
 70             {
 71                 return false;
 72             }
 73         }
 74         /// <summary>
 75         /// 用于检测几何图形A,几何图形B几何图形是否有重叠
 76         /// </summary>
 77         /// <param name="pGeometryA">几何图形A</param>
 78         /// <param name="pGeometryB">几何图形B</param>
 79         /// <returns>True为有重叠,False为无重叠</returns>
 80         public static bool CheckGeometryOverlaps(IGeometry pGeometryA, IGeometry pGeometryB)
 81         {
 82             IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
 83             if (pRelOperator.Overlaps(pGeometryB))
 84             {
 85                 return true;
 86             }
 87             else
 88             {
 89                 return false;
 90             }
 91         }
 92         /// <summary>
 93         /// 用于检测几何图形A是否被包含于几何图形B几何图形
 94         /// </summary>
 95         /// <param name="pGeometryA">几何图形A</param>
 96         /// <param name="pGeometryB">几何图形B</param>
 97         /// <returns>True为包含,False为不包含</returns>
 98         public static bool CheckGeometryWithin(IGeometry pGeometryA, IGeometry pGeometryB)
 99         {
100             IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;
101             if (pRelOperator.Within(pGeometryB))
102             {
103                 return true;
104             }
105             else
106             {
107                 return false;
108             }
109         }
时间: 2024-10-13 21:50:11

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

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

题意:x=[-200,200],y=[-200,200]的平面,一天中太阳从不同角度射到长椅(原点(0,0))上,有一些树(用圆表示),问哪个时刻(分钟为单位)太阳光线与这些圆所交的弦长总和最长.太阳距离原点总是500m.(这些圆不会互相相交,每个圆都不包括原点或者不经过原点) 解法:直接暴力24*60分钟,找出此时的角度,然后求出直线方程,再枚举每个圆,求出弦长.注意这里每个圆都不包括原点,所以直线与圆的交点一定在同一侧,所以..我当时想多了,没看清题目.把他当成可以包含原点了,代码超长,幸好

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

1549: Navigition Problem Submit Page    Summary    Time Limit: 1 Sec     Memory Limit: 256 Mb     Submitted: 400     Solved: 122 Description Navigation is a field of study that focuses on the process of monitoring and controlling the movement of a cr

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

ArcGIS中有多种方法可计算出图斑面积,本文总结了四种方法,是否可堪称史上最全? 1.计算几何 本人认为这是最适合非专业人士的方法,直接利用ArcGIS中的计算几何功能进行计算. a.首先添加一double类型字段,用来存储面积数值. b.执行计算几何操作 在随后的对话框里选择对应的属性即可. 2.字段计算器 字段计算器是一种较高级的用法,在计算计算器中可以编辑个性化个脚本代码(VB Script 或者 Python),进行一些复杂的计算.计算图斑面积是其中最简单的应用之一. Python脚本

ArcGIS教程:ArcGIS中的栅格计算

栅格计算是栅格数数据空间分析中数据处理和分析中最为常用的方法,应用非常广泛,能够解决各种类型的问题,尤其重要的是,它是建立复杂的应用数学模型的基本模块. ArcGIS 9 提供了非常友好的图形化栅格计算器,利用栅格计算器,不仅可以方便的完成基于数学运算符的栅格运算,以及基于数学函数的栅格运算,而且它还支持直接调用ArcGIS 自带的栅格数据空间分析函数,并且可以方便的实现多条语句的同时输入和运行. 一 数学运算 数学运算主要是针对具有相同输入单元的两个或多个栅格数据逐网格进行计算的.主要包括三组

ArcGIS 地类净面积计算工具

地类净面积计算工具可以自己定义图层.字段.地类代码计算任意图层的椭球面积.线状地物扣除.零星扣除和其他扣除,计算地类净面积计算:可以用于二调数据图斑地类.规划地块和基本农田等等需要计算净面积的都可以. 软件运行环境,需要安装arcgis10.0以上,可以ArcGIS10.0, ArcGIS10.1, ArcGIS10.2 视频地址:http://v.youku.com/v_show/id_XODQwMzE2MjYw.html

点云的基本几何计算

1.计算法向量 2.计算曲率 3.计算点云密度 4.计算点云粗糙度 5.计算点云重心 6.计算点云权重重心 7.计算点云协方差 8.计算点云互协方差

I Think I Need a Houseboat ZOJ(几何计算)

I Think I Need a Houseboat Time Limit: 2 Seconds Memory Limit: 65536 KB Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process of investigating the land, he learned that the state of Louisiana is actually s

几何计算模板

1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <cmath> 5 #include <vector> 6 #include <iostream> 7 #include <cassert> 8 9 using namespace std; 10 11 typedef long long lld; 12 13 const d

《刘汝佳算法竞赛入门经典》第五章 简单几何计算

The Other Two Trees 另两棵树 没看懂题目,搜了下题解,都是直接给出了简化后的题意和解法...自己再读读原题意吧