コード例 #1
0
 public bool IsPointInPolygon(List<Location> location, Location point)
 {
     int indexX, indexJ;
     bool status = false;
     for (indexX = 0, indexJ = location.Count - 1; indexX < location.Count; indexJ = indexX++) {
         if ((((location[indexX].latitude <= point.latitude) && (point.latitude < location[indexJ].latitude))
                 || ((location[indexJ].latitude <= point.latitude) && (point.latitude < location[indexX].latitude)))
                 && (point.longitude < (location[indexJ].longitude - location[indexX].longitude) * (point.latitude - location[indexX].latitude)
                     / (location[indexJ].latitude - location[indexX].latitude) + location[indexX].longitude)) {
             status = !status;
         }
     }
     return status;
 }
コード例 #2
0
 public void addPoint(Location location)
 {
     this.points.Add(location);
 }