Exemple #1
0
 /// <summary>
 /// Converts a MultiPoint to &lt;MultiPoint Text&gt; format, then
 /// Appends it to the writer.
 /// </summary>
 /// <param name="multiPoint">The MultiPoint to process.</param>
 /// <param name="writer">The output stream writer to Append to.</param>
 protected void AppendMultiPointText(MultiPoint multiPoint, TextWriter writer)
 {
     if (multiPoint.IsEmpty())
     {
         //writer.Write("EMPTY");
     }
     else
     {
         for (int i = 0; i < multiPoint.GetNumGeometries(); i++)
         {
             AppendPointTaggedText(multiPoint.GetCoordinate(i), writer, _precisionModel);
         }
     }
 }
Exemple #2
0
        public void test_NumGeometries()
        {
            //create a new multipoint
            MultiPoint mp1 = CreateTester1();
            //create a new multipoint
            MultiPoint mp2 = CreateTester2();
            //create a new multipoint
            MultiPoint mp3 = CreateTester3();
            //create a new multipoint
            MultiPoint mp4 = CreateTester4();

            Assertion.AssertEquals("NumGeometries-1: ", 23, mp1.GetNumGeometries());
            Assertion.AssertEquals("NumGeometries-2: ", 18, mp2.GetNumGeometries());
            Assertion.AssertEquals("NumGeometries-3: ", 21, mp3.GetNumGeometries());
            Assertion.AssertEquals("NumGeometries-4: ", 32, mp4.GetNumGeometries());
        }
Exemple #3
0
        public void test_Clone()
        {
            //create a new multipoint
            MultiPoint mp = CreateTester1();
            //clone that multipoint
            MultiPoint mp2 = mp.Clone() as MultiPoint;

            //Test that they are not the same multipoint
            Assertion.AssertEquals("Clone-1: ", false, mp == mp2);

            //Test that they have the same coordinates
            for (int i = 0; i < mp.GetNumGeometries(); i++)
            {
                Assertion.AssertEquals("Clone-2: ", true, mp.GetCoordinate(i).X.Equals(mp2.GetCoordinate(i).X));
                Assertion.AssertEquals("Clone-3: ", true, mp.GetCoordinate(i).Y.Equals(mp2.GetCoordinate(i).Y));
            }
        }
Exemple #4
0
        /// <summary>
        /// Tests if MultiPoint is simple.
        /// </summary>
        /// <param name="mp">Geometry to test.  Must be of type MultiPoint.</param>
        /// <returns>Returns True if geometry is simple.</returns>
        /// <remarks>A MultiPoint is simple if and only if it has no repeated points.</remarks>
        public bool IsSimple(MultiPoint mp)
        {
            if (mp.IsEmpty())
            {
                return(true);
            }
            SortedList points = new SortedList();

            for (int i = 0; i < mp.GetNumGeometries(); i++)
            {
                Point      pt = (Point)mp.GetGeometryN(i);
                Coordinate p  = pt.GetCoordinate();
                if (points.Contains(p))
                {
                    return(false);
                }
                points.Add(p, p);
            }     //for ( int i = 0; i < mp.NumGeometries; i++ )
            return(true);
        }         // public bool IsSimple( MultiPoint mp )
Exemple #5
0
 /// <summary>
 /// Converts a MultiPoint to &lt;MultiPoint Text&gt; format, then
 /// Appends it to the writer.
 /// </summary>
 /// <param name="multiPoint">The MultiPoint to process.</param>
 /// <param name="level"></param>
 /// <param name="writer">The output stream writer to Append to.</param>
 protected void AppendMultiPointText(MultiPoint multiPoint, int level, StringWriter writer)
 {
     if (multiPoint.IsEmpty())
     {
         writer.Write("EMPTY");
     }
     else
     {
         writer.Write("(");
         for (int i = 0; i < multiPoint.GetNumGeometries(); i++)
         {
             if (i > 0)
             {
                 writer.Write(", ");
             }
             AppendCoordinate(multiPoint.GetCoordinates()[i], writer,
                              multiPoint.PrecisionModel);
         }
         writer.Write(")");
     }
 }