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;
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);
KanalObjekte.Add(new KanalObjekt()
@@ -314,7 +314,6 @@ namespace Schnittstelle.Import.XML.v2013
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
rZustand.KodeDescription = codedescription.GetBeschreibung;
//Console.WriteLine(rZustand.KodeDescription);
result.Add(rZustand);
}
@@ -473,7 +472,7 @@ namespace Schnittstelle.Import.XML.v2013
case "Knoten": result.Knoten = parseStammdatenKnoten(aktuell); break;
case "Kante":
result.Kante = parseKante(aktuell);
QueueToRebuild.Enqueue(result);
//QueueToRebuild.Enqueue(result);
break;
case "Lage":
break;
@@ -522,7 +521,7 @@ namespace Schnittstelle.Import.XML.v2013
result.Knoten = parseGeometrieKnoten(s);
break;
case "Kanten":
parseGeometrieKanten(s);
result.Kanten = parseGeometrieKanten(s);
break;
default: throw new NotImplementedException(s.Name);
}
@@ -531,49 +530,55 @@ namespace Schnittstelle.Import.XML.v2013
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)
{
switch (s.Name)
{
case "Kante":
parseGeometrieKante(s);
result.Add(parseGeometrieKante(s));
break;
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)
{
switch (s.Name)
{
case "Start":
parseGeometrieKanteStartEnde(s);
result.Start = parseGeometrieKanteStartEnde(s);
break;
case "Ende":
parseGeometrieKanteStartEnde(s);
result.Ende = parseGeometrieKanteStartEnde(s);
break;
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)
{
switch (s.Name)
{
case "Rechtswert": break;
case "Hochwert": break;
case "Punkthoehe": break;
case "PunktattributAbwasser": break;
case "Rechtswert": result.Rechtswert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break;
case "Hochwert": result.Hochwert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break;
case "Punkthoehe": result.Punkthoehe = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break;
case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break;
default: throw new NotImplementedException(s.Name);
}
}
return result;
}
private Geometriedatenknoten parseGeometrieKnoten(XmlNode aktuel)
@@ -650,7 +655,7 @@ namespace Schnittstelle.Import.XML.v2013
result.SohlhoeheAblauf = Convert.ToDecimal(s.InnerText.Replace('.',','));
break;
case "Laenge":
result.Laenge = Convert.ToDecimal(s.InnerText);
result.Laenge = Convert.ToDecimal(s.InnerText.Replace('.',','));
break;
case "Material":
result.Material = s.InnerText;