/// <summary>
 /// Convenience method which allows running the filter over an array of <see cref="Coordinate"/>s.
 /// </summary>
 /// <param name="coords">an array of coordinates</param>
 /// <returns>an array of the unique coordinates</returns>
 public static Coordinate[] FilterCoordinates(Coordinate[] coords)
 {
     UniqueCoordinateArrayFilter filter = new UniqueCoordinateArrayFilter();
     for (int i = 0; i < coords.Length; i++)
         filter.Filter(coords[i]);
     return filter.Coordinates;
 }
        /// <summary>
        /// Convenience method which allows running the filter over an array of <see cref="Coordinate"/>s.
        /// </summary>
        /// <param name="coords">an array of coordinates</param>
        /// <returns>an array of the unique coordinates</returns>
        public static Coordinate[] FilterCoordinates(Coordinate[] coords)
        {
            var filter = new UniqueCoordinateArrayFilter();

            for (int i = 0; i < coords.Length; i++)
            {
                filter.Filter(coords[i]);
            }
            return(filter.Coordinates);
        }
 public void testUniqueCoordinateArrayFilter()
 {
     var g = reader.Read(
         "MULTIPOINT(10 10, 20 20, 30 30, 20 20, 10 10)");
     var f = new UniqueCoordinateArrayFilter();
     g.Apply(f);
     Assert.AreEqual(3, f.Coordinates.Length);
     Assert.AreEqual(new Coordinate(10, 10), f.Coordinates[0]);
     Assert.AreEqual(new Coordinate(20, 20), f.Coordinates[1]);
     Assert.AreEqual(new Coordinate(30, 30), f.Coordinates[2]);
 }