Geometriedaten werden geladen

This commit is contained in:
Damian Wessels
2024-08-26 12:13:09 +02:00
parent dffd649572
commit 4071b526f0

View File

@@ -63,7 +63,7 @@ namespace Schnittstelle.Import.XML.v2013
inspektionsdaten = src.Item2; inspektionsdaten = src.Item2;
foreach (InspizierteAbwassertechnischeAnlage iat in inspektionsdaten) foreach (InspizierteAbwassertechnischeAnlage iat in inspektionsdaten)
{ {
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung));//; AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung) && x.ObjektArt.Equals(EObjektArt.KANTE));//;
string[] filepathsplited = this.XmlFile.Split(Path.DirectorySeparatorChar); string[] filepathsplited = this.XmlFile.Split(Path.DirectorySeparatorChar);
KanalObjekte.Add(new KanalObjekt() KanalObjekte.Add(new KanalObjekt()
@@ -314,7 +314,6 @@ namespace Schnittstelle.Import.XML.v2013
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand); ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
rZustand.KodeDescription = codedescription.GetBeschreibung; rZustand.KodeDescription = codedescription.GetBeschreibung;
//Console.WriteLine(rZustand.KodeDescription);
result.Add(rZustand); result.Add(rZustand);
} }
@@ -473,7 +472,7 @@ namespace Schnittstelle.Import.XML.v2013
case "Knoten": result.Knoten = parseStammdatenKnoten(aktuell); break; case "Knoten": result.Knoten = parseStammdatenKnoten(aktuell); break;
case "Kante": case "Kante":
result.Kante = parseKante(aktuell); result.Kante = parseKante(aktuell);
QueueToRebuild.Enqueue(result); //QueueToRebuild.Enqueue(result);
break; break;
case "Lage": case "Lage":
break; break;
@@ -522,7 +521,7 @@ namespace Schnittstelle.Import.XML.v2013
result.Knoten = parseGeometrieKnoten(s); result.Knoten = parseGeometrieKnoten(s);
break; break;
case "Kanten": case "Kanten":
parseGeometrieKanten(s); result.Kanten = parseGeometrieKanten(s);
break; break;
default: throw new NotImplementedException(s.Name); default: throw new NotImplementedException(s.Name);
} }
@@ -531,49 +530,55 @@ namespace Schnittstelle.Import.XML.v2013
return result; return result;
} }
private void parseGeometrieKanten(XmlNode aktuel) private List<PolyKante> parseGeometrieKanten(XmlNode aktuel)
{ {
List<PolyKante> result = new List<PolyKante>();
foreach (XmlNode s in aktuel.ChildNodes) foreach (XmlNode s in aktuel.ChildNodes)
{ {
switch (s.Name) switch (s.Name)
{ {
case "Kante": case "Kante":
parseGeometrieKante(s); result.Add(parseGeometrieKante(s));
break; break;
default: throw new NotImplementedException(s.Name); default: throw new NotImplementedException(s.Name);
} }
} }
return result;
} }
private void parseGeometrieKante(XmlNode aktuel) private PolyKante parseGeometrieKante(XmlNode aktuel)
{ {
PolyKante result = new PolyKante();
foreach (XmlNode s in aktuel.ChildNodes) foreach (XmlNode s in aktuel.ChildNodes)
{ {
switch (s.Name) switch (s.Name)
{ {
case "Start": case "Start":
parseGeometrieKanteStartEnde(s); result.Start = parseGeometrieKanteStartEnde(s);
break; break;
case "Ende": case "Ende":
parseGeometrieKanteStartEnde(s); result.Ende = parseGeometrieKanteStartEnde(s);
break; break;
default: throw new NotImplementedException(s.Name); default: throw new NotImplementedException(s.Name);
} }
} }
return result;
} }
private void parseGeometrieKanteStartEnde(XmlNode aktuel) private PolyKanteAttribute parseGeometrieKanteStartEnde(XmlNode aktuel)
{ {
PolyKanteAttribute result = new PolyKanteAttribute();
foreach (XmlNode s in aktuel.ChildNodes) foreach (XmlNode s in aktuel.ChildNodes)
{ {
switch (s.Name) switch (s.Name)
{ {
case "Rechtswert": break; case "Rechtswert": result.Rechtswert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break;
case "Hochwert": break; case "Hochwert": result.Hochwert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break;
case "Punkthoehe": break; case "Punkthoehe": result.Punkthoehe = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break;
case "PunktattributAbwasser": break; case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break;
default: throw new NotImplementedException(s.Name); default: throw new NotImplementedException(s.Name);
} }
} }
return result;
} }
private Geometriedatenknoten parseGeometrieKnoten(XmlNode aktuel) private Geometriedatenknoten parseGeometrieKnoten(XmlNode aktuel)
@@ -650,7 +655,7 @@ namespace Schnittstelle.Import.XML.v2013
result.SohlhoeheAblauf = Convert.ToDecimal(s.InnerText.Replace('.',',')); result.SohlhoeheAblauf = Convert.ToDecimal(s.InnerText.Replace('.',','));
break; break;
case "Laenge": case "Laenge":
result.Laenge = Convert.ToDecimal(s.InnerText); result.Laenge = Convert.ToDecimal(s.InnerText.Replace('.',','));
break; break;
case "Material": case "Material":
result.Material = s.InnerText; result.Material = s.InnerText;