Пример #1
0
        public void MultiLinestring()
        {
            MultiLineString mls = new MultiLineString();

            Assert.IsTrue(mls.IsEmpty());
            mls.LineStrings.Add(new LineString());
            Assert.IsTrue(mls.IsEmpty());
            mls.LineStrings[0].Vertices.Add(new Point(45, 68));
            mls.LineStrings[0].Vertices.Add(new Point(82, 44));
            mls.LineStrings.Add(CreateLineString());
            foreach (LineString ls in mls)
            {
                Assert.IsFalse(ls.IsEmpty());
            }
            Assert.IsFalse(mls.IsEmpty());
            foreach (LineString ls in mls)
            {
                Assert.IsFalse(ls.IsClosed);
            }
            Assert.IsFalse(mls.IsClosed);
            //Close linestrings
            foreach (LineString ls in mls)
            {
                ls.Vertices.Add(ls.StartPoint.Clone());
            }
            foreach (LineString ls in mls)
            {
                Assert.IsTrue(ls.IsClosed);
            }
            Assert.IsTrue(mls.IsClosed);
            Assert.AreEqual(new BoundingBox(1, 2, 930, 123), mls.GetBoundingBox());
        }
Пример #2
0
 /// <summary>
 /// Converts a MultiLineString to &lt;MultiLineString Text&gt;
 /// format, then Appends it to the writer.
 /// </summary>
 /// <param name="multiLineString">The MultiLineString to process.</param>
 /// <param name="level"></param>
 /// <param name="indentFirst"></param>
 /// <param name="writer">The output stream writer to Append to.</param>
 protected void AppendMultiLineStringText(MultiLineString multiLineString, int level, bool indentFirst,
                                          StringWriter writer)
 {
     if (multiLineString.IsEmpty())
     {
         writer.Write("EMPTY");
     }
     else
     {
         int  level2   = level;
         bool doIndent = indentFirst;
         writer.Write("(");
         for (int i = 0; i < multiLineString.GetNumGeometries(); i++)
         {
             if (i > 0)
             {
                 writer.Write(", ");
                 level2   = level + 1;
                 doIndent = true;
             }
             //AppendLineStringText((LineString) multiLineString.GetGeometryN(i), level2, doIndent, writer);
             AppendLineStringText((LineString)multiLineString.GetGeometryN(i), level2, doIndent, writer);
         }
         writer.Write(")");
     }
 }
Пример #3
0
        public void test_Constructor()
        {
            //create a geomerty collection
            MultiLineString multiLS  = CreateMLS();
            MultiLineString multiLS2 = CreateMLS1();

            Assertion.AssertEquals("Constructor-1: ", false, multiLS.IsEmpty());
            Assertion.AssertEquals("Constructor-2: ", false, multiLS2.IsEmpty());
        }
Пример #4
0
        public void test_IsEmpty()
        {
            //create a geomerty collection
            MultiLineString multiLS = CreateMLS();

            Assertion.AssertEquals("IsEmpty-1: ", false, multiLS.IsEmpty());

            //now try it with a null geometry collection
            GeometryFactory gf = new GeometryFactory(_precMod, _sRID);

            multiLS = gf.CreateMultiLineString(null);

            Assertion.AssertEquals("IsEmpty-2: ", true, multiLS.IsEmpty());

            //now try it with a different geometry collection
            multiLS = CreateMLS1();

            Assertion.AssertEquals("IsEmpty-3: ", false, multiLS.IsEmpty());

            //now try it again
            multiLS = closedMLS();

            Assertion.AssertEquals("IsEmpty-4: ", false, multiLS.IsEmpty());
        }
Пример #5
0
 /// <summary>
 /// Converts a MultiLineString to &lt;MultiLineString Text&gt;
 /// format, then Appends it to the writer.
 /// </summary>
 /// <param name="multiLineString">The MultiLineString to process.</param>
 /// <param name="writer">The output stream writer to Append to.</param>
 private static void AppendMultiLineStringText(MultiLineString multiLineString, StringWriter writer)
 {
     if (multiLineString == null || multiLineString.IsEmpty())
     {
         writer.Write("EMPTY");
     }
     else
     {
         writer.Write("(");
         for (int i = 0; i < multiLineString.LineStrings.Count; i++)
         {
             if (i > 0)
             {
                 writer.Write(", ");
             }
             AppendLineStringText(multiLineString[i], writer);
         }
         writer.Write(")");
     }
 }
Пример #6
0
 /// <summary>
 /// Converts a MultiLineString to &lt;MultiLineString Text&gt;
 /// format, then Appends it to the writer.
 /// </summary>
 /// <param name="multiLineString">The MultiLineString to process.</param>
 /// <param name="writer">The output stream writer to Append to.</param>
 protected void AppendMultiLineStringText(MultiLineString multiLineString, TextWriter writer)
 {
     if (multiLineString.IsEmpty())
     {
         writer.Write("EMPTY");
     }
     else
     {
         for (int i = 0; i < multiLineString.GetNumGeometries(); i++)
         {
             if (i > 0)
             {
                 writer.Write(", ");
             }
             //AppendLineStringText((LineString) multiLineString.GetGeometryN(i), level2, doIndent, writer);
             AppendLineStringText((LineString)multiLineString.GetGeometryN(i), writer);
         }
         //writer.Write(")");
     }
 }
Пример #7
0
 /// <summary>
 ///     Converts a MultiLineString to &lt;MultiLineString Text&gt;
 ///     format, then Appends it to the writer.
 /// </summary>
 /// <param name="multiLineString">The MultiLineString to process.</param>
 /// <param name="writer">The output stream writer to Append to.</param>
 private static void AppendMultiLineStringText(MultiLineString multiLineString, StringWriter writer)
 {
     if ((multiLineString == null) || multiLineString.IsEmpty())
         writer.Write("EMPTY");
     else
     {
         writer.Write("(");
         for (var i = 0; i < multiLineString.LineStrings.Count; i++)
         {
             if (i > 0)
                 writer.Write(", ");
             AppendLineStringText(multiLineString[i], writer);
         }
         writer.Write(")");
     }
 }