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()); }
/// <summary> /// Converts a MultiLineString to <MultiLineString Text> /// 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(")"); } }
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()); }
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()); }
/// <summary> /// Converts a MultiLineString to <MultiLineString Text> /// 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(")"); } }
/// <summary> /// Converts a MultiLineString to <MultiLineString Text> /// 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(")"); } }
/// <summary> /// Converts a MultiLineString to <MultiLineString Text> /// 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(")"); } }