GIS-判断点是否落在指点的多边形区域内
2013-10-12 11:31
357 查看
/// <summary> /// 判断坐标点是否落在指定的多边形区域内 /// </summary> /// <param name="point">指定的坐标点</param> /// <param name="list">多变形区域的节点集合</param> /// <returns>True 落在范围内 False 不在范围内</returns> public bool IsWithIn(ESRI.ArcGIS.Client.Geometry.MapPoint point, List<ESRI.ArcGIS.Client.Geometry.MapPoint> list) { double x = point.X; double y = point.Y; int isum, icount, index; double dLon1 = 0, dLon2 = 0, dLat1 = 0, dLat2 = 0, dLon; if (list.Count < 3) { return false; } isum = 0; icount = list.Count; try { for (index = 0; index < icount - 1; index++) { if (index == icount - 1) { dLon1 = list[index].X; dLat1 = list[index].Y; dLon2 = list[0].X; dLat2 = list[0].Y; } else { dLon1 = list[index].X; dLat1 = list[index].Y; dLon2 = list[index + 1].X; dLat2 = list[index + 1].Y; } if (((y >= dLat1) && (y < dLat2)) || ((y >= dLat2) && (y < dLat1))) { if (Math.Abs(dLat1 - dLat2) > 0) { dLon = dLon1 - ((dLon1 - dLon2) * (dLat1 - y)) / (dLat1 - dLat2); if (dLon < x) isum++; } } } } catch { } if ((isum % 2) != 0) { return true; } else { return false; } }
相关文章推荐
- js判断一个地图标注点是否在多边形区域里
- php+mongodb判断坐标是否在指定多边形区域内的实例
- 百度地图 判断一个标注点是否在多边形区域里
- c# 判断点是否在区域内点在区域内在多边形内判断
- GIS,判断点是否在指定区域内
- Java 判断一个点是否在多边形区域内【转】
- 百度地图 判断一个标注点是否在多边形区域里
- c# 判断点是否在区域内 点在区域内 在多边形内 判断
- mongodb 判断坐标是否在指定多边形区域内的方法
- PHP判断点是否在多边形区域内外
- 如何判断一个指定的经纬度点是否落在一个多边形区域内?
- 判断点是否在多边形区域里面
- java/c# 判断点是否在多边形区域内
- 百度地图 判断一个标注点是否在多边形区域里
- php+mongodb判断坐标是否在指定多边形区域内的实例
- mongodb 判断坐标是否在指定多边形区域内的方法
- JAVA判断一个点坐标是否在一个多边形区域内和是否在一个圆形区域内
- 判断一个点是否在多边形区域内
- 判断一个点是否在多边形区域内
- 百度地图API(3):判断地图上的点是否在 圆形 多边形 区域内