} // private static bool ContainsPoint(Coordinate p, Geometry geom) private static bool ContainsPointInPolygon(Coordinate p, Polygon poly) { if (poly.IsEmpty()) { return(false); } LinearRing shell = (LinearRing)poly.GetExteriorRing(); if (!_cga.IsPointInRing(p, shell.GetCoordinates())) { return(false); } // now test if the point lies in or on the holes for (int i = 0; i < poly.GetNumInteriorRing(); i++) { LinearRing lr = poly.GetInteriorRingN(i); if (_cga.IsPointInRing(p, lr.GetCoordinates())) { return(false); } } return(true); } // private static bool ContainsPointInPolygon(Coordinate p, Polygon poly)
} // private int Locate( Coordinate p, LineString l ) /// <summary> /// /// </summary> /// <param name="p"></param> /// <param name="ring"></param> /// <returns></returns> private int Locate(Coordinate p, LinearRing ring) { if (_cga.IsOnLine(p, ring.GetCoordinates())) { return(Location.Boundary); } if (_cga.IsPointInRing(p, ring.GetCoordinates())) { return(Location.Interior); } return(Location.Exterior); } // private int Locate( Coordinate p, LinearRing ring )
public bool IsInside(Coordinate pt) { return(_cga.IsPointInRing(pt, _pts)); }