当前位置: 首页>>代码示例>>C#>>正文


C# Geometry.GetNearestCoordinate方法代码示例

本文整理汇总了C#中Geometry.GetNearestCoordinate方法的典型用法代码示例。如果您正苦于以下问题:C# Geometry.GetNearestCoordinate方法的具体用法?C# Geometry.GetNearestCoordinate怎么用?C# Geometry.GetNearestCoordinate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Geometry的用法示例。


在下文中一共展示了Geometry.GetNearestCoordinate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetTwoClosestVertices

 //Vertices must be adjacent in shape, i.e. the end points of the closest segment
 private static CoordinateCollection GetTwoClosestVertices(Geometry shape, Coordinate searchPoint)
 {
     if (shape == null)
         throw new ArgumentNullException("shape");
     if (searchPoint == null)
         throw new ArgumentNullException("searchPoint");
     if (searchPoint.IsEmpty)
         throw new ArgumentException("searchPoint is not valid");
     if (!shape.IsValid || shape.IsEmpty || (shape.Dimension != GeometryDimension.Line && shape.Dimension != GeometryDimension.Area))
         throw new ArgumentException("shape is not valid");
     int partIndex = -1;
     int priorVertexIndex = -1;
     Double unusedDistance = -1;
     var foundPoint = new Coordinate();
     if (shape.GetNearestCoordinate(searchPoint, foundPoint, ref partIndex, ref priorVertexIndex, ref unusedDistance))
     {
         //priorVertexIndex + 1 will always be valid when shape is a valid, non-empty line or area
         Coordinate pt1 = shape.Parts[partIndex][priorVertexIndex];
         Coordinate pt2 = shape.Parts[partIndex][priorVertexIndex + 1];
         if (pt1.SquareDistance(searchPoint) < pt2.SquareDistance(searchPoint))
             return new CoordinateCollection {pt1, pt2};
         return new CoordinateCollection {pt2, pt1};
     }
     throw new InvalidOperationException("shape.GetNearestCoordinate(searchPoint) failed");
 }
开发者ID:regan-sarwas,项目名称:NPSTransect-KIMU,代码行数:26,代码来源:Transect.cs


注:本文中的Geometry.GetNearestCoordinate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。