[Wsplgen-commits] r51 - in trunk: bin/test_results src

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Jun 9 21:54:04 CEST 2006


Author: mrchip
Date: 2006-06-09 21:54:01 +0200 (Fri, 09 Jun 2006)
New Revision: 51

Modified:
   trunk/bin/test_results/test.txt
   trunk/src/Makefile
   trunk/src/file.cpp
   trunk/src/file.h
   trunk/src/parameter.cpp
   trunk/src/quadtree.cpp
   trunk/src/quadtree.h
   trunk/src/test_file.cpp
   trunk/src/test_profil.cpp
   trunk/src/test_quadtree.cpp
   trunk/src/test_tools.cpp
   trunk/src/test_tri.cpp
   trunk/src/tools.cpp
   trunk/src/tools.h
   trunk/src/tri.cpp
   trunk/src/wsplgen.cpp
   trunk/src/wsplgen.h
   trunk/src/xy.cpp
   trunk/src/xy.h
Log:
Es wurden Fehler im Zusamenhang mit der Umstellung auf long bei den Koordinaten beseitigt.
Das Attribut GEW und die Bearbeitungsbereiche wurde ersatzlos gestrichen.


Modified: trunk/bin/test_results/test.txt
===================================================================
--- trunk/bin/test_results/test.txt	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/bin/test_results/test.txt	2006-06-09 19:54:01 UTC (rev 51)
@@ -1,1709 +1,1729 @@
-01:47:02: ->Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' gestartet
-01:47:02:   ->Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' als XYZ gestartet
-01:47:02:     13 Werte gelesen, 13 von 13 Knoten im Speicher
-01:47:02:   <-Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' als XYZ beendet
-01:47:02:   ->Suche nach doppelten Knoten gestartet
-01:47:02:     13 Knoten und keine Elemente vorhanden
-01:47:02:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:02:   <-Suche nach doppelten Knoten beendet
-01:47:02: <-Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' beendet
-01:47:02: ->Triangulierung der Knoten gestartet
-01:47:02:   ->Sortieren Knoten gestartet
-01:47:02:   <-Sortieren der Knoten beendet
-01:47:02:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:02:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:02:   ->Suchen der Startkante gestartet
-01:47:02:     Kante: 1 - 2 als Startkante
-01:47:02:   <-Suchen der Startkante beendet
-01:47:02: <-Triangulierung der Knoten beendet
-01:47:02: ->Erzeugung der Kanten gestartet
-01:47:02:   19 von 19 Elementen, 31 Kanten erzeugt
-01:47:02:   0 von 31 Kanten getestet
-01:47:02:   31 von 31 Kanten getestet
-01:47:02: <-Erzeugung der Kanten beendet
-01:47:02: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
-01:47:02:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
-01:47:02:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
-01:47:02:       Projektionsdatei 'test_daten/dgm.PRJ' konnte nicht geöffnet werden
-01:47:02:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
-01:47:02:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
-01:47:02:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
-01:47:02:   ->Suche nach doppelten Knoten gestartet
-01:47:02:     114 Knoten und keine Elemente vorhanden
-01:47:02:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:02:   <-Suche nach doppelten Knoten beendet
-01:47:02: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
-01:47:02: 0.01,0.01
-01:47:02: 0.01,0.01
-01:47:02: 0.01,0.02
-01:47:02: 0.02,0.02
-01:47:02: 0.02,0.01
-01:47:02: 0.01,0.01
-01:47:02: 0.01,0.02
-01:47:02: 0.02,0.02
-01:47:02: 0.02,0.01
-01:47:02: 0.01,0.01
-01:47:02: 0.01,0.02
-01:47:02: 0.01,0.03
-01:47:02: 0.02,0.02
-01:47:02: 0.02,0.03
-01:47:02: 0.03,0.02
-01:47:02: 0.03,0.03
-01:47:02: 0.02,0.01
-01:47:02: 0.03,0.01
-01:47:02: 0.01,0.01
-01:47:02: 0.01,0.09
-01:47:02: 0.04,0.09
-01:47:02: 0.03,0.06
-01:47:02: 0.04,0.05
-01:47:02: 0.09,0.09
-01:47:02: 0.07,0.09
-01:47:02: 0.07,0.07
-01:47:02: 0.07,0.06
-01:47:02: 0.09,0.01
-01:47:02: 0.07,0.04
-01:47:02: 0.03,0.04
-01:47:02: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
-01:47:02:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
-01:47:02:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
-01:47:02:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
-01:47:02:   ->Suche nach doppelten Knoten gestartet
-01:47:02:     1126 Knoten und keine Elemente vorhanden
-01:47:02:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:02:   <-Suche nach doppelten Knoten beendet
-01:47:02: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
-01:47:02: 3501267.49,5872612.21
-01:47:02: 3500741.94,5873010.11
-01:47:02: 3500733.82,5872983.87
-01:47:02: 3500726.79,5873108.23
-01:47:02: 3500727.21,5873257.13
-01:47:02: 3500730.52,5873329.20
-01:47:02: 3500734.91,5873293.44
-01:47:02: 3500685.45,5873261.49
-01:47:02: 3500699.93,5873298.09
-01:47:02: 3500738.07,5873147.90
-01:47:02: 3500691.05,5873185.69
-01:47:02: 3500692.77,5873223.67
-01:47:02: 3500724.99,5873180.90
-01:47:02: 3500730.53,5873216.57
-01:47:02: 3500685.70,5873112.11
-01:47:02: 3500700.42,5873147.47
-01:47:02: 3500733.86,5873038.63
-01:47:02: 3500726.38,5873069.66
-01:47:02: 3500695.85,5873035.94
-01:47:02: 3500695.28,5873076.51
-01:47:02: 3500731.87,5872960.78
-01:47:02: 3500713.94,5873006.84
-01:47:02: 3500710.48,5872981.53
-01:47:02: 3500714.77,5872967.93
-01:47:02: 3500733.58,5872944.56
-01:47:02: 3501269.86,5872816.42
-01:47:02: 3501099.88,5873416.41
-01:47:02: 3501063.99,5873407.92
-01:47:02: 3501022.45,5873411.00
-01:47:02: 3500987.30,5873417.60
-01:47:02: 3500955.14,5873404.00
-01:47:02: 3500922.33,5873416.94
-01:47:02: 3500879.94,5873411.35
-01:47:02: 3500835.30,5873410.84
-01:47:02: 3500797.71,5873412.18
-01:47:02: 3501251.80,5873408.21
-01:47:02: 3501334.15,5873408.58
-01:47:02: 3501410.39,5873416.02
-01:47:02: 3501444.14,5873404.29
-01:47:02: 3501375.52,5873411.84
-01:47:02: 3501213.20,5873407.85
-01:47:02: 3501293.31,5873419.57
-01:47:02: 3501177.16,5873415.15
-01:47:02: 3501136.19,5873411.35
-01:47:02: 3501251.95,5872819.23
-01:47:02: 3501247.91,5873111.14
-01:47:02: 3501177.23,5873257.77
-01:47:02: 3501147.48,5873340.62
-01:47:02: 3501142.70,5873374.43
-01:47:02: 3501183.79,5873333.72
-01:47:02: 3501180.31,5873373.97
-01:47:02: 3501217.95,5873373.52
-01:47:02: 3501213.19,5873304.01
-01:47:02: 3501184.45,5873293.37
-01:47:02: 3501136.62,5873261.72
-01:47:02: 3501145.77,5873302.23
-01:47:02: 3501263.50,5873260.93
-01:47:02: 3501259.17,5873331.73
-01:47:02: 3501256.42,5873367.06
-01:47:02: 3501224.98,5873337.01
-01:47:02: 3501296.42,5873339.25
-01:47:02: 3501293.05,5873382.51
-01:47:02: 3501298.37,5873266.32
-01:47:02: 3501284.76,5873299.04
-01:47:02: 3501221.67,5873264.43
-01:47:02: 3501247.43,5873298.09
-01:47:02: 3501288.19,5873113.25
-01:47:02: 3501256.03,5873186.16
-01:47:02: 3501248.53,5873224.43
-01:47:02: 3501293.02,5873187.36
-01:47:02: 3501289.61,5873226.83
-01:47:02: 3501300.28,5873152.80
-01:47:02: 3501262.38,5873148.08
-01:47:02: 3501221.72,5873152.04
-01:47:02: 3501210.24,5873111.86
-01:47:02: 3501147.05,5873190.51
-01:47:02: 3501142.62,5873224.06
-01:47:02: 3501217.82,5873192.87
-01:47:02: 3501180.39,5873216.01
-01:47:02: 3501212.35,5873229.77
-01:47:02: 3501181.50,5873177.77
-01:47:02: 3501177.08,5873105.90
-01:47:02: 3501180.06,5873140.75
-01:47:02: 3501139.21,5873112.89
-01:47:02: 3501142.94,5873156.09
-01:47:02: 3501326.44,5873107.03
-01:47:02: 3501331.45,5873253.41
-01:47:02: 3501335.30,5873331.59
-01:47:02: 3501330.44,5873366.95
-01:47:02: 3501369.03,5873336.90
-01:47:02: 3501368.22,5873374.38
-01:47:02: 3501405.85,5873336.38
-01:47:02: 3501367.01,5873268.75
-01:47:02: 3501363.40,5873303.35
-01:47:02: 3501403.28,5873295.62
-01:47:02: 3501401.10,5873257.08
-01:47:02: 3501325.99,5873295.48
-01:47:02: 3501440.19,5873265.38
-01:47:02: 3501443.83,5873343.78
-01:47:02: 3501407.30,5873377.34
-01:47:02: 3501443.41,5873374.10
-01:47:02: 3501442.85,5873306.61
-01:47:02: 3501410.28,5873227.36
-01:47:02: 3501364.60,5873113.67
-01:47:02: 3501330.36,5873176.63
-01:47:02: 3501330.04,5873215.80
-01:47:02: 3501363.44,5873191.14
-01:47:02: 3501371.23,5873226.76
-01:47:02: 3501405.96,5873185.52
-01:47:02: 3501402.31,5873106.54
-01:47:02: 3501369.06,5873156.21
-01:47:02: 3501405.50,5873141.20
-01:47:02: 3501331.89,5873138.57
-01:47:02: 3501323.29,5872851.93
-01:47:02: 3501322.72,5872961.19
-01:47:02: 3501329.42,5873027.24
-01:47:02: 3501334.53,5873069.66
-01:47:02: 3501362.75,5873041.40
-01:47:02: 3501375.73,5873073.47
-01:47:02: 3501364.72,5872965.28
-01:47:02: 3501368.01,5873006.17
-01:47:02: 3501335.84,5872992.78
-01:47:02: 3501332.60,5872865.63
-01:47:02: 3501330.76,5872887.44
-01:47:02: 3501335.29,5872925.67
-01:47:02: 3501290.05,5872816.47
-01:47:02: 3501147.89,5872960.56
-01:47:02: 3501137.56,5873041.01
-01:47:02: 3501150.96,5873073.29
-01:47:02: 3501214.91,5873038.09
-01:47:02: 3501188.50,5873072.32
-01:47:02: 3501173.03,5873035.24
-01:47:02: 3501180.24,5872961.77
-01:47:02: 3501183.47,5872996.92
-01:47:02: 3501210.46,5872961.30
-01:47:02: 3501140.95,5873001.24
-01:47:02: 3501284.89,5872962.09
-01:47:02: 3501255.33,5873027.33
-01:47:02: 3501223.54,5873077.76
-01:47:02: 3501259.03,5873069.47
-01:47:02: 3501292.63,5873043.39
-01:47:02: 3501297.30,5873077.96
-01:47:02: 3501296.77,5873002.29
-01:47:02: 3501247.70,5872961.39
-01:47:02: 3501226.84,5872999.13
-01:47:02: 3501262.40,5872991.16
-01:47:02: 3501233.71,5872816.50
-01:47:02: 3501239.10,5872876.42
-01:47:02: 3501221.78,5872925.08
-01:47:02: 3501259.53,5872925.33
-01:47:02: 3501256.06,5872889.47
-01:47:02: 3501237.33,5872898.41
-01:47:02: 3501274.61,5872876.44
-01:47:02: 3501297.60,5872925.39
-01:47:02: 3501293.36,5872888.43
-01:47:02: 3501312.18,5872897.81
-01:47:02: 3501274.47,5872898.46
-01:47:02: 3501310.44,5872816.53
-01:47:02: 3501273.70,5872858.16
-01:47:02: 3501298.49,5872855.04
-01:47:02: 3501291.41,5872868.26
-01:47:02: 3501312.06,5872872.11
-01:47:02: 3501308.56,5872835.82
-01:47:02: 3501267.74,5872835.91
-01:47:02: 3501287.18,5872837.17
-01:47:02: 3501245.66,5872835.10
-01:47:02: 3501231.54,5872851.41
-01:47:02: 3501224.10,5872864.38
-01:47:02: 3501260.98,5872849.75
-01:47:02: 3501248.90,5872861.27
-01:47:02: 3501258.31,5872869.82
-01:47:02: 3501247.51,5872851.07
-01:47:02: 3501224.15,5872834.64
-01:47:02: 3501210.50,5872814.37
-01:47:02: 3501142.37,5872889.76
-01:47:02: 3501142.36,5872919.79
-01:47:02: 3501162.30,5872894.94
-01:47:02: 3501125.47,5872894.52
-01:47:02: 3501218.32,5872886.87
-01:47:02: 3501180.42,5872927.13
-01:47:02: 3501199.62,5872896.32
-01:47:02: 3501182.02,5872888.23
-01:47:02: 3501187.96,5872817.11
-01:47:02: 3501185.26,5872853.86
-01:47:02: 3501174.50,5872870.61
-01:47:02: 3501208.65,5872851.45
-01:47:02: 3501199.30,5872867.49
-01:47:02: 3501214.97,5872870.87
-01:47:02: 3501205.55,5872832.66
-01:47:02: 3501187.15,5872835.82
-01:47:02: 3501166.84,5872816.82
-01:47:02: 3501146.79,5872851.56
-01:47:02: 3501129.24,5872860.15
-01:47:02: 3501165.39,5872857.58
-01:47:02: 3501149.71,5872873.72
-01:47:02: 3501165.59,5872837.46
-01:47:02: 3501146.76,5872815.84
-01:47:02: 3501128.45,5872819.34
-01:47:02: 3501144.14,5872833.69
-01:47:02: 3501107.18,5872815.07
-01:47:02: 3500912.76,5873116.86
-01:47:02: 3500840.35,5873264.82
-01:47:02: 3500767.75,5873344.49
-01:47:02: 3500767.78,5873381.38
-01:47:02: 3500807.89,5873333.43
-01:47:02: 3500805.86,5873373.64
-01:47:02: 3500838.21,5873303.01
-01:47:02: 3500805.11,5873291.43
-01:47:02: 3500800.94,5873256.04
-01:47:02: 3500767.07,5873268.41
-01:47:02: 3500768.94,5873307.67
-01:47:02: 3500913.32,5873265.15
-01:47:02: 3500876.57,5873340.25
-01:47:02: 3500845.54,5873372.09
-01:47:02: 3500885.10,5873370.29
-01:47:02: 3500847.14,5873332.02
-01:47:02: 3500916.54,5873336.09
-01:47:02: 3500917.84,5873381.57
-01:47:02: 3500922.64,5873294.86
-01:47:02: 3500879.77,5873254.67
-01:47:02: 3500880.51,5873298.62
-01:47:02: 3500926.60,5873149.37
-01:47:02: 3500879.61,5873193.06
-01:47:02: 3500849.25,5873223.58
-01:47:02: 3500880.80,5873223.73
-01:47:02: 3500913.31,5873181.35
-01:47:02: 3500919.01,5873223.93
-01:47:02: 3500876.98,5873107.08
-01:47:02: 3500847.98,5873143.55
-01:47:02: 3500883.38,5873151.96
-01:47:02: 3500834.23,5873110.17
-01:47:02: 3500760.19,5873186.29
-01:47:02: 3500770.45,5873227.14
-01:47:02: 3500839.62,5873182.20
-01:47:02: 3500813.51,5873223.01
-01:47:02: 3500797.99,5873187.01
-01:47:02: 3500813.75,5873148.92
-01:47:02: 3500796.43,5873110.44
-01:47:02: 3500776.41,5873148.75
-01:47:02: 3500762.14,5873115.93
-01:47:02: 3501098.09,5873109.81
-01:47:02: 3501000.29,5873260.77
-01:47:02: 3500955.63,5873336.67
-01:47:02: 3500955.20,5873366.47
-01:47:02: 3500994.13,5873337.42
-01:47:02: 3500993.10,5873380.95
-01:47:02: 3501022.86,5873298.52
-01:47:02: 3500987.23,5873294.02
-01:47:02: 3500955.67,5873261.70
-01:47:02: 3500955.47,5873305.97
-01:47:02: 3501105.69,5873261.31
-01:47:02: 3501064.19,5873340.74
-01:47:02: 3501032.54,5873371.46
-01:47:02: 3501073.24,5873369.69
-01:47:02: 3501034.48,5873331.90
-01:47:02: 3501105.70,5873335.98
-01:47:02: 3501105.46,5873381.14
-01:47:02: 3501105.34,5873293.22
-01:47:02: 3501074.61,5873261.24
-01:47:02: 3501065.41,5873301.97
-01:47:02: 3501038.47,5873261.35
-01:47:02: 3501062.38,5873115.47
-01:47:02: 3501064.09,5873182.03
-01:47:02: 3501064.90,5873220.27
-01:47:02: 3501105.11,5873186.61
-01:47:02: 3501104.79,5873229.40
-01:47:02: 3501110.44,5873143.84
-01:47:02: 3501076.58,5873149.19
-01:47:02: 3501037.63,5873148.04
-01:47:02: 3501026.69,5873107.74
-01:47:02: 3500951.62,5873188.63
-01:47:02: 3500954.81,5873224.11
-01:47:02: 3501030.10,5873186.27
-01:47:02: 3500985.27,5873224.11
-01:47:02: 3501023.11,5873223.69
-01:47:02: 3500992.60,5873186.29
-01:47:02: 3500984.92,5873110.95
-01:47:02: 3501001.35,5873147.88
-01:47:02: 3500949.26,5873110.68
-01:47:02: 3500963.93,5873149.18
-01:47:02: 3501124.15,5872838.14
-01:47:02: 3501025.76,5872962.80
-01:47:02: 3500956.03,5873027.96
-01:47:02: 3500957.26,5873069.06
-01:47:02: 3501026.72,5873031.73
-01:47:02: 3500997.39,5873078.42
-01:47:02: 3501031.11,5873065.63
-01:47:02: 3500992.65,5873043.10
-01:47:02: 3500989.14,5872962.66
-01:47:02: 3500996.81,5873002.11
-01:47:02: 3500950.22,5872962.71
-01:47:02: 3500960.82,5872994.52
-01:47:02: 3501109.08,5872963.52
-01:47:02: 3501065.72,5873040.07
-01:47:02: 3501067.86,5873080.47
-01:47:02: 3501105.27,5873028.74
-01:47:02: 3501108.66,5873070.37
-01:47:02: 3501101.44,5872993.67
-01:47:02: 3501067.75,5872963.78
-01:47:02: 3501038.13,5872998.98
-01:47:02: 3501072.08,5873003.81
-01:47:02: 3501101.81,5872836.95
-01:47:02: 3501042.01,5872875.95
-01:47:02: 3501049.13,5872935.85
-01:47:02: 3501068.33,5872925.32
-01:47:02: 3501075.31,5872883.06
-01:47:02: 3501066.74,5872902.35
-01:47:02: 3501065.34,5872889.34
-01:47:02: 3501050.51,5872886.17
-01:47:02: 3501033.08,5872903.34
-01:47:02: 3501049.64,5872911.19
-01:47:02: 3501124.91,5872876.83
-01:47:02: 3501089.36,5872932.76
-01:47:02: 3501116.95,5872935.34
-01:47:02: 3501109.02,5872887.71
-01:47:02: 3501108.76,5872909.18
-01:47:02: 3501100.11,5872879.94
-01:47:02: 3501084.77,5872907.14
-01:47:02: 3501093.11,5872891.98
-01:47:02: 3501086.13,5872821.18
-01:47:02: 3501082.61,5872839.63
-01:47:02: 3501079.70,5872871.28
-01:47:02: 3501090.27,5872858.11
-01:47:02: 3501110.25,5872853.02
-01:47:02: 3501109.41,5872869.13
-01:47:02: 3501068.00,5872814.42
-01:47:02: 3501042.65,5872857.60
-01:47:02: 3501065.35,5872853.75
-01:47:02: 3501060.70,5872872.06
-01:47:02: 3501064.53,5872833.30
-01:47:02: 3501047.52,5872817.09
-01:47:02: 3501044.11,5872837.33
-01:47:02: 3501023.73,5872817.36
-01:47:02: 3500976.12,5872895.51
-01:47:02: 3500956.28,5872926.96
-01:47:02: 3500938.25,5872914.04
-01:47:02: 3500974.87,5872914.20
-01:47:02: 3500973.99,5872936.29
-01:47:02: 3500964.72,5872878.32
-01:47:02: 3500958.83,5872907.54
-01:47:02: 3500951.32,5872898.62
-01:47:02: 3501025.72,5872889.28
-01:47:02: 3500993.38,5872926.09
-01:47:02: 3501030.67,5872925.41
-01:47:02: 3501011.42,5872935.20
-01:47:02: 3501012.50,5872909.90
-01:47:02: 3501006.08,5872877.51
-01:47:02: 3500992.09,5872905.90
-01:47:02: 3501000.92,5872892.40
-01:47:02: 3500986.33,5872876.32
-01:47:02: 3501026.19,5872839.59
-01:47:02: 3501000.81,5872857.91
-01:47:02: 3501020.57,5872854.31
-01:47:02: 3501023.76,5872870.61
-01:47:02: 3501001.25,5872814.92
-01:47:02: 3501004.85,5872835.50
-01:47:02: 3500982.32,5872817.64
-01:47:02: 3500957.59,5872858.04
-01:47:02: 3500942.94,5872874.58
-01:47:02: 3500983.78,5872837.83
-01:47:02: 3500978.29,5872857.54
-01:47:02: 3500965.97,5872841.75
-01:47:02: 3500961.93,5872821.83
-01:47:02: 3500940.00,5872815.40
-01:47:02: 3500947.10,5872836.70
-01:47:02: 3500937.49,5872855.01
-01:47:02: 3500841.93,5872957.06
-01:47:02: 3500770.03,5873039.00
-01:47:02: 3500765.42,5873077.17
-01:47:02: 3500840.16,5873040.20
-01:47:02: 3500808.78,5873070.45
-01:47:02: 3500801.01,5873031.95
-01:47:02: 3500816.97,5872973.22
-01:47:02: 3500809.91,5873002.22
-01:47:02: 3500789.69,5872970.41
-01:47:02: 3500770.53,5872997.97
-01:47:02: 3500769.28,5872963.04
-01:47:02: 3500750.76,5872969.58
-01:47:02: 3500751.90,5872950.19
-01:47:02: 3500913.32,5872962.89
-01:47:02: 3500880.41,5873027.26
-01:47:02: 3500847.20,5873077.54
-01:47:02: 3500880.99,5873065.10
-01:47:02: 3500918.91,5873044.15
-01:47:02: 3500917.47,5873080.60
-01:47:02: 3500921.53,5873002.66
-01:47:02: 3500876.00,5872962.78
-01:47:02: 3500848.17,5872998.34
-01:47:02: 3500886.12,5872994.25
-01:47:02: 3500937.36,5872892.10
-01:47:02: 3500883.43,5872926.01
-01:47:02: 3500862.10,5872931.81
-01:47:02: 3500882.18,5872895.73
-01:47:02: 3500876.93,5872907.96
-01:47:02: 3500877.64,5872877.13
-01:47:02: 3500852.13,5872911.07
-01:47:02: 3500862.37,5872894.75
-01:47:02: 3500855.33,5872877.12
-01:47:02: 3500936.74,5872935.56
-01:47:02: 3500900.25,5872934.30
-01:47:02: 3500920.39,5872929.76
-01:47:02: 3500915.48,5872914.84
-01:47:02: 3500926.52,5872901.73
-01:47:02: 3500922.77,5872880.33
-01:47:02: 3500912.77,5872892.31
-01:47:02: 3500901.73,5872904.85
-01:47:02: 3500896.40,5872890.05
-01:47:02: 3500917.25,5872817.03
-01:47:02: 3500905.58,5872837.85
-01:47:02: 3500901.20,5872873.38
-01:47:02: 3500898.20,5872854.69
-01:47:02: 3500918.99,5872859.22
-01:47:02: 3500925.41,5872836.61
-01:47:02: 3500896.30,5872817.09
-01:47:02: 3500875.50,5872817.45
-01:47:02: 3500859.20,5872857.55
-01:47:02: 3500879.92,5872857.92
-01:47:02: 3500884.79,5872837.31
-01:47:02: 3500855.15,5872816.69
-01:47:02: 3500863.69,5872837.35
-01:47:02: 3500842.46,5872927.13
-01:47:02: 3500788.09,5872946.59
-01:47:02: 3500770.46,5872940.66
-01:47:02: 3500755.77,5872933.07
-01:47:02: 3500757.95,5872913.49
-01:47:02: 3500787.86,5872928.78
-01:47:02: 3500777.96,5872921.57
-01:47:02: 3500794.25,5872897.66
-01:47:02: 3500781.43,5872911.91
-01:47:02: 3500777.30,5872878.18
-01:47:02: 3500772.67,5872896.66
-01:47:02: 3500823.51,5872930.12
-01:47:02: 3500809.91,5872947.81
-01:47:02: 3500802.53,5872917.30
-01:47:02: 3500803.36,5872929.93
-01:47:02: 3500827.33,5872914.18
-01:47:02: 3500839.00,5872894.88
-01:47:02: 3500815.41,5872897.61
-01:47:02: 3500818.54,5872878.10
-01:47:02: 3500797.60,5872878.09
-01:47:02: 3500836.45,5872874.95
-01:47:02: 3500818.43,5872857.50
-01:47:02: 3500800.61,5872860.50
-01:47:02: 3500819.00,5872838.01
-01:47:02: 3500839.00,5872857.09
-01:47:02: 3500836.52,5872814.29
-01:47:02: 3500840.94,5872835.88
-01:47:02: 3500818.63,5872817.37
-01:47:02: 3500800.95,5872820.10
-01:47:02: 3500796.28,5872839.60
-01:47:02: 3500772.62,5872837.50
-01:47:02: 3500782.20,5872857.64
-01:47:02: 3500782.21,5872817.07
-01:47:02: 3500758.25,5872815.41
-01:47:02: 3501270.00,5872629.60
-01:47:02: 3501122.32,5872634.24
-01:47:02: 3500920.58,5872543.15
-01:47:02: 3500829.46,5872657.27
-01:47:02: 3500775.86,5872737.11
-01:47:02: 3500752.90,5872775.57
-01:47:02: 3500759.85,5872793.77
-01:47:02: 3500776.55,5872778.50
-01:47:02: 3500776.04,5872799.11
-01:47:02: 3500780.52,5872758.67
-01:47:02: 3500753.50,5872736.52
-01:47:02: 3500761.61,5872756.10
-01:47:02: 3500835.29,5872735.63
-01:47:02: 3500818.23,5872780.39
-01:47:02: 3500797.68,5872796.19
-01:47:02: 3500798.40,5872772.36
-01:47:02: 3500836.01,5872773.44
-01:47:02: 3500820.87,5872799.15
-01:47:02: 3500841.36,5872794.51
-01:47:02: 3500843.44,5872755.12
-01:47:02: 3500820.43,5872757.97
-01:47:02: 3500816.02,5872737.94
-01:47:02: 3500798.14,5872751.41
-01:47:02: 3500798.14,5872731.31
-01:47:02: 3500805.93,5872665.68
-01:47:02: 3500798.83,5872695.26
-01:47:02: 3500817.26,5872716.74
-01:47:02: 3500820.10,5872696.38
-01:47:02: 3500839.67,5872694.61
-01:47:02: 3500838.95,5872715.10
-01:47:02: 3500822.62,5872677.10
-01:47:02: 3500843.03,5872671.82
-01:47:02: 3500803.40,5872680.06
-01:47:02: 3500777.26,5872653.82
-01:47:02: 3500757.68,5872699.44
-01:47:02: 3500758.04,5872717.86
-01:47:02: 3500778.26,5872695.59
-01:47:02: 3500777.64,5872716.40
-01:47:02: 3500795.80,5872712.66
-01:47:02: 3500782.39,5872674.09
-01:47:02: 3500761.30,5872668.45
-01:47:02: 3500758.86,5872682.49
-01:47:02: 3500897.89,5872651.18
-01:47:02: 3500877.56,5872737.67
-01:47:02: 3500855.41,5872775.99
-01:47:02: 3500863.79,5872796.29
-01:47:02: 3500875.34,5872776.16
-01:47:02: 3500884.94,5872796.92
-01:47:02: 3500884.56,5872756.12
-01:47:02: 3500857.78,5872733.39
-01:47:02: 3500864.05,5872755.62
-01:47:02: 3500922.89,5872733.79
-01:47:02: 3500896.06,5872776.82
-01:47:02: 3500905.37,5872797.16
-01:47:02: 3500917.45,5872776.54
-01:47:02: 3500925.86,5872796.41
-01:47:02: 3500921.55,5872755.51
-01:47:02: 3500899.20,5872736.77
-01:47:02: 3500903.53,5872758.44
-01:47:02: 3500917.39,5872656.45
-01:47:02: 3500898.72,5872695.92
-01:47:02: 3500903.21,5872717.77
-01:47:02: 3500922.34,5872692.44
-01:47:02: 3500919.04,5872712.09
-01:47:02: 3500924.13,5872671.82
-01:47:02: 3500902.94,5872673.91
-01:47:02: 3500863.65,5872659.67
-01:47:02: 3500855.96,5872691.76
-01:47:02: 3500860.35,5872710.50
-01:47:02: 3500876.05,5872695.88
-01:47:02: 3500882.04,5872716.91
-01:47:02: 3500882.92,5872659.10
-01:47:02: 3500881.72,5872676.90
-01:47:02: 3500863.28,5872677.84
-01:47:02: 3500932.76,5872579.75
-01:47:02: 3500850.35,5872578.79
-01:47:02: 3500864.11,5872627.62
-01:47:02: 3500853.00,5872648.86
-01:47:02: 3500887.29,5872617.03
-01:47:02: 3500876.53,5872640.46
-01:47:02: 3500870.71,5872605.35
-01:47:02: 3500928.58,5872611.24
-01:47:02: 3500900.07,5872632.05
-01:47:02: 3500909.95,5872639.29
-01:47:02: 3500923.60,5872623.64
-01:47:02: 3500925.70,5872640.40
-01:47:02: 3500891.48,5872577.00
-01:47:02: 3500909.44,5872608.12
-01:47:02: 3500899.53,5872505.24
-01:47:02: 3500886.12,5872537.71
-01:47:02: 3500853.71,5872543.18
-01:47:02: 3500856.95,5872502.88
-01:47:02: 3500820.23,5872548.97
-01:47:02: 3500774.30,5872576.19
-01:47:02: 3500756.75,5872646.65
-01:47:02: 3500778.43,5872614.65
-01:47:02: 3500796.74,5872647.50
-01:47:02: 3500810.24,5872582.64
-01:47:02: 3500815.22,5872620.62
-01:47:02: 3500817.46,5872647.41
-01:47:02: 3500841.29,5872635.38
-01:47:02: 3500842.84,5872608.02
-01:47:02: 3500817.21,5872513.96
-01:47:02: 3500782.56,5872540.34
-01:47:02: 3501121.81,5872598.65
-01:47:02: 3501019.35,5872654.55
-01:47:02: 3500979.76,5872733.04
-01:47:02: 3500960.15,5872778.46
-01:47:02: 3500944.33,5872794.53
-01:47:02: 3500939.44,5872774.38
-01:47:02: 3500981.33,5872778.05
-01:47:02: 3500963.88,5872799.18
-01:47:02: 3500962.34,5872739.70
-01:47:02: 3500962.37,5872760.17
-01:47:02: 3500944.53,5872732.39
-01:47:02: 3500941.67,5872751.87
-01:47:02: 3501024.02,5872734.91
-01:47:02: 3501002.68,5872772.57
-01:47:02: 3500985.20,5872798.95
-01:47:02: 3501005.18,5872794.70
-01:47:02: 3501023.44,5872776.30
-01:47:02: 3501025.93,5872794.89
-01:47:02: 3501021.79,5872758.07
-01:47:02: 3500999.64,5872735.39
-01:47:02: 3500984.41,5872754.54
-01:47:02: 3501005.83,5872752.74
-01:47:02: 3501025.85,5872675.02
-01:47:02: 3501006.54,5872694.40
-01:47:02: 3500985.24,5872716.77
-01:47:02: 3501003.58,5872714.96
-01:47:02: 3501023.70,5872694.34
-01:47:02: 3501024.09,5872711.88
-01:47:02: 3500999.00,5872653.89
-01:47:02: 3500985.41,5872671.67
-01:47:02: 3501003.29,5872674.51
-01:47:02: 3500978.44,5872653.61
-01:47:02: 3500958.75,5872694.55
-01:47:02: 3500939.98,5872713.54
-01:47:02: 3500941.39,5872694.44
-01:47:02: 3500982.65,5872694.61
-01:47:02: 3500963.86,5872715.98
-01:47:02: 3500966.44,5872674.88
-01:47:02: 3500959.29,5872656.97
-01:47:02: 3500943.85,5872675.41
-01:47:02: 3500940.14,5872653.50
-01:47:02: 3501124.54,5872713.13
-01:47:02: 3501062.87,5872732.89
-01:47:02: 3501042.20,5872778.44
-01:47:02: 3501044.10,5872797.35
-01:47:02: 3501063.19,5872777.58
-01:47:02: 3501062.28,5872798.81
-01:47:02: 3501066.70,5872754.34
-01:47:02: 3501046.54,5872738.13
-01:47:02: 3501042.91,5872757.62
-01:47:02: 3501124.38,5872757.75
-01:47:02: 3501084.77,5872776.09
-01:47:02: 3501083.68,5872798.76
-01:47:02: 3501124.81,5872798.41
-01:47:02: 3501103.24,5872794.15
-01:47:02: 3501108.10,5872774.75
-01:47:02: 3501110.30,5872735.44
-01:47:02: 3501103.32,5872752.88
-01:47:02: 3501085.20,5872735.50
-01:47:02: 3501087.59,5872758.25
-01:47:02: 3501107.74,5872655.44
-01:47:02: 3501083.39,5872692.30
-01:47:02: 3501087.50,5872712.39
-01:47:02: 3501106.21,5872698.61
-01:47:02: 3501103.19,5872718.29
-01:47:02: 3501106.11,5872678.25
-01:47:02: 3501083.07,5872652.54
-01:47:02: 3501088.43,5872671.12
-01:47:02: 3501061.08,5872655.24
-01:47:02: 3501040.37,5872694.44
-01:47:02: 3501045.80,5872716.46
-01:47:02: 3501060.57,5872694.50
-01:47:02: 3501069.11,5872714.57
-01:47:02: 3501069.37,5872673.58
-01:47:02: 3501039.44,5872655.25
-01:47:02: 3501048.44,5872674.05
-01:47:03: 3501115.29,5872578.40
-01:47:03: 3501072.16,5872604.47
-01:47:03: 3501042.90,5872621.64
-01:47:03: 3501047.12,5872638.76
-01:47:03: 3501063.65,5872616.36
-01:47:03: 3501066.31,5872634.53
-01:47:03: 3501057.54,5872591.37
-01:47:03: 3501047.34,5872607.37
-01:47:03: 3501037.96,5872597.83
-01:47:03: 3501040.42,5872577.91
-01:47:03: 3501109.16,5872615.97
-01:47:03: 3501086.08,5872618.17
-01:47:03: 3501085.36,5872634.95
-01:47:03: 3501102.06,5872635.09
-01:47:03: 3501099.55,5872590.34
-01:47:03: 3501084.08,5872595.98
-01:47:03: 3501096.98,5872601.56
-01:47:03: 3501078.23,5872579.53
-01:47:03: 3501117.18,5872538.63
-01:47:03: 3501097.28,5872569.03
-01:47:03: 3501078.77,5872546.75
-01:47:03: 3501111.32,5872501.40
-01:47:03: 3501075.10,5872509.26
-01:47:03: 3501040.94,5872538.96
-01:47:03: 3501059.49,5872568.87
-01:47:03: 3501036.13,5872501.02
-01:47:03: 3501000.21,5872540.43
-01:47:03: 3500966.11,5872584.15
-01:47:03: 3500948.06,5872619.02
-01:47:03: 3500941.10,5872634.03
-01:47:03: 3500972.88,5872616.09
-01:47:03: 3500962.34,5872636.44
-01:47:03: 3501022.52,5872610.28
-01:47:03: 3500997.70,5872613.19
-01:47:03: 3500985.70,5872633.81
-01:47:03: 3501006.78,5872634.11
-01:47:03: 3501028.24,5872636.30
-01:47:03: 3501019.38,5872620.14
-01:47:03: 3501018.89,5872590.18
-01:47:03: 3500996.17,5872597.86
-01:47:03: 3501002.82,5872504.66
-01:47:03: 3500993.51,5872570.39
-01:47:03: 3501021.62,5872568.54
-01:47:03: 3500960.32,5872544.50
-01:47:03: 3500969.85,5872510.23
-01:47:03: 3500938.44,5872507.21
-01:47:03: 3501124.90,5872469.44
-01:47:03: 3501010.66,5872468.95
-01:47:03: 3500967.61,5872469.72
-01:47:03: 3500960.00,5872426.24
-01:47:03: 3500995.84,5872432.90
-01:47:03: 3501011.33,5872393.41
-01:47:03: 3501000.95,5872353.37
-01:47:03: 3500974.22,5872393.15
-01:47:03: 3500961.63,5872360.89
-01:47:03: 3501086.22,5872469.19
-01:47:03: 3501050.00,5872468.05
-01:47:03: 3501075.11,5872428.77
-01:47:03: 3501033.83,5872432.08
-01:47:03: 3501110.97,5872436.38
-01:47:03: 3501113.65,5872397.35
-01:47:03: 3501119.99,5872353.74
-01:47:03: 3501084.17,5872361.10
-01:47:03: 3501074.74,5872389.75
-01:47:03: 3501045.74,5872398.81
-01:47:03: 3501043.45,5872359.11
-01:47:03: 3501115.81,5872311.04
-01:47:03: 3501041.63,5872319.47
-01:47:03: 3501074.73,5872285.20
-01:47:03: 3501033.93,5872280.15
-01:47:03: 3501079.03,5872326.51
-01:47:03: 3501111.12,5872275.51
-01:47:03: 3501124.82,5872244.39
-01:47:03: 3501086.06,5872243.80
-01:47:03: 3501109.72,5872211.91
-01:47:03: 3501048.90,5872244.38
-01:47:03: 3501074.92,5872202.83
-01:47:03: 3501036.06,5872212.33
-01:47:03: 3501008.37,5872314.87
-01:47:03: 3500969.06,5872322.43
-01:47:03: 3500963.12,5872278.45
-01:47:03: 3500997.83,5872285.43
-01:47:03: 3501003.58,5872244.52
-01:47:03: 3501007.92,5872201.54
-01:47:03: 3500961.78,5872238.88
-01:47:03: 3500973.90,5872206.31
-01:47:03: 3500923.76,5872475.45
-01:47:03: 3500816.62,5872479.09
-01:47:03: 3500779.10,5872499.54
-01:47:03: 3500779.96,5872459.99
-01:47:03: 3500815.38,5872439.43
-01:47:03: 3500813.62,5872399.18
-01:47:03: 3500821.37,5872362.92
-01:47:03: 3500777.95,5872422.73
-01:47:03: 3500773.13,5872387.98
-01:47:03: 3500786.31,5872356.18
-01:47:03: 3500928.16,5872438.87
-01:47:03: 3500886.82,5872466.21
-01:47:03: 3500848.88,5872463.97
-01:47:03: 3500855.02,5872427.59
-01:47:03: 3500896.12,5872428.30
-01:47:03: 3500928.40,5872393.15
-01:47:03: 3500887.33,5872398.52
-01:47:03: 3500888.67,5872359.68
-01:47:03: 3500851.89,5872386.38
-01:47:03: 3500929.24,5872349.43
-01:47:03: 3500890.00,5872290.11
-01:47:03: 3500850.64,5872349.88
-01:47:03: 3500856.65,5872314.33
-01:47:03: 3500930.28,5872310.92
-01:47:03: 3500895.97,5872324.49
-01:47:03: 3500924.45,5872276.70
-01:47:03: 3500928.54,5872243.07
-01:47:03: 3500931.49,5872202.39
-01:47:03: 3500892.61,5872214.33
-01:47:03: 3500889.81,5872250.70
-01:47:03: 3500852.39,5872272.75
-01:47:03: 3500853.62,5872235.57
-01:47:03: 3500815.42,5872326.63
-01:47:03: 3500776.58,5872315.36
-01:47:03: 3500816.70,5872289.28
-01:47:03: 3500816.74,5872251.90
-01:47:03: 3500815.84,5872214.07
-01:47:03: 3500778.79,5872273.93
-01:47:03: 3500778.32,5872235.27
-01:47:03: 3501268.36,5872651.95
-01:47:03: 3501273.15,5872673.37
-01:47:03: 3501206.84,5872652.17
-01:47:03: 3501167.57,5872735.36
-01:47:03: 3501147.20,5872772.03
-01:47:03: 3501128.97,5872779.53
-01:47:03: 3501167.38,5872776.57
-01:47:03: 3501148.91,5872795.04
-01:47:03: 3501171.45,5872796.38
-01:47:03: 3501165.70,5872754.56
-01:47:03: 3501150.83,5872735.34
-01:47:03: 3501144.10,5872753.21
-01:47:03: 3501130.40,5872735.15
-01:47:03: 3501205.11,5872732.35
-01:47:03: 3501189.78,5872777.25
-01:47:03: 3501190.31,5872799.48
-01:47:03: 3501213.01,5872776.02
-01:47:03: 3501205.77,5872793.33
-01:47:03: 3501206.44,5872754.65
-01:47:03: 3501186.51,5872737.79
-01:47:03: 3501185.49,5872758.31
-01:47:03: 3501212.00,5872673.73
-01:47:03: 3501189.91,5872696.99
-01:47:03: 3501187.52,5872714.94
-01:47:03: 3501206.30,5872691.87
-01:47:03: 3501210.65,5872712.82
-01:47:03: 3501183.73,5872653.67
-01:47:03: 3501189.75,5872675.30
-01:47:03: 3501163.20,5872653.46
-01:47:03: 3501144.34,5872696.90
-01:47:03: 3501146.94,5872714.93
-01:47:03: 3501126.51,5872689.86
-01:47:03: 3501167.28,5872694.24
-01:47:03: 3501167.71,5872718.18
-01:47:03: 3501169.69,5872671.83
-01:47:03: 3501149.03,5872676.32
-01:47:03: 3501144.43,5872656.58
-01:47:03: 3501126.33,5872670.15
-01:47:03: 3501128.73,5872650.84
-01:47:03: 3501270.19,5872694.10
-01:47:03: 3501244.83,5872735.84
-01:47:03: 3501233.49,5872775.89
-01:47:03: 3501223.68,5872796.70
-01:47:03: 3501252.38,5872778.98
-01:47:03: 3501247.19,5872799.54
-01:47:03: 3501251.37,5872756.84
-01:47:03: 3501224.29,5872735.89
-01:47:03: 3501228.82,5872755.92
-01:47:03: 3501268.13,5872734.01
-01:47:03: 3501269.92,5872776.05
-01:47:03: 3501269.96,5872796.88
-01:47:03: 3501287.77,5872773.87
-01:47:03: 3501292.04,5872794.99
-01:47:03: 3501309.00,5872778.76
-01:47:03: 3501290.72,5872735.69
-01:47:03: 3501294.92,5872755.97
-01:47:03: 3501273.90,5872755.56
-01:47:03: 3501267.86,5872712.83
-01:47:03: 3501289.02,5872713.12
-01:47:03: 3501246.92,5872651.20
-01:47:03: 3501229.01,5872694.63
-01:47:03: 3501231.16,5872717.20
-01:47:03: 3501251.37,5872696.43
-01:47:03: 3501249.43,5872715.24
-01:47:03: 3501249.95,5872674.10
-01:47:03: 3501228.69,5872657.13
-01:47:03: 3501229.44,5872674.50
-01:47:03: 3501249.38,5872633.13
-01:47:03: 3501249.74,5872614.46
-01:47:03: 3501228.59,5872638.46
-01:47:03: 3501227.10,5872617.03
-01:47:03: 3501253.84,5872596.37
-01:47:03: 3501245.91,5872584.12
-01:47:03: 3501233.91,5872598.50
-01:47:03: 3501221.09,5872587.02
-01:47:03: 3501229.17,5872566.01
-01:47:03: 3501235.75,5872537.12
-01:47:03: 3501221.53,5872504.89
-01:47:03: 3501208.92,5872628.63
-01:47:03: 3501168.87,5872632.40
-01:47:03: 3501145.49,5872636.07
-01:47:03: 3501130.61,5872615.00
-01:47:03: 3501149.72,5872617.40
-01:47:03: 3501166.18,5872610.15
-01:47:03: 3501171.45,5872592.84
-01:47:03: 3501154.94,5872577.85
-01:47:03: 3501146.63,5872595.74
-01:47:03: 3501215.25,5872598.93
-01:47:03: 3501190.90,5872636.44
-01:47:03: 3501186.70,5872618.93
-01:47:03: 3501204.96,5872609.52
-01:47:03: 3501196.27,5872589.93
-01:47:03: 3501185.64,5872601.20
-01:47:03: 3501200.73,5872573.39
-01:47:03: 3501175.15,5872570.49
-01:47:03: 3501198.38,5872544.26
-01:47:03: 3501185.98,5872511.14
-01:47:03: 3501157.49,5872542.35
-01:47:03: 3501134.63,5872572.55
-01:47:03: 3501149.75,5872502.63
-01:47:03: 3501313.28,5872798.83
-01:47:03: 3501190.54,5872476.55
-01:47:03: 3501158.30,5872464.89
-01:47:03: 3501146.03,5872431.03
-01:47:03: 3501188.70,5872434.92
-01:47:03: 3501191.42,5872395.80
-01:47:03: 3501197.21,5872360.71
-01:47:03: 3501153.26,5872393.92
-01:47:03: 3501161.53,5872356.63
-01:47:03: 3501228.07,5872468.26
-01:47:03: 3501149.64,5872322.94
-01:47:03: 3501151.77,5872285.31
-01:47:03: 3501186.94,5872320.54
-01:47:03: 3501161.56,5872244.95
-01:47:03: 3501145.72,5872206.68
-01:47:03: 3500854.22,5872197.56
-01:47:03: 3500927.33,5872161.12
-01:47:03: 3500816.58,5872175.26
-01:47:03: 3500778.68,5872198.44
-01:47:03: 3500779.77,5872160.21
-01:47:03: 3500778.74,5872129.13
-01:47:03: 3500815.96,5872127.14
-01:47:03: 3500815.54,5872069.75
-01:47:03: 3500778.23,5872088.68
-01:47:03: 3500891.58,5872175.92
-01:47:03: 3500853.63,5872160.36
-01:47:03: 3500853.43,5872129.54
-01:47:03: 3500928.83,5872130.70
-01:47:03: 3500891.12,5872129.13
-01:47:03: 3500931.36,5872094.45
-01:47:03: 3500889.75,5872079.02
-01:47:03: 3500852.79,5872090.85
-01:47:03: 3500920.49,5872045.31
-01:47:03: 3500854.99,5872024.70
-01:47:03: 3500905.33,5871992.51
-01:47:03: 3500922.91,5871936.17
-01:47:03: 3500777.28,5872008.56
-01:47:03: 3500840.99,5871944.30
-01:47:03: 3500768.58,5871929.93
-01:47:03: 3501114.99,5872177.32
-01:47:03: 3501000.39,5872163.85
-01:47:03: 3500961.83,5872173.37
-01:47:03: 3500964.61,5872134.63
-01:47:03: 3501003.83,5872123.68
-01:47:03: 3501004.68,5872085.01
-01:47:03: 3501003.75,5872053.96
-01:47:03: 3500970.68,5872097.71
-01:47:03: 3500966.41,5872054.34
-01:47:03: 3501078.10,5872161.09
-01:47:03: 3501041.10,5872176.30
-01:47:03: 3501041.03,5872139.33
-01:47:03: 3501117.52,5872138.91
-01:47:03: 3501078.55,5872122.63
-01:47:03: 3501116.03,5872100.44
-01:47:03: 3501078.56,5872085.16
-01:47:03: 3501078.32,5872054.46
-01:47:03: 3501041.31,5872100.06
-01:47:03: 3501040.97,5872051.99
-01:47:03: 3501077.72,5872015.58
-01:47:03: 3501040.56,5871994.57
-01:47:03: 3501079.95,5871949.46
-01:47:03: 3501003.24,5872013.49
-01:47:03: 3500961.04,5871998.43
-01:47:03: 3501002.28,5871933.36
-01:47:03: 3500993.59,5871854.72
-01:47:03: 3501009.73,5871783.70
-01:47:03: 3500995.69,5871708.12
-01:47:03: 3500861.08,5871875.95
-01:47:03: 3500793.26,5871863.77
-01:47:03: 3500762.15,5871794.93
-01:47:03: 3500928.45,5871864.52
-01:47:03: 3500926.18,5871790.29
-01:47:03: 3500847.80,5871798.46
-01:47:03: 3500855.74,5871717.74
-01:47:03: 3500927.97,5871716.56
-01:47:03: 3500788.08,5871729.94
-01:47:03: 3500746.73,5872548.92
-01:47:03: 3500741.50,5872515.34
-01:47:03: 3500554.52,5872536.05
-01:47:03: 3500553.66,5872655.76
-01:47:03: 3500514.07,5872737.50
-01:47:03: 3500557.26,5872742.45
-01:47:03: 3500523.52,5872766.56
-01:47:03: 3500547.05,5872758.16
-01:47:03: 3500550.10,5872691.87
-01:47:03: 3500542.43,5872723.04
-01:47:03: 3500520.03,5872661.30
-01:47:03: 3500510.78,5872695.85
-01:47:03: 3500557.04,5872578.11
-01:47:03: 3500512.85,5872622.81
-01:47:03: 3500553.08,5872618.96
-01:47:03: 3500521.05,5872586.92
-01:47:03: 3500521.06,5872511.64
-01:47:03: 3500512.49,5872548.24
-01:47:03: 3500740.71,5872581.44
-01:47:03: 3500625.25,5872653.51
-01:47:03: 3500594.12,5872741.34
-01:47:03: 3500570.58,5872749.75
-01:47:03: 3500617.65,5872732.94
-01:47:03: 3500652.04,5872779.45
-01:47:03: 3500639.07,5872740.47
-01:47:03: 3500653.76,5872759.24
-01:47:03: 3500613.07,5872743.49
-01:47:03: 3500631.11,5872753.51
-01:47:03: 3500644.85,5872684.21
-01:47:03: 3500622.57,5872708.21
-01:47:03: 3500647.70,5872706.55
-01:47:03: 3500641.19,5872724.53
-01:47:03: 3500617.00,5872682.26
-01:47:03: 3500589.07,5872654.43
-01:47:03: 3500572.74,5872723.89
-01:47:03: 3500586.97,5872692.10
-01:47:03: 3500596.78,5872722.05
-01:47:03: 3500703.36,5872658.44
-01:47:03: 3500697.32,5872737.95
-01:47:03: 3500673.33,5872774.86
-01:47:03: 3500679.06,5872796.81
-01:47:03: 3500692.57,5872778.51
-01:47:03: 3500698.80,5872794.78
-01:47:03: 3500694.37,5872758.01
-01:47:03: 3500657.48,5872737.33
-01:47:03: 3500673.09,5872754.41
-01:47:03: 3500676.93,5872736.94
-01:47:03: 3500732.62,5872736.91
-01:47:03: 3500711.90,5872776.04
-01:47:03: 3500718.17,5872798.99
-01:47:03: 3500731.92,5872776.60
-01:47:03: 3500740.66,5872797.00
-01:47:03: 3500740.88,5872756.05
-01:47:03: 3500714.23,5872734.19
-01:47:03: 3500717.99,5872754.77
-01:47:03: 3500736.14,5872669.34
-01:47:03: 3500711.79,5872699.31
-01:47:03: 3500720.38,5872716.36
-01:47:03: 3500735.33,5872690.90
-01:47:03: 3500740.00,5872720.23
-01:47:03: 3500735.93,5872703.47
-01:47:03: 3500712.63,5872682.28
-01:47:03: 3500665.69,5872652.65
-01:47:03: 3500666.67,5872691.00
-01:47:03: 3500666.91,5872707.30
-01:47:03: 3500664.72,5872716.12
-01:47:03: 3500688.26,5872707.71
-01:47:03: 3500682.40,5872721.75
-01:47:03: 3500700.68,5872718.41
-01:47:03: 3500687.42,5872683.86
-01:47:03: 3500737.44,5872615.10
-01:47:03: 3500697.67,5872619.98
-01:47:03: 3500661.45,5872614.15
-01:47:03: 3500665.40,5872581.10
-01:47:03: 3500703.43,5872581.99
-01:47:03: 3500729.43,5872643.94
-01:47:03: 3500711.01,5872543.86
-01:47:03: 3500700.87,5872502.87
-01:47:03: 3500674.94,5872544.30
-01:47:03: 3500662.87,5872511.75
-01:47:03: 3500636.71,5872544.82
-01:47:03: 3500595.33,5872586.04
-01:47:03: 3500590.02,5872618.88
-01:47:03: 3500627.80,5872580.06
-01:47:03: 3500628.60,5872619.05
-01:47:03: 3500625.04,5872504.51
-01:47:03: 3500595.65,5872548.26
-01:47:03: 3500585.02,5872512.61
-01:47:03: 3500740.12,5872477.95
-01:47:03: 3500633.41,5872464.78
-01:47:03: 3500594.14,5872472.82
-01:47:03: 3500586.26,5872435.47
-01:47:03: 3500621.32,5872431.77
-01:47:03: 3500629.55,5872394.19
-01:47:03: 3500631.67,5872354.02
-01:47:03: 3500591.61,5872401.83
-01:47:03: 3500591.30,5872363.83
-01:47:03: 3500741.41,5872438.62
-01:47:03: 3500702.79,5872461.27
-01:47:03: 3500667.06,5872476.86
-01:47:03: 3500663.34,5872434.95
-01:47:03: 3500738.26,5872397.28
-01:47:03: 3500703.37,5872424.36
-01:47:03: 3500703.49,5872394.22
-01:47:03: 3500744.17,5872353.91
-01:47:03: 3500704.88,5872362.83
-01:47:03: 3500667.89,5872391.45
-01:47:03: 3500671.33,5872351.55
-01:47:03: 3500740.91,5872319.59
-01:47:03: 3500658.64,5872318.54
-01:47:03: 3500671.37,5872286.53
-01:47:03: 3500741.22,5872288.53
-01:47:03: 3500703.30,5872319.13
-01:47:03: 3500741.27,5872251.42
-01:47:03: 3500704.23,5872274.00
-01:47:03: 3500739.28,5872210.16
-01:47:03: 3500703.76,5872205.92
-01:47:03: 3500703.07,5872236.08
-01:47:03: 3500665.88,5872250.36
-01:47:03: 3500666.09,5872204.34
-01:47:03: 3500623.55,5872313.96
-01:47:03: 3500590.65,5872327.99
-01:47:03: 3500592.06,5872288.78
-01:47:03: 3500631.62,5872277.10
-01:47:03: 3500628.41,5872236.08
-01:47:03: 3500628.42,5872204.88
-01:47:03: 3500591.72,5872250.62
-01:47:03: 3500590.94,5872202.42
-01:47:03: 3500552.66,5872496.27
-01:47:03: 3500552.76,5872460.53
-01:47:03: 3500513.01,5872471.98
-01:47:03: 3500516.07,5872432.57
-01:47:03: 3500553.45,5872423.76
-01:47:03: 3500523.29,5872394.52
-01:47:03: 3500558.79,5872388.63
-01:47:03: 3500550.62,5872352.44
-01:47:03: 3500511.11,5872362.02
-01:47:03: 3500553.05,5872311.19
-01:47:03: 3500514.04,5872285.62
-01:47:03: 3500516.25,5872326.35
-01:47:03: 3500553.70,5872273.28
-01:47:03: 3500520.54,5872248.16
-01:47:03: 3500554.69,5872235.29
-01:47:03: 3500553.69,5872204.37
-01:47:03: 3500516.18,5872204.69
-01:47:03: 3500481.36,5872244.86
-01:47:03: 3500745.65,5872172.94
-01:47:03: 3500552.45,5872083.72
-01:47:03: 3500397.99,5872087.39
-01:47:03: 3500396.78,5872167.26
-01:47:03: 3500455.14,5872143.54
-01:47:03: 3500553.23,5872163.90
-01:47:03: 3500510.96,5872149.13
-01:47:03: 3500469.87,5872195.85
-01:47:03: 3500472.20,5872085.07
-01:47:03: 3500543.58,5872005.13
-01:47:03: 3500477.48,5872015.71
-01:47:03: 3500560.21,5871934.17
-01:47:03: 3500488.57,5871951.37
-01:47:03: 3500402.48,5872016.05
-01:47:03: 3500411.44,5871936.00
-01:47:03: 3500706.36,5872169.66
-01:47:03: 3500629.99,5872099.90
-01:47:03: 3500590.54,5872144.97
-01:47:03: 3500627.78,5872166.07
-01:47:03: 3500741.40,5872129.51
-01:47:03: 3500664.75,5872154.22
-01:47:03: 3500736.04,5872073.62
-01:47:03: 3500695.48,5872120.52
-01:47:03: 3500680.32,5872067.71
-01:47:03: 3500697.90,5872011.37
-01:47:03: 3500703.18,5871939.50
-01:47:03: 3500615.99,5872019.51
-01:47:03: 3500636.02,5871950.86
-01:47:03: 3500708.26,5871858.66
-01:47:03: 3500623.89,5871873.10
-01:47:03: 3500637.94,5871805.31
-01:47:03: 3500689.98,5871777.60
-01:47:03: 3500712.05,5871710.13
-01:47:03: 3500621.23,5871727.03
-01:47:03: 3500640.64,5871658.27
-01:47:03: 3500545.81,5871858.97
-01:47:03: 3500392.05,5871856.69
-01:47:03: 3500409.63,5871797.55
-01:47:03: 3500470.74,5871877.22
-01:47:03: 3500562.22,5871786.24
-01:47:03: 3500480.84,5871795.79
-01:47:03: 3500546.42,5871710.56
-01:47:03: 3500478.48,5871721.86
-01:47:03: 3500328.59,5872089.91
-01:47:03: 3500325.72,5872016.30
-01:47:03: ->Auswertung der Kommandozeilen-Parameter gestartet
-01:47:03:   Parameterdatei: 'test_daten\test.par'
-01:47:03:   ->Laden der Parameterdatei 'test_daten\test.par' gestartet
-01:47:03:   <-Laden der Parameterdatei 'test_daten\test.par' beendet
-01:47:03:   DGM-Datei: 'egal.shp'
-01:47:03:   Profillagen-Datei: 'egal.shp'
-01:47:03:   WSP-Datei: 'egal.shp'
-01:47:03:   Gewässerachse: 'egal.shp'
-01:47:03:   Bruch- und Sperr-Datei: 'egal.shp'
-01:47:03:   Gelände wirkt als Sperre
-01:47:03:   Delta: Von = 0.00 Bis = 1.00 Diff = 0.23
-01:47:03:   Ausgabe-Datei: 'egal.shp'
-01:47:03: <-Auswertung der Kommandozeilen-Parameter beendet
-01:47:03: ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' gestartet
-01:47:03:   ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN gestartet
-01:47:03:     ->Laden der Knoten gestartet
-01:47:03:       118 Werten gelesen, 114 von 114 Knoten im Speicher
-01:47:03:     <-Laden der Knoten beendet
-01:47:03:     ->Laden der Elemente gestartet
-01:47:03:       230 Werte geladen, 218 von 230 Elementen im Speicher
-01:47:03:     <-Laden der Elemente beendet
-01:47:03:   <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN beendet
-01:47:03:   ->Suche nach doppelten Knoten gestartet
-01:47:03:     114 Knoten und 218 Elemente vorhanden
-01:47:03:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:03:   <-Suche nach doppelten Knoten beendet
-01:47:03: <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' beendet
-01:47:03: ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' gestartet
-01:47:03:   ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN gestartet
-01:47:03:     ->Laden der Knoten gestartet
-01:47:03:       118 Werten gelesen, 52 von 52 Knoten im Speicher
-01:47:03:     <-Laden der Knoten beendet
-01:47:03:     ->Laden der Elemente gestartet
-01:47:03:       230 Werte geladen, 72 von 230 Elementen im Speicher
-01:47:03:     <-Laden der Elemente beendet
-01:47:03:   <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN beendet
-01:47:03:   ->Suche nach doppelten Knoten gestartet
-01:47:03:     52 Knoten und 72 Elemente vorhanden
-01:47:03:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:03:   <-Suche nach doppelten Knoten beendet
-01:47:03: <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' beendet
-01:47:03: ->Laden des DGM in Datei 'test_daten/dgm.grd' gestartet
-01:47:03:   ->Laden des DGM in Datei 'test_daten/dgm.grd' als GRD gestartet
-01:47:03:     10000 von 71250 Werten gelesen, 0 von 0 Knoten im Speicher
-01:47:03:     20000 von 71250 Werten gelesen, 5130 von 5130 Knoten im Speicher
-01:47:03:     30000 von 71250 Werten gelesen, 11135 von 11135 Knoten im Speicher
-01:47:03:     40000 von 71250 Werten gelesen, 17145 von 17145 Knoten im Speicher
-01:47:03:     50000 von 71250 Werten gelesen, 23155 von 23155 Knoten im Speicher
-01:47:03:     60000 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
-01:47:03:     70000 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
-01:47:03:     71250 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
-01:47:03:   <-Laden des DGM in Datei 'test_daten/dgm.grd' als GRD beendet
-01:47:03:   ->Suche nach doppelten Knoten gestartet
-01:47:03:     24624 Knoten und keine Elemente vorhanden
-01:47:03:     10000 von 24624 Knoten, 0 Knoten gelöscht
-01:47:03:     20000 von 24624 Knoten, 0 Knoten gelöscht
-01:47:03:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:03:   <-Suche nach doppelten Knoten beendet
-01:47:03: <-Laden des DGM in Datei 'test_daten/dgm.grd' beendet
-01:47:03: ->Laden des DGM in Datei 'test_daten/dgm.xyz' gestartet
-01:47:03:   ->Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ gestartet
-01:47:03:     10 Werte gelesen, 10 von 10 Knoten im Speicher
-01:47:03:   <-Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ beendet
-01:47:03:   ->Suche nach doppelten Knoten gestartet
-01:47:03:     10 Knoten und keine Elemente vorhanden
-01:47:03:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:03:   <-Suche nach doppelten Knoten beendet
-01:47:03: <-Laden des DGM in Datei 'test_daten/dgm.xyz' beendet
-01:47:03: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
-01:47:03:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
-01:47:03:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
-01:47:03:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
-01:47:03:   ->Suche nach doppelten Knoten gestartet
-01:47:03:     1126 Knoten und keine Elemente vorhanden
-01:47:03:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:03:   <-Suche nach doppelten Knoten beendet
-01:47:03: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
-01:47:03: ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' gestartet
-01:47:03:   ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ gestartet
-01:47:03:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
-01:47:03:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
-01:47:03:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
-01:47:04:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
-01:47:04:     43332 Werte gelesen, 43332 von 43332 Knoten im Speicher
-01:47:04:   <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ beendet
-01:47:04:   ->Suche nach doppelten Knoten gestartet
-01:47:04:     43332 Knoten und keine Elemente vorhanden
-01:47:04:     10000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:04:     20000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:04:     30000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:04:     40000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:04:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:04:   <-Suche nach doppelten Knoten beendet
-01:47:04: <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' beendet
-01:47:04: ->Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' gestartet
-01:47:04:   ->Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' als XYZ gestartet
-01:47:04:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
-01:47:04:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
-01:47:04:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
-01:47:04:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
-01:47:05:     50000 Werte gelesen, 49999 von 49999 Knoten im Speicher
-01:47:05:     60000 Werte gelesen, 59999 von 59999 Knoten im Speicher
-01:47:05:     70000 Werte gelesen, 69999 von 69999 Knoten im Speicher
-01:47:05:     80000 Werte gelesen, 79999 von 79999 Knoten im Speicher
-01:47:05:     90000 Werte gelesen, 89999 von 89999 Knoten im Speicher
-01:47:05:     98636 Werte gelesen, 98636 von 98636 Knoten im Speicher
-01:47:05:   <-Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' als XYZ beendet
-01:47:05:   ->Suche nach doppelten Knoten gestartet
-01:47:05:     98636 Knoten und keine Elemente vorhanden
-01:47:06:     10000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     20000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     30000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     40000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     50000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     60000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     70000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     80000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     90000 von 98636 Knoten, 0 Knoten gelöscht
-01:47:06:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:06:   <-Suche nach doppelten Knoten beendet
-01:47:06: <-Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' beendet
-01:47:06: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
-01:47:06:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
-01:47:06:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
-01:47:06:       Projektionsdatei 'test_daten/dgm.PRJ' konnte nicht geöffnet werden
-01:47:06:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
-01:47:06:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
-01:47:06:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
-01:47:06:   ->Suche nach doppelten Knoten gestartet
-01:47:06:     114 Knoten und keine Elemente vorhanden
-01:47:06:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:06:   <-Suche nach doppelten Knoten beendet
-01:47:06: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
-01:47:06: ->Laden des DGM in Datei 'test_daten/dgm2.shp' gestartet
-01:47:06:   ->Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP gestartet
-01:47:06:     ->Laden der Projektionsdatei zu 'test_daten/dgm2.shp' gestartet
-01:47:06:       Projektionsdatei 'test_daten/dgm2.PRJ' konnte nicht geöffnet werden
-01:47:06:     <-Laden der Projektionsdatei zu 'test_daten/dgm2.shp' beendet
-01:47:06:     10000 von 156249 Objekten gelesen, 9247 von 9247 Knoten im Speicher
-01:47:06:     20000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
-01:47:06:     30000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
-01:47:07:     40000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
-01:47:07:     50000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
-01:47:07:     60000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
-01:47:07:     70000 von 156249 Objekten gelesen, 12088 von 12088 Knoten im Speicher
-01:47:07:     80000 von 156249 Objekten gelesen, 13793 von 13793 Knoten im Speicher
-01:47:07:     90000 von 156249 Objekten gelesen, 15747 von 15747 Knoten im Speicher
-01:47:07:     100000 von 156249 Objekten gelesen, 17727 von 17727 Knoten im Speicher
-01:47:08:     110000 von 156249 Objekten gelesen, 19707 von 19707 Knoten im Speicher
-01:47:08:     120000 von 156249 Objekten gelesen, 21687 von 21687 Knoten im Speicher
-01:47:08:     130000 von 156249 Objekten gelesen, 23667 von 23667 Knoten im Speicher
-01:47:08:     140000 von 156249 Objekten gelesen, 25482 von 25482 Knoten im Speicher
-01:47:08:     150000 von 156249 Objekten gelesen, 27462 von 27462 Knoten im Speicher
-01:47:08:     156249 von 156249 Objekten gelesen, 28287 von 28287 Knoten im Speicher
-01:47:08:   <-Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP beendet
-01:47:08:   ->Suche nach doppelten Knoten gestartet
-01:47:08:     28287 Knoten und keine Elemente vorhanden
-01:47:08:     10000 von 28287 Knoten, 0 Knoten gelöscht
-01:47:08:     20000 von 28287 Knoten, 0 Knoten gelöscht
-01:47:08:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:08:   <-Suche nach doppelten Knoten beendet
-01:47:08: <-Laden des DGM in Datei 'test_daten/dgm2.shp' beendet
-01:47:08: ->Laden des DGM in Datei 'test_daten/dgm.2dm' gestartet
-01:47:08:   ->Laden des DGM in Datei 'test_daten/dgm.2dm' als 2DM gestartet
-01:47:08:     2225 Elemente und 1126 Knoten geladen
-01:47:08:     1126 Knoten insgesamt
-01:47:08:   <-Laden des DGM in Datei 'test_daten/dgm.2dm' als 2DM beendet
-01:47:08:   ->Suche nach doppelten Knoten gestartet
-01:47:08:     1126 Knoten und 2225 Elemente vorhanden
-01:47:08:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:08:   <-Suche nach doppelten Knoten beendet
-01:47:08: <-Laden des DGM in Datei 'test_daten/dgm.2dm' beendet
-01:47:08: ->Laden der Profilspuren gestartet
-01:47:08:   ->Laden der Projektionsdatei zu 'test_daten/profile.shp' gestartet
-01:47:08:     Projektionsdatei 'test_daten/profile.PRJ' konnte nicht geöffnet werden
-01:47:08:   <-Laden der Projektionsdatei zu 'test_daten/profile.shp' beendet
-01:47:08:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
-01:47:08:   8 von 8 Objekten geladen, 8 Profilspuren im Speicher
-01:47:08: <-Laden der Profilspuren beendet
-01:47:08: ->Ausrichten der Profilspuren gestartet
-01:47:08:   8 von 8 Profilspuren ausgerichtet, 3 gedreht
-01:47:08: <-Ausrichten der Profilspuren beendet
-01:47:08: ->Laden der Profilspuren gestartet
-01:47:08:   ->Laden der Projektionsdatei zu 'test_daten/profilez.shp' gestartet
-01:47:08:     Projektionsdatei 'test_daten/profilez.PRJ' konnte nicht geöffnet werden
-01:47:08:   <-Laden der Projektionsdatei zu 'test_daten/profilez.shp' beendet
-01:47:08:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
-01:47:09:   5 von 5 Objekten geladen, 5 Profilspuren im Speicher
-01:47:09: <-Laden der Profilspuren beendet
-01:47:09: ->Ausrichten der Profilspuren gestartet
-01:47:09:   5 von 5 Profilspuren ausgerichtet, 0 gedreht
-01:47:09: <-Ausrichten der Profilspuren beendet
-01:47:09: ->Laden der Linien Strukturen (Sperren, Gräben und Rohre) gestartet
-01:47:09:   ->Laden der Projektionsdatei zu 'test_daten/linien.shp' gestartet
-01:47:09:     Projektionsdatei 'test_daten/linien.PRJ' konnte nicht geöffnet werden
-01:47:09:   <-Laden der Projektionsdatei zu 'test_daten/linien.shp' beendet
-Warnung (9999)
-Der Typ 'Bruch' wurde in der Datei 'test_daten/linien.DBF' benutzt.
-Er wird nur noch ubergangweise unterstützt.
-Bitte ändern sie ihn in 'GRABEN'.
-Warnung (9999)
-Warnung (9999)
-Der Typ 'Bruch' wurde in der Datei 'test_daten/linien.DBF' benutzt.
-Er wird nur noch ubergangweise unterstützt.
-Bitte ändern sie ihn in 'GRABEN'.
-Warnung (9999)
-Warnung (9999)
-Der Typ 'Bruch' wurde in der Datei 'test_daten/linien.DBF' benutzt.
-Er wird nur noch ubergangweise unterstützt.
-Bitte ändern sie ihn in 'GRABEN'.
-Warnung (9999)
-Warnung (9999)
-Der Typ 'Bruch' wurde in der Datei 'test_daten/linien.DBF' benutzt.
-Er wird nur noch ubergangweise unterstützt.
-Bitte ändern sie ihn in 'GRABEN'.
-Warnung (9999)
-01:47:09:   9 von 9 Liniensstrukturen geladen, 5 Sperren, 4 Gräben, 0 Rohre
-01:47:09: <-Laden der Linien Strukturen (Sperren, Gräben und Rohre) beendet
-01:47:09: ->Laden der Wasserstände gestartet
-01:47:09:   ->Laden der Wasserstände im ASCII-Format gestartet
-01:47:09:     100 Zeilen geladen, 99 Wasserstände im Speicher
-01:47:09:     200 Zeilen geladen, 199 Wasserstände im Speicher
-01:47:09:     300 Zeilen geladen, 299 Wasserstände im Speicher
-01:47:09:     400 Zeilen geladen, 399 Wasserstände im Speicher
-01:47:09:     500 Zeilen geladen, 499 Wasserstände im Speicher
-01:47:09:     600 Zeilen geladen, 599 Wasserstände im Speicher
-01:47:09:     700 Zeilen geladen, 699 Wasserstände im Speicher
-01:47:09:     800 Zeilen geladen, 799 Wasserstände im Speicher
-01:47:09:     900 Zeilen geladen, 899 Wasserstände im Speicher
-01:47:09:     1000 Zeilen geladen, 999 Wasserstände im Speicher
-01:47:09:     1100 Zeilen geladen, 1099 Wasserstände im Speicher
-01:47:09:     1200 Zeilen geladen, 1199 Wasserstände im Speicher
-01:47:09:     1300 Zeilen geladen, 1299 Wasserstände im Speicher
-01:47:09:     1400 Zeilen geladen, 1399 Wasserstände im Speicher
-01:47:09:     1500 Zeilen geladen, 1499 Wasserstände im Speicher
-01:47:09:     1600 Zeilen geladen, 1599 Wasserstände im Speicher
-01:47:09:     1700 Zeilen geladen, 1699 Wasserstände im Speicher
-01:47:09:     1800 Zeilen geladen, 1799 Wasserstände im Speicher
-01:47:09:     1900 Zeilen geladen, 1899 Wasserstände im Speicher
-01:47:09:     2000 Zeilen geladen, 1999 Wasserstände im Speicher
-01:47:09:     2100 Zeilen geladen, 2099 Wasserstände im Speicher
-01:47:09:     2200 Zeilen geladen, 2199 Wasserstände im Speicher
-01:47:09:     2300 Zeilen geladen, 2299 Wasserstände im Speicher
-01:47:09:     2400 Zeilen geladen, 2399 Wasserstände im Speicher
-01:47:09:     2500 Zeilen geladen, 2499 Wasserstände im Speicher
-01:47:09:     2600 Zeilen geladen, 2599 Wasserstände im Speicher
-01:47:09:     2700 Zeilen geladen, 2699 Wasserstände im Speicher
-01:47:09:     2800 Zeilen geladen, 2799 Wasserstände im Speicher
-01:47:09:     2900 Zeilen geladen, 2899 Wasserstände im Speicher
-01:47:09:     3000 Zeilen geladen, 2999 Wasserstände im Speicher
-01:47:09:     3100 Zeilen geladen, 3099 Wasserstände im Speicher
-01:47:09:     3200 Zeilen geladen, 3199 Wasserstände im Speicher
-01:47:09:     3300 Zeilen geladen, 3299 Wasserstände im Speicher
-01:47:09:     3400 Zeilen geladen, 3399 Wasserstände im Speicher
-01:47:09:     3500 Zeilen geladen, 3499 Wasserstände im Speicher
-01:47:09:     3600 Zeilen geladen, 3599 Wasserstände im Speicher
-01:47:09:     3700 Zeilen geladen, 3699 Wasserstände im Speicher
-01:47:09:     3800 Zeilen geladen, 3799 Wasserstände im Speicher
-01:47:09:     3900 Zeilen geladen, 3899 Wasserstände im Speicher
-01:47:09:     4000 Zeilen geladen, 3999 Wasserstände im Speicher
-01:47:09:     4100 Zeilen geladen, 4099 Wasserstände im Speicher
-01:47:09:     4200 Zeilen geladen, 4199 Wasserstände im Speicher
-01:47:09:     4300 Zeilen geladen, 4299 Wasserstände im Speicher
-01:47:09:     4400 Zeilen geladen, 4399 Wasserstände im Speicher
-01:47:09:     4500 Zeilen geladen, 4499 Wasserstände im Speicher
-01:47:09:     4600 Zeilen geladen, 4599 Wasserstände im Speicher
-01:47:09:     4700 Zeilen geladen, 4699 Wasserstände im Speicher
-01:47:09:     4800 Zeilen geladen, 4799 Wasserstände im Speicher
-01:47:09:     4900 Zeilen geladen, 4899 Wasserstände im Speicher
-01:47:09:     5000 Zeilen geladen, 4999 Wasserstände im Speicher
-01:47:09:     5100 Zeilen geladen, 5099 Wasserstände im Speicher
-01:47:09:     5200 Zeilen geladen, 5199 Wasserstände im Speicher
-01:47:09:     5300 Zeilen geladen, 5299 Wasserstände im Speicher
-01:47:09:     5400 Zeilen geladen, 5399 Wasserstände im Speicher
-01:47:09:     5500 Zeilen geladen, 5499 Wasserstände im Speicher
-01:47:09:     5600 Zeilen geladen, 5599 Wasserstände im Speicher
-01:47:09:     5669 Zeilen geladen, 5668 Wasserstände im Speicher
-01:47:09:   <-Laden der Wasserstände im ASCII-Format beendet
-01:47:09: <-Laden der Wasserstände beendet
-01:47:09: ->Laden der Wasserstände gestartet
-01:47:09:   ->Laden der Wasserstände im DBF-Format gestartet
-01:47:09:     42 von 42 Objekten gelesen, 42 Wasserstände im Speicher
-01:47:09:   <-Laden der Wasserstände im DBF-Format beendet
-01:47:09: <-Laden der Wasserstände beendet
-01:47:09: ->Laden der Gewässerachsen gestartet
-01:47:09:   ->Laden der Projektionsdatei zu 'test_daten/achse.shp' gestartet
-01:47:09:     Projektionsdatei 'test_daten/achse.PRJ' konnte nicht geöffnet werden
-01:47:09:   <-Laden der Projektionsdatei zu 'test_daten/achse.shp' beendet
-01:47:09:   10 von 14 Objekten gelesen, 10 Gewässerachsen im Speicher
-01:47:09:   14 von 14 Objekten gelesen, 14 Gewässerachsen im Speicher
-01:47:09: <-Laden der Gewässerachsen beendet
-01:47:09: ->Triangulierung der Knoten gestartet
-01:47:09:   ->Sortieren Knoten gestartet
-01:47:09:   <-Sortieren der Knoten beendet
-01:47:09:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:09:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:09:   ->Suchen der Startkante gestartet
-01:47:09:     Kante: 1 - 2 als Startkante
-01:47:09:   <-Suchen der Startkante beendet
-01:47:09: <-Triangulierung der Knoten beendet
-01:47:09: ->Laden des DGM in Datei 'test_daten/dgm.xyz' gestartet
-01:47:09:   ->Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ gestartet
-01:47:09:     10 Werte gelesen, 10 von 10 Knoten im Speicher
-01:47:09:   <-Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ beendet
-01:47:09:   ->Suche nach doppelten Knoten gestartet
-01:47:09:     10 Knoten und keine Elemente vorhanden
-01:47:09:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:09:   <-Suche nach doppelten Knoten beendet
-01:47:09: <-Laden des DGM in Datei 'test_daten/dgm.xyz' beendet
-01:47:09: ->Triangulierung der Knoten gestartet
-01:47:09:   ->Sortieren Knoten gestartet
-01:47:09:   <-Sortieren der Knoten beendet
-01:47:09:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:09:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:09:   ->Suchen der Startkante gestartet
-01:47:09:     Kante: 7 - 1 als Startkante
-01:47:09:   <-Suchen der Startkante beendet
-01:47:09: <-Triangulierung der Knoten beendet
-01:47:09: ->Triangulierung der Knoten gestartet
-01:47:09:   ->Sortieren Knoten gestartet
-01:47:09:   <-Sortieren der Knoten beendet
-01:47:09:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:09:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:09:   ->Suchen der Startkante gestartet
-01:47:09:     Kante: 1 - 4 als Startkante
-01:47:09:   <-Suchen der Startkante beendet
-01:47:09: <-Triangulierung der Knoten beendet
-01:47:09: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
-01:47:09:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
-01:47:09:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
-01:47:09:       Projektionsdatei 'test_daten/dgm.PRJ' konnte nicht geöffnet werden
-01:47:09:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
-01:47:09:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
-01:47:09:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
-01:47:09:   ->Suche nach doppelten Knoten gestartet
-01:47:09:     114 Knoten und keine Elemente vorhanden
-01:47:09:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:09:   <-Suche nach doppelten Knoten beendet
-01:47:09: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
-01:47:09: ->Triangulierung der Knoten gestartet
-01:47:09:   ->Sortieren Knoten gestartet
-01:47:09:   <-Sortieren der Knoten beendet
-01:47:09:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:09:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:09:   ->Suchen der Startkante gestartet
-01:47:09:     Kante: 59 - 58 als Startkante
-01:47:09:   <-Suchen der Startkante beendet
-01:47:09: <-Triangulierung der Knoten beendet
-01:47:09: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
-01:47:09:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
-01:47:09:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
-01:47:09:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
-01:47:09:   ->Suche nach doppelten Knoten gestartet
-01:47:09:     1126 Knoten und keine Elemente vorhanden
-01:47:09:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:09:   <-Suche nach doppelten Knoten beendet
-01:47:09: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
-01:47:09: ->Triangulierung der Knoten gestartet
-01:47:09:   ->Sortieren Knoten gestartet
-01:47:09:   <-Sortieren der Knoten beendet
-01:47:09:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:09:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:09:   ->Suchen der Startkante gestartet
-01:47:09:     Kante: 1126 - 1125 als Startkante
-01:47:09:   <-Suchen der Startkante beendet
-01:47:09: <-Triangulierung der Knoten beendet
-01:47:09: ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' gestartet
-01:47:09:   ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ gestartet
-01:47:09:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
-01:47:09:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
-01:47:09:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
-01:47:09:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
-01:47:09:     43332 Werte gelesen, 43332 von 43332 Knoten im Speicher
-01:47:09:   <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ beendet
-01:47:09:   ->Suche nach doppelten Knoten gestartet
-01:47:09:     43332 Knoten und keine Elemente vorhanden
-01:47:09:     10000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:09:     20000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:09:     30000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:09:     40000 von 43332 Knoten, 0 Knoten gelöscht
-01:47:09:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:09:   <-Suche nach doppelten Knoten beendet
-01:47:09: <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' beendet
-01:47:09: ->Triangulierung der Knoten gestartet
-01:47:09:   ->Sortieren Knoten gestartet
-01:47:10:   <-Sortieren der Knoten beendet
-01:47:10:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:10:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:10:   ->Suchen der Startkante gestartet
-01:47:10:     Kante: 41055 - 41054 als Startkante
-01:47:10:   <-Suchen der Startkante beendet
-01:47:11:   16289 von ca. 86664 Elementen erzeugt (31685 von 32581 Kanten)
-01:47:11:   1.01 sec -> 0.0001 sec pro Element, Dauer noch ca. 9 sec
-01:47:12:   57777 von ca. 86664 Elementen erzeugt (114419 von 115557 Kanten)
-01:47:12:   2.03 sec -> 0.0000 sec pro Element, Dauer noch ca. 2 sec
-01:47:13: <-Triangulierung der Knoten beendet
-01:47:13: ->Laden des DGM in Datei 'test_daten/dgm.grd' gestartet
-01:47:13:   ->Laden des DGM in Datei 'test_daten/dgm.grd' als GRD gestartet
-01:47:13:     10000 von 71250 Werten gelesen, 9999 von 9999 Knoten im Speicher
-01:47:13:     20000 von 71250 Werten gelesen, 19999 von 19999 Knoten im Speicher
-01:47:13:     30000 von 71250 Werten gelesen, 29999 von 29999 Knoten im Speicher
-01:47:13:     40000 von 71250 Werten gelesen, 39999 von 39999 Knoten im Speicher
-01:47:13:     50000 von 71250 Werten gelesen, 49999 von 49999 Knoten im Speicher
-01:47:13:     60000 von 71250 Werten gelesen, 59999 von 59999 Knoten im Speicher
-01:47:14:     70000 von 71250 Werten gelesen, 69999 von 69999 Knoten im Speicher
-01:47:14:     71250 von 71250 Werten gelesen, 71250 von 71250 Knoten im Speicher
-01:47:14:   <-Laden des DGM in Datei 'test_daten/dgm.grd' als GRD beendet
-01:47:14:   ->Suche nach doppelten Knoten gestartet
-01:47:14:     71250 Knoten und keine Elemente vorhanden
-01:47:14:     10000 von 71250 Knoten, 0 Knoten gelöscht
-01:47:14:     20000 von 71250 Knoten, 0 Knoten gelöscht
-01:47:14:     30000 von 71250 Knoten, 0 Knoten gelöscht
-01:47:14:     40000 von 71250 Knoten, 0 Knoten gelöscht
-01:47:14:     50000 von 71250 Knoten, 0 Knoten gelöscht
-01:47:14:     60000 von 71250 Knoten, 0 Knoten gelöscht
-01:47:14:     70000 von 71250 Knoten, 0 Knoten gelöscht
-01:47:14:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:14:   <-Suche nach doppelten Knoten beendet
-01:47:14: <-Laden des DGM in Datei 'test_daten/dgm.grd' beendet
-01:47:14: ->Triangulierung der Knoten gestartet
-01:47:14:   ->Sortieren Knoten gestartet
-01:47:14:   <-Sortieren der Knoten beendet
-01:47:14:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:14:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:14:   ->Suchen der Startkante gestartet
-01:47:14:     Kante: 1 - 286 als Startkante
-01:47:14:   <-Suchen der Startkante beendet
-01:47:15:   53582 von ca. 142500 Elementen erzeugt (106561 von 107167 Kanten)
-01:47:15:   1.01 sec -> 0.0000 sec pro Element, Dauer noch ca. 3 sec
-01:47:16:   109899 von ca. 142500 Elementen erzeugt (219134 von 219801 Kanten)
-01:47:16:   2.03 sec -> 0.0000 sec pro Element, Dauer noch ca. 1 sec
-01:47:17: <-Triangulierung der Knoten beendet
-01:47:18: ->Laden des DGM in Datei 'test_daten/dgm2.shp' gestartet
-01:47:18:   ->Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP gestartet
-01:47:18:     ->Laden der Projektionsdatei zu 'test_daten/dgm2.shp' gestartet
-01:47:18:       Projektionsdatei 'test_daten/dgm2.PRJ' konnte nicht geöffnet werden
-01:47:18:     <-Laden der Projektionsdatei zu 'test_daten/dgm2.shp' beendet
-01:47:18:     10000 von 156249 Objekten gelesen, 9999 von 9999 Knoten im Speicher
-01:47:18:     20000 von 156249 Objekten gelesen, 19999 von 19999 Knoten im Speicher
-01:47:18:     30000 von 156249 Objekten gelesen, 29999 von 29999 Knoten im Speicher
-01:47:18:     40000 von 156249 Objekten gelesen, 39999 von 39999 Knoten im Speicher
-01:47:19:     50000 von 156249 Objekten gelesen, 49999 von 49999 Knoten im Speicher
-01:47:19:     60000 von 156249 Objekten gelesen, 59999 von 59999 Knoten im Speicher
-01:47:19:     70000 von 156249 Objekten gelesen, 69999 von 69999 Knoten im Speicher
-01:47:19:     80000 von 156249 Objekten gelesen, 79999 von 79999 Knoten im Speicher
-01:47:19:     90000 von 156249 Objekten gelesen, 89999 von 89999 Knoten im Speicher
-01:47:19:     100000 von 156249 Objekten gelesen, 99999 von 99999 Knoten im Speicher
-01:47:20:     110000 von 156249 Objekten gelesen, 109999 von 109999 Knoten im Speicher
-01:47:20:     120000 von 156249 Objekten gelesen, 119999 von 119999 Knoten im Speicher
-01:47:20:     130000 von 156249 Objekten gelesen, 129999 von 129999 Knoten im Speicher
-01:47:20:     140000 von 156249 Objekten gelesen, 139999 von 139999 Knoten im Speicher
-01:47:20:     150000 von 156249 Objekten gelesen, 149999 von 149999 Knoten im Speicher
-01:47:20:     156249 von 156249 Objekten gelesen, 156249 von 156249 Knoten im Speicher
-01:47:20:   <-Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP beendet
-01:47:20:   ->Suche nach doppelten Knoten gestartet
-01:47:20:     156249 Knoten und keine Elemente vorhanden
-01:47:21:     10000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     20000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     30000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     40000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     50000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     60000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     70000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     80000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     90000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     100000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     110000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     120000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     130000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     140000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     150000 von 156249 Knoten, 0 Knoten gelöscht
-01:47:21:     0 Knoten gelöscht, 0 Elemente gelöscht
-01:47:21:   <-Suche nach doppelten Knoten beendet
-01:47:21: <-Laden des DGM in Datei 'test_daten/dgm2.shp' beendet
-01:47:21: ->Triangulierung der Knoten gestartet
-01:47:21:   ->Sortieren Knoten gestartet
-01:47:21:   <-Sortieren der Knoten beendet
-01:47:21:   ->Löschen des Knoten/Kanten-Index gestartet
-01:47:21:   <-Löschen des Knoten/Kanten-Index beendet
-01:47:21:   ->Suchen der Startkante gestartet
-01:47:21:     Kante: 156260 - 44106 als Startkante
-01:47:21:   <-Suchen der Startkante beendet
-01:47:22:   21561 von ca. 312538 Elementen erzeugt (42071 von 43125 Kanten)
-01:47:22:   1.01 sec -> 0.0000 sec pro Element, Dauer noch ca. 27 sec
-01:47:23:   46659 von ca. 312538 Elementen erzeugt (91768 von 93321 Kanten)
-01:47:23:   2.08 sec -> 0.0000 sec pro Element, Dauer noch ca. 24 sec
-01:47:24:   71977 von ca. 312538 Elementen erzeugt (142030 von 143957 Kanten)
-01:47:24:   3.12 sec -> 0.0000 sec pro Element, Dauer noch ca. 21 sec
-01:47:25:   114679 von ca. 312538 Elementen erzeugt (227356 von 229361 Kanten)
-01:47:25:   4.14 sec -> 0.0000 sec pro Element, Dauer noch ca. 14 sec
-01:47:26:   157597 von ca. 312538 Elementen erzeugt (313225 von 315197 Kanten)
-01:47:26:   5.16 sec -> 0.0000 sec pro Element, Dauer noch ca. 10 sec
-01:47:27:   204655 von ca. 312538 Elementen erzeugt (407420 von 409313 Kanten)
-01:47:27:   6.17 sec -> 0.0000 sec pro Element, Dauer noch ca. 7 sec
-01:47:28:   249505 von ca. 312538 Elementen erzeugt (497362 von 499013 Kanten)
-01:47:28:   7.19 sec -> 0.0000 sec pro Element, Dauer noch ca. 4 sec
-01:47:29:   285462 von ca. 312538 Elementen erzeugt (569509 von 570927 Kanten)
-01:47:29:   8.20 sec -> 0.0000 sec pro Element, Dauer noch ca. 2 sec
-01:47:30:   302948 von ca. 312538 Elementen erzeugt (604787 von 605899 Kanten)
-01:47:30:   9.22 sec -> 0.0000 sec pro Element, Dauer noch ca. 1 sec
-01:47:31:   311322 von ca. 312538 Elementen erzeugt (622261 von 622647 Kanten)
-01:47:31:   10.23 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
-01:47:32:   312323 von ca. 312538 Elementen erzeugt (624645 von 624649 Kanten)
-01:47:32:   11.25 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
-01:47:33:   312411 von ca. 312538 Elementen erzeugt (624821 von 624825 Kanten)
-01:47:33:   12.27 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
-01:47:34:   312493 von ca. 312538 Elementen erzeugt (624985 von 624989 Kanten)
-01:47:34:   13.28 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
-01:47:35: <-Triangulierung der Knoten beendet
+21:53:27: ->Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' gestartet
+21:53:27:   ->Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' als XYZ gestartet
+21:53:27:     13 Werte gelesen, 13 von 13 Knoten im Speicher
+21:53:27:   <-Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' als XYZ beendet
+21:53:27:   ->Suche nach doppelten Knoten gestartet
+21:53:27:     13 Knoten und keine Elemente vorhanden
+21:53:27:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:27:   <-Suche nach doppelten Knoten beendet
+21:53:27: <-Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' beendet
+21:53:27: ->Triangulierung der Knoten gestartet
+21:53:27:   ->Sortieren Knoten gestartet
+21:53:27:   <-Sortieren der Knoten beendet
+21:53:27:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:27:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:27:   ->Suchen der Startkante gestartet
+21:53:27:     Kante: 1 - 2 als Startkante
+21:53:27:   <-Suchen der Startkante beendet
+21:53:27: <-Triangulierung der Knoten beendet
+21:53:27: ->Erzeugung der Kanten gestartet
+21:53:27:   19 von 19 Elementen, 31 Kanten erzeugt
+21:53:27:   0 von 31 Kanten getestet
+21:53:27:   31 von 31 Kanten getestet
+21:53:27: <-Erzeugung der Kanten beendet
+21:53:27: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
+21:53:27:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
+21:53:27:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
+21:53:27:       Projektionsdatei 'test_daten/dgm.PRJ' konnte nicht geöffnet werden
+21:53:27:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
+21:53:27:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
+21:53:27:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
+21:53:27:   ->Suche nach doppelten Knoten gestartet
+21:53:27:     114 Knoten und keine Elemente vorhanden
+21:53:27:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:27:   <-Suche nach doppelten Knoten beendet
+21:53:27: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
+21:53:27: 0.01,0.01
+21:53:27: 0.01,0.01
+21:53:27: 0.01,0.02
+21:53:27: 0.02,0.02
+21:53:27: 0.02,0.01
+21:53:27: 0.01,0.01
+21:53:27: 0.01,0.02
+21:53:27: 0.02,0.02
+21:53:27: 0.02,0.01
+21:53:27: 0.01,0.01
+21:53:27: 0.01,0.02
+21:53:27: 0.01,0.03
+21:53:27: 0.02,0.02
+21:53:27: 0.02,0.03
+21:53:27: 0.03,0.02
+21:53:27: 0.03,0.03
+21:53:27: 0.02,0.01
+21:53:27: 0.03,0.01
+21:53:27: 0.01,0.01
+21:53:27: 0.01,0.09
+21:53:27: 0.04,0.09
+21:53:27: 0.03,0.06
+21:53:27: 0.04,0.05
+21:53:27: 0.09,0.09
+21:53:27: 0.07,0.09
+21:53:27: 0.07,0.07
+21:53:27: 0.07,0.06
+21:53:27: 0.09,0.01
+21:53:27: 0.07,0.04
+21:53:27: 0.03,0.04
+21:53:27: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
+21:53:27:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
+21:53:27:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
+21:53:27:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
+21:53:27:   ->Suche nach doppelten Knoten gestartet
+21:53:27:     1126 Knoten und keine Elemente vorhanden
+21:53:27:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:27:   <-Suche nach doppelten Knoten beendet
+21:53:27: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
+21:53:27: 3501267.49,5872612.21
+21:53:27: 3500741.94,5873010.11
+21:53:27: 3500733.82,5872983.87
+21:53:27: 3500726.79,5873108.23
+21:53:27: 3500727.21,5873257.13
+21:53:27: 3500730.52,5873329.20
+21:53:27: 3500734.91,5873293.44
+21:53:27: 3500685.45,5873261.49
+21:53:27: 3500699.93,5873298.09
+21:53:27: 3500738.07,5873147.90
+21:53:27: 3500691.05,5873185.69
+21:53:27: 3500692.77,5873223.67
+21:53:27: 3500724.99,5873180.90
+21:53:27: 3500730.53,5873216.57
+21:53:27: 3500685.70,5873112.11
+21:53:27: 3500700.42,5873147.47
+21:53:27: 3500733.86,5873038.63
+21:53:27: 3500726.38,5873069.66
+21:53:27: 3500695.85,5873035.94
+21:53:27: 3500695.28,5873076.51
+21:53:27: 3500731.87,5872960.78
+21:53:27: 3500713.94,5873006.84
+21:53:27: 3500710.48,5872981.53
+21:53:27: 3500714.77,5872967.93
+21:53:27: 3500733.58,5872944.56
+21:53:27: 3501269.86,5872816.42
+21:53:27: 3501099.88,5873416.41
+21:53:27: 3501063.99,5873407.92
+21:53:27: 3501022.45,5873411.00
+21:53:27: 3500987.30,5873417.60
+21:53:27: 3500955.14,5873404.00
+21:53:27: 3500922.33,5873416.94
+21:53:27: 3500879.94,5873411.35
+21:53:27: 3500835.30,5873410.84
+21:53:27: 3500797.71,5873412.18
+21:53:27: 3501251.80,5873408.21
+21:53:27: 3501334.15,5873408.58
+21:53:27: 3501410.39,5873416.02
+21:53:27: 3501444.14,5873404.29
+21:53:27: 3501375.52,5873411.84
+21:53:27: 3501213.20,5873407.85
+21:53:27: 3501293.31,5873419.57
+21:53:27: 3501177.16,5873415.15
+21:53:27: 3501136.19,5873411.35
+21:53:27: 3501251.95,5872819.23
+21:53:27: 3501247.91,5873111.14
+21:53:27: 3501177.23,5873257.77
+21:53:27: 3501147.48,5873340.62
+21:53:27: 3501142.70,5873374.43
+21:53:27: 3501183.79,5873333.72
+21:53:27: 3501180.31,5873373.97
+21:53:27: 3501217.95,5873373.52
+21:53:27: 3501213.19,5873304.01
+21:53:27: 3501184.45,5873293.37
+21:53:27: 3501136.62,5873261.72
+21:53:27: 3501145.77,5873302.23
+21:53:27: 3501263.50,5873260.93
+21:53:27: 3501259.17,5873331.73
+21:53:27: 3501256.42,5873367.06
+21:53:27: 3501224.98,5873337.01
+21:53:27: 3501296.42,5873339.25
+21:53:27: 3501293.05,5873382.51
+21:53:27: 3501298.37,5873266.32
+21:53:27: 3501284.76,5873299.04
+21:53:27: 3501221.67,5873264.43
+21:53:27: 3501247.43,5873298.09
+21:53:27: 3501288.19,5873113.25
+21:53:27: 3501256.03,5873186.16
+21:53:27: 3501248.53,5873224.43
+21:53:27: 3501293.02,5873187.36
+21:53:27: 3501289.61,5873226.83
+21:53:27: 3501300.28,5873152.80
+21:53:27: 3501262.38,5873148.08
+21:53:27: 3501221.72,5873152.04
+21:53:27: 3501210.24,5873111.86
+21:53:27: 3501147.05,5873190.51
+21:53:27: 3501142.62,5873224.06
+21:53:27: 3501217.82,5873192.87
+21:53:27: 3501180.39,5873216.01
+21:53:27: 3501212.35,5873229.77
+21:53:27: 3501181.50,5873177.77
+21:53:27: 3501177.08,5873105.90
+21:53:27: 3501180.06,5873140.75
+21:53:27: 3501139.21,5873112.89
+21:53:27: 3501142.94,5873156.09
+21:53:27: 3501326.44,5873107.03
+21:53:27: 3501331.45,5873253.41
+21:53:27: 3501335.30,5873331.59
+21:53:27: 3501330.44,5873366.95
+21:53:27: 3501369.03,5873336.90
+21:53:27: 3501368.22,5873374.38
+21:53:27: 3501405.85,5873336.38
+21:53:27: 3501367.01,5873268.75
+21:53:27: 3501363.40,5873303.35
+21:53:27: 3501403.28,5873295.62
+21:53:27: 3501401.10,5873257.08
+21:53:27: 3501325.99,5873295.48
+21:53:27: 3501440.19,5873265.38
+21:53:27: 3501443.83,5873343.78
+21:53:27: 3501407.30,5873377.34
+21:53:27: 3501443.41,5873374.10
+21:53:27: 3501442.85,5873306.61
+21:53:27: 3501410.28,5873227.36
+21:53:27: 3501364.60,5873113.67
+21:53:27: 3501330.36,5873176.63
+21:53:27: 3501330.04,5873215.80
+21:53:27: 3501363.44,5873191.14
+21:53:27: 3501371.23,5873226.76
+21:53:27: 3501405.96,5873185.52
+21:53:27: 3501402.31,5873106.54
+21:53:27: 3501369.06,5873156.21
+21:53:27: 3501405.50,5873141.20
+21:53:27: 3501331.89,5873138.57
+21:53:27: 3501323.29,5872851.93
+21:53:27: 3501322.72,5872961.19
+21:53:27: 3501329.42,5873027.24
+21:53:27: 3501334.53,5873069.66
+21:53:27: 3501362.75,5873041.40
+21:53:27: 3501375.73,5873073.47
+21:53:27: 3501364.72,5872965.28
+21:53:27: 3501368.01,5873006.17
+21:53:27: 3501335.84,5872992.78
+21:53:27: 3501332.60,5872865.63
+21:53:27: 3501330.76,5872887.44
+21:53:27: 3501335.29,5872925.67
+21:53:27: 3501290.05,5872816.47
+21:53:27: 3501147.89,5872960.56
+21:53:27: 3501137.56,5873041.01
+21:53:27: 3501150.96,5873073.29
+21:53:27: 3501214.91,5873038.09
+21:53:27: 3501188.50,5873072.32
+21:53:27: 3501173.03,5873035.24
+21:53:27: 3501180.24,5872961.77
+21:53:27: 3501183.47,5872996.92
+21:53:27: 3501210.46,5872961.30
+21:53:27: 3501140.95,5873001.24
+21:53:27: 3501284.89,5872962.09
+21:53:27: 3501255.33,5873027.33
+21:53:27: 3501223.54,5873077.76
+21:53:27: 3501259.03,5873069.47
+21:53:27: 3501292.63,5873043.39
+21:53:27: 3501297.30,5873077.96
+21:53:27: 3501296.77,5873002.29
+21:53:27: 3501247.70,5872961.39
+21:53:27: 3501226.84,5872999.13
+21:53:27: 3501262.40,5872991.16
+21:53:27: 3501233.71,5872816.50
+21:53:27: 3501239.10,5872876.42
+21:53:27: 3501221.78,5872925.08
+21:53:27: 3501259.53,5872925.33
+21:53:27: 3501256.06,5872889.47
+21:53:27: 3501237.33,5872898.41
+21:53:27: 3501274.61,5872876.44
+21:53:27: 3501297.60,5872925.39
+21:53:27: 3501293.36,5872888.43
+21:53:27: 3501312.18,5872897.81
+21:53:27: 3501274.47,5872898.46
+21:53:27: 3501310.44,5872816.53
+21:53:27: 3501273.70,5872858.16
+21:53:27: 3501298.49,5872855.04
+21:53:27: 3501291.41,5872868.26
+21:53:27: 3501312.06,5872872.11
+21:53:27: 3501308.56,5872835.82
+21:53:27: 3501267.74,5872835.91
+21:53:27: 3501287.18,5872837.17
+21:53:27: 3501245.66,5872835.10
+21:53:27: 3501231.54,5872851.41
+21:53:27: 3501224.10,5872864.38
+21:53:27: 3501260.98,5872849.75
+21:53:27: 3501248.90,5872861.27
+21:53:27: 3501258.31,5872869.82
+21:53:27: 3501247.51,5872851.07
+21:53:27: 3501224.15,5872834.64
+21:53:27: 3501210.50,5872814.37
+21:53:27: 3501142.37,5872889.76
+21:53:27: 3501142.36,5872919.79
+21:53:27: 3501162.30,5872894.94
+21:53:27: 3501125.47,5872894.52
+21:53:27: 3501218.32,5872886.87
+21:53:27: 3501180.42,5872927.13
+21:53:27: 3501199.62,5872896.32
+21:53:27: 3501182.02,5872888.23
+21:53:27: 3501187.96,5872817.11
+21:53:27: 3501185.26,5872853.86
+21:53:27: 3501174.50,5872870.61
+21:53:27: 3501208.65,5872851.45
+21:53:27: 3501199.30,5872867.49
+21:53:27: 3501214.97,5872870.87
+21:53:27: 3501205.55,5872832.66
+21:53:27: 3501187.15,5872835.82
+21:53:27: 3501166.84,5872816.82
+21:53:27: 3501146.79,5872851.56
+21:53:27: 3501129.24,5872860.15
+21:53:27: 3501165.39,5872857.58
+21:53:27: 3501149.71,5872873.72
+21:53:27: 3501165.59,5872837.46
+21:53:27: 3501146.76,5872815.84
+21:53:27: 3501128.45,5872819.34
+21:53:27: 3501144.14,5872833.69
+21:53:27: 3501107.18,5872815.07
+21:53:27: 3500912.76,5873116.86
+21:53:27: 3500840.35,5873264.82
+21:53:27: 3500767.75,5873344.49
+21:53:27: 3500767.78,5873381.38
+21:53:27: 3500807.89,5873333.43
+21:53:27: 3500805.86,5873373.64
+21:53:27: 3500838.21,5873303.01
+21:53:27: 3500805.11,5873291.43
+21:53:27: 3500800.94,5873256.04
+21:53:27: 3500767.07,5873268.41
+21:53:27: 3500768.94,5873307.67
+21:53:27: 3500913.32,5873265.15
+21:53:27: 3500876.57,5873340.25
+21:53:27: 3500845.54,5873372.09
+21:53:27: 3500885.10,5873370.29
+21:53:27: 3500847.14,5873332.02
+21:53:27: 3500916.54,5873336.09
+21:53:27: 3500917.84,5873381.57
+21:53:27: 3500922.64,5873294.86
+21:53:27: 3500879.77,5873254.67
+21:53:27: 3500880.51,5873298.62
+21:53:27: 3500926.60,5873149.37
+21:53:27: 3500879.61,5873193.06
+21:53:27: 3500849.25,5873223.58
+21:53:27: 3500880.80,5873223.73
+21:53:27: 3500913.31,5873181.35
+21:53:27: 3500919.01,5873223.93
+21:53:27: 3500876.98,5873107.08
+21:53:27: 3500847.98,5873143.55
+21:53:27: 3500883.38,5873151.96
+21:53:27: 3500834.23,5873110.17
+21:53:27: 3500760.19,5873186.29
+21:53:27: 3500770.45,5873227.14
+21:53:27: 3500839.62,5873182.20
+21:53:27: 3500813.51,5873223.01
+21:53:27: 3500797.99,5873187.01
+21:53:27: 3500813.75,5873148.92
+21:53:27: 3500796.43,5873110.44
+21:53:27: 3500776.41,5873148.75
+21:53:27: 3500762.14,5873115.93
+21:53:27: 3501098.09,5873109.81
+21:53:27: 3501000.29,5873260.77
+21:53:27: 3500955.63,5873336.67
+21:53:27: 3500955.20,5873366.47
+21:53:27: 3500994.13,5873337.42
+21:53:27: 3500993.10,5873380.95
+21:53:27: 3501022.86,5873298.52
+21:53:27: 3500987.23,5873294.02
+21:53:27: 3500955.67,5873261.70
+21:53:27: 3500955.47,5873305.97
+21:53:27: 3501105.69,5873261.31
+21:53:27: 3501064.19,5873340.74
+21:53:27: 3501032.54,5873371.46
+21:53:27: 3501073.24,5873369.69
+21:53:27: 3501034.48,5873331.90
+21:53:27: 3501105.70,5873335.98
+21:53:27: 3501105.46,5873381.14
+21:53:27: 3501105.34,5873293.22
+21:53:27: 3501074.61,5873261.24
+21:53:27: 3501065.41,5873301.97
+21:53:27: 3501038.47,5873261.35
+21:53:27: 3501062.38,5873115.47
+21:53:27: 3501064.09,5873182.03
+21:53:27: 3501064.90,5873220.27
+21:53:27: 3501105.11,5873186.61
+21:53:27: 3501104.79,5873229.40
+21:53:27: 3501110.44,5873143.84
+21:53:27: 3501076.58,5873149.19
+21:53:27: 3501037.63,5873148.04
+21:53:27: 3501026.69,5873107.74
+21:53:27: 3500951.62,5873188.63
+21:53:27: 3500954.81,5873224.11
+21:53:27: 3501030.10,5873186.27
+21:53:27: 3500985.27,5873224.11
+21:53:27: 3501023.11,5873223.69
+21:53:27: 3500992.60,5873186.29
+21:53:27: 3500984.92,5873110.95
+21:53:27: 3501001.35,5873147.88
+21:53:27: 3500949.26,5873110.68
+21:53:27: 3500963.93,5873149.18
+21:53:27: 3501124.15,5872838.14
+21:53:27: 3501025.76,5872962.80
+21:53:27: 3500956.03,5873027.96
+21:53:27: 3500957.26,5873069.06
+21:53:27: 3501026.72,5873031.73
+21:53:27: 3500997.39,5873078.42
+21:53:27: 3501031.11,5873065.63
+21:53:27: 3500992.65,5873043.10
+21:53:27: 3500989.14,5872962.66
+21:53:27: 3500996.81,5873002.11
+21:53:27: 3500950.22,5872962.71
+21:53:27: 3500960.82,5872994.52
+21:53:27: 3501109.08,5872963.52
+21:53:27: 3501065.72,5873040.07
+21:53:27: 3501067.86,5873080.47
+21:53:27: 3501105.27,5873028.74
+21:53:27: 3501108.66,5873070.37
+21:53:27: 3501101.44,5872993.67
+21:53:27: 3501067.75,5872963.78
+21:53:27: 3501038.13,5872998.98
+21:53:27: 3501072.08,5873003.81
+21:53:27: 3501101.81,5872836.95
+21:53:27: 3501042.01,5872875.95
+21:53:27: 3501049.13,5872935.85
+21:53:27: 3501068.33,5872925.32
+21:53:27: 3501075.31,5872883.06
+21:53:27: 3501066.74,5872902.35
+21:53:27: 3501065.34,5872889.34
+21:53:27: 3501050.51,5872886.17
+21:53:27: 3501033.08,5872903.34
+21:53:27: 3501049.64,5872911.19
+21:53:27: 3501124.91,5872876.83
+21:53:27: 3501089.36,5872932.76
+21:53:27: 3501116.95,5872935.34
+21:53:27: 3501109.02,5872887.71
+21:53:27: 3501108.76,5872909.18
+21:53:27: 3501100.11,5872879.94
+21:53:27: 3501084.77,5872907.14
+21:53:27: 3501093.11,5872891.98
+21:53:27: 3501086.13,5872821.18
+21:53:27: 3501082.61,5872839.63
+21:53:27: 3501079.70,5872871.28
+21:53:27: 3501090.27,5872858.11
+21:53:27: 3501110.25,5872853.02
+21:53:27: 3501109.41,5872869.13
+21:53:27: 3501068.00,5872814.42
+21:53:27: 3501042.65,5872857.60
+21:53:27: 3501065.35,5872853.75
+21:53:27: 3501060.70,5872872.06
+21:53:27: 3501064.53,5872833.30
+21:53:27: 3501047.52,5872817.09
+21:53:27: 3501044.11,5872837.33
+21:53:27: 3501023.73,5872817.36
+21:53:27: 3500976.12,5872895.51
+21:53:27: 3500956.28,5872926.96
+21:53:27: 3500938.25,5872914.04
+21:53:27: 3500974.87,5872914.20
+21:53:27: 3500973.99,5872936.29
+21:53:27: 3500964.72,5872878.32
+21:53:27: 3500958.83,5872907.54
+21:53:27: 3500951.32,5872898.62
+21:53:27: 3501025.72,5872889.28
+21:53:27: 3500993.38,5872926.09
+21:53:27: 3501030.67,5872925.41
+21:53:27: 3501011.42,5872935.20
+21:53:27: 3501012.50,5872909.90
+21:53:27: 3501006.08,5872877.51
+21:53:27: 3500992.09,5872905.90
+21:53:27: 3501000.92,5872892.40
+21:53:27: 3500986.33,5872876.32
+21:53:27: 3501026.19,5872839.59
+21:53:27: 3501000.81,5872857.91
+21:53:27: 3501020.57,5872854.31
+21:53:27: 3501023.76,5872870.61
+21:53:27: 3501001.25,5872814.92
+21:53:27: 3501004.85,5872835.50
+21:53:27: 3500982.32,5872817.64
+21:53:27: 3500957.59,5872858.04
+21:53:27: 3500942.94,5872874.58
+21:53:27: 3500983.78,5872837.83
+21:53:27: 3500978.29,5872857.54
+21:53:27: 3500965.97,5872841.75
+21:53:27: 3500961.93,5872821.83
+21:53:27: 3500940.00,5872815.40
+21:53:27: 3500947.10,5872836.70
+21:53:27: 3500937.49,5872855.01
+21:53:27: 3500841.93,5872957.06
+21:53:27: 3500770.03,5873039.00
+21:53:27: 3500765.42,5873077.17
+21:53:27: 3500840.16,5873040.20
+21:53:27: 3500808.78,5873070.45
+21:53:27: 3500801.01,5873031.95
+21:53:27: 3500816.97,5872973.22
+21:53:27: 3500809.91,5873002.22
+21:53:27: 3500789.69,5872970.41
+21:53:27: 3500770.53,5872997.97
+21:53:27: 3500769.28,5872963.04
+21:53:27: 3500750.76,5872969.58
+21:53:27: 3500751.90,5872950.19
+21:53:27: 3500913.32,5872962.89
+21:53:27: 3500880.41,5873027.26
+21:53:27: 3500847.20,5873077.54
+21:53:27: 3500880.99,5873065.10
+21:53:27: 3500918.91,5873044.15
+21:53:27: 3500917.47,5873080.60
+21:53:27: 3500921.53,5873002.66
+21:53:27: 3500876.00,5872962.78
+21:53:27: 3500848.17,5872998.34
+21:53:27: 3500886.12,5872994.25
+21:53:27: 3500937.36,5872892.10
+21:53:27: 3500883.43,5872926.01
+21:53:27: 3500862.10,5872931.81
+21:53:27: 3500882.18,5872895.73
+21:53:27: 3500876.93,5872907.96
+21:53:27: 3500877.64,5872877.13
+21:53:27: 3500852.13,5872911.07
+21:53:27: 3500862.37,5872894.75
+21:53:27: 3500855.33,5872877.12
+21:53:27: 3500936.74,5872935.56
+21:53:27: 3500900.25,5872934.30
+21:53:27: 3500920.39,5872929.76
+21:53:27: 3500915.48,5872914.84
+21:53:27: 3500926.52,5872901.73
+21:53:27: 3500922.77,5872880.33
+21:53:27: 3500912.77,5872892.31
+21:53:27: 3500901.73,5872904.85
+21:53:27: 3500896.40,5872890.05
+21:53:27: 3500917.25,5872817.03
+21:53:27: 3500905.58,5872837.85
+21:53:27: 3500901.20,5872873.38
+21:53:27: 3500898.20,5872854.69
+21:53:27: 3500918.99,5872859.22
+21:53:27: 3500925.41,5872836.61
+21:53:27: 3500896.30,5872817.09
+21:53:27: 3500875.50,5872817.45
+21:53:27: 3500859.20,5872857.55
+21:53:27: 3500879.92,5872857.92
+21:53:27: 3500884.79,5872837.31
+21:53:27: 3500855.15,5872816.69
+21:53:27: 3500863.69,5872837.35
+21:53:27: 3500842.46,5872927.13
+21:53:27: 3500788.09,5872946.59
+21:53:27: 3500770.46,5872940.66
+21:53:27: 3500755.77,5872933.07
+21:53:27: 3500757.95,5872913.49
+21:53:27: 3500787.86,5872928.78
+21:53:27: 3500777.96,5872921.57
+21:53:27: 3500794.25,5872897.66
+21:53:27: 3500781.43,5872911.91
+21:53:27: 3500777.30,5872878.18
+21:53:27: 3500772.67,5872896.66
+21:53:27: 3500823.51,5872930.12
+21:53:27: 3500809.91,5872947.81
+21:53:27: 3500802.53,5872917.30
+21:53:27: 3500803.36,5872929.93
+21:53:27: 3500827.33,5872914.18
+21:53:27: 3500839.00,5872894.88
+21:53:27: 3500815.41,5872897.61
+21:53:27: 3500818.54,5872878.10
+21:53:27: 3500797.60,5872878.09
+21:53:27: 3500836.45,5872874.95
+21:53:27: 3500818.43,5872857.50
+21:53:27: 3500800.61,5872860.50
+21:53:27: 3500819.00,5872838.01
+21:53:27: 3500839.00,5872857.09
+21:53:27: 3500836.52,5872814.29
+21:53:27: 3500840.94,5872835.88
+21:53:27: 3500818.63,5872817.37
+21:53:27: 3500800.95,5872820.10
+21:53:27: 3500796.28,5872839.60
+21:53:27: 3500772.62,5872837.50
+21:53:27: 3500782.20,5872857.64
+21:53:27: 3500782.21,5872817.07
+21:53:27: 3500758.25,5872815.41
+21:53:27: 3501270.00,5872629.60
+21:53:27: 3501122.32,5872634.24
+21:53:27: 3500920.58,5872543.15
+21:53:27: 3500829.46,5872657.27
+21:53:27: 3500775.86,5872737.11
+21:53:27: 3500752.90,5872775.57
+21:53:27: 3500759.85,5872793.77
+21:53:27: 3500776.55,5872778.50
+21:53:27: 3500776.04,5872799.11
+21:53:27: 3500780.52,5872758.67
+21:53:27: 3500753.50,5872736.52
+21:53:27: 3500761.61,5872756.10
+21:53:27: 3500835.29,5872735.63
+21:53:27: 3500818.23,5872780.39
+21:53:27: 3500797.68,5872796.19
+21:53:27: 3500798.40,5872772.36
+21:53:27: 3500836.01,5872773.44
+21:53:27: 3500820.87,5872799.15
+21:53:27: 3500841.36,5872794.51
+21:53:27: 3500843.44,5872755.12
+21:53:27: 3500820.43,5872757.97
+21:53:27: 3500816.02,5872737.94
+21:53:27: 3500798.14,5872751.41
+21:53:27: 3500798.14,5872731.31
+21:53:27: 3500805.93,5872665.68
+21:53:27: 3500798.83,5872695.26
+21:53:27: 3500817.26,5872716.74
+21:53:27: 3500820.10,5872696.38
+21:53:27: 3500839.67,5872694.61
+21:53:27: 3500838.95,5872715.10
+21:53:27: 3500822.62,5872677.10
+21:53:27: 3500843.03,5872671.82
+21:53:27: 3500803.40,5872680.06
+21:53:27: 3500777.26,5872653.82
+21:53:27: 3500757.68,5872699.44
+21:53:27: 3500758.04,5872717.86
+21:53:27: 3500778.26,5872695.59
+21:53:27: 3500777.64,5872716.40
+21:53:27: 3500795.80,5872712.66
+21:53:27: 3500782.39,5872674.09
+21:53:27: 3500761.30,5872668.45
+21:53:27: 3500758.86,5872682.49
+21:53:27: 3500897.89,5872651.18
+21:53:27: 3500877.56,5872737.67
+21:53:27: 3500855.41,5872775.99
+21:53:27: 3500863.79,5872796.29
+21:53:27: 3500875.34,5872776.16
+21:53:27: 3500884.94,5872796.92
+21:53:27: 3500884.56,5872756.12
+21:53:27: 3500857.78,5872733.39
+21:53:27: 3500864.05,5872755.62
+21:53:27: 3500922.89,5872733.79
+21:53:27: 3500896.06,5872776.82
+21:53:27: 3500905.37,5872797.16
+21:53:27: 3500917.45,5872776.54
+21:53:27: 3500925.86,5872796.41
+21:53:27: 3500921.55,5872755.51
+21:53:27: 3500899.20,5872736.77
+21:53:27: 3500903.53,5872758.44
+21:53:27: 3500917.39,5872656.45
+21:53:27: 3500898.72,5872695.92
+21:53:27: 3500903.21,5872717.77
+21:53:27: 3500922.34,5872692.44
+21:53:27: 3500919.04,5872712.09
+21:53:27: 3500924.13,5872671.82
+21:53:27: 3500902.94,5872673.91
+21:53:27: 3500863.65,5872659.67
+21:53:27: 3500855.96,5872691.76
+21:53:27: 3500860.35,5872710.50
+21:53:27: 3500876.05,5872695.88
+21:53:27: 3500882.04,5872716.91
+21:53:27: 3500882.92,5872659.10
+21:53:27: 3500881.72,5872676.90
+21:53:27: 3500863.28,5872677.84
+21:53:27: 3500932.76,5872579.75
+21:53:27: 3500850.35,5872578.79
+21:53:27: 3500864.11,5872627.62
+21:53:27: 3500853.00,5872648.86
+21:53:27: 3500887.29,5872617.03
+21:53:27: 3500876.53,5872640.46
+21:53:27: 3500870.71,5872605.35
+21:53:27: 3500928.58,5872611.24
+21:53:27: 3500900.07,5872632.05
+21:53:27: 3500909.95,5872639.29
+21:53:27: 3500923.60,5872623.64
+21:53:27: 3500925.70,5872640.40
+21:53:27: 3500891.48,5872577.00
+21:53:27: 3500909.44,5872608.12
+21:53:27: 3500899.53,5872505.24
+21:53:27: 3500886.12,5872537.71
+21:53:27: 3500853.71,5872543.18
+21:53:27: 3500856.95,5872502.88
+21:53:27: 3500820.23,5872548.97
+21:53:27: 3500774.30,5872576.19
+21:53:27: 3500756.75,5872646.65
+21:53:27: 3500778.43,5872614.65
+21:53:27: 3500796.74,5872647.50
+21:53:27: 3500810.24,5872582.64
+21:53:27: 3500815.22,5872620.62
+21:53:27: 3500817.46,5872647.41
+21:53:27: 3500841.29,5872635.38
+21:53:27: 3500842.84,5872608.02
+21:53:27: 3500817.21,5872513.96
+21:53:27: 3500782.56,5872540.34
+21:53:27: 3501121.81,5872598.65
+21:53:27: 3501019.35,5872654.55
+21:53:27: 3500979.76,5872733.04
+21:53:27: 3500960.15,5872778.46
+21:53:27: 3500944.33,5872794.53
+21:53:27: 3500939.44,5872774.38
+21:53:27: 3500981.33,5872778.05
+21:53:27: 3500963.88,5872799.18
+21:53:27: 3500962.34,5872739.70
+21:53:27: 3500962.37,5872760.17
+21:53:27: 3500944.53,5872732.39
+21:53:27: 3500941.67,5872751.87
+21:53:27: 3501024.02,5872734.91
+21:53:27: 3501002.68,5872772.57
+21:53:27: 3500985.20,5872798.95
+21:53:27: 3501005.18,5872794.70
+21:53:27: 3501023.44,5872776.30
+21:53:27: 3501025.93,5872794.89
+21:53:27: 3501021.79,5872758.07
+21:53:27: 3500999.64,5872735.39
+21:53:27: 3500984.41,5872754.54
+21:53:27: 3501005.83,5872752.74
+21:53:27: 3501025.85,5872675.02
+21:53:27: 3501006.54,5872694.40
+21:53:27: 3500985.24,5872716.77
+21:53:27: 3501003.58,5872714.96
+21:53:27: 3501023.70,5872694.34
+21:53:27: 3501024.09,5872711.88
+21:53:27: 3500999.00,5872653.89
+21:53:27: 3500985.41,5872671.67
+21:53:27: 3501003.29,5872674.51
+21:53:27: 3500978.44,5872653.61
+21:53:27: 3500958.75,5872694.55
+21:53:27: 3500939.98,5872713.54
+21:53:27: 3500941.39,5872694.44
+21:53:27: 3500982.65,5872694.61
+21:53:27: 3500963.86,5872715.98
+21:53:27: 3500966.44,5872674.88
+21:53:27: 3500959.29,5872656.97
+21:53:27: 3500943.85,5872675.41
+21:53:27: 3500940.14,5872653.50
+21:53:27: 3501124.54,5872713.13
+21:53:27: 3501062.87,5872732.89
+21:53:27: 3501042.20,5872778.44
+21:53:27: 3501044.10,5872797.35
+21:53:27: 3501063.19,5872777.58
+21:53:27: 3501062.28,5872798.81
+21:53:27: 3501066.70,5872754.34
+21:53:27: 3501046.54,5872738.13
+21:53:27: 3501042.91,5872757.62
+21:53:27: 3501124.38,5872757.75
+21:53:27: 3501084.77,5872776.09
+21:53:27: 3501083.68,5872798.76
+21:53:27: 3501124.81,5872798.41
+21:53:27: 3501103.24,5872794.15
+21:53:27: 3501108.10,5872774.75
+21:53:27: 3501110.30,5872735.44
+21:53:27: 3501103.32,5872752.88
+21:53:27: 3501085.20,5872735.50
+21:53:27: 3501087.59,5872758.25
+21:53:27: 3501107.74,5872655.44
+21:53:27: 3501083.39,5872692.30
+21:53:27: 3501087.50,5872712.39
+21:53:27: 3501106.21,5872698.61
+21:53:27: 3501103.19,5872718.29
+21:53:27: 3501106.11,5872678.25
+21:53:27: 3501083.07,5872652.54
+21:53:27: 3501088.43,5872671.12
+21:53:27: 3501061.08,5872655.24
+21:53:27: 3501040.37,5872694.44
+21:53:27: 3501045.80,5872716.46
+21:53:27: 3501060.57,5872694.50
+21:53:27: 3501069.11,5872714.57
+21:53:27: 3501069.37,5872673.58
+21:53:27: 3501039.44,5872655.25
+21:53:27: 3501048.44,5872674.05
+21:53:27: 3501115.29,5872578.40
+21:53:27: 3501072.16,5872604.47
+21:53:27: 3501042.90,5872621.64
+21:53:27: 3501047.12,5872638.76
+21:53:27: 3501063.65,5872616.36
+21:53:27: 3501066.31,5872634.53
+21:53:27: 3501057.54,5872591.37
+21:53:27: 3501047.34,5872607.37
+21:53:27: 3501037.96,5872597.83
+21:53:27: 3501040.42,5872577.91
+21:53:27: 3501109.16,5872615.97
+21:53:27: 3501086.08,5872618.17
+21:53:27: 3501085.36,5872634.95
+21:53:27: 3501102.06,5872635.09
+21:53:27: 3501099.55,5872590.34
+21:53:27: 3501084.08,5872595.98
+21:53:27: 3501096.98,5872601.56
+21:53:27: 3501078.23,5872579.53
+21:53:27: 3501117.18,5872538.63
+21:53:27: 3501097.28,5872569.03
+21:53:27: 3501078.77,5872546.75
+21:53:27: 3501111.32,5872501.40
+21:53:27: 3501075.10,5872509.26
+21:53:27: 3501040.94,5872538.96
+21:53:27: 3501059.49,5872568.87
+21:53:27: 3501036.13,5872501.02
+21:53:27: 3501000.21,5872540.43
+21:53:27: 3500966.11,5872584.15
+21:53:27: 3500948.06,5872619.02
+21:53:27: 3500941.10,5872634.03
+21:53:27: 3500972.88,5872616.09
+21:53:27: 3500962.34,5872636.44
+21:53:27: 3501022.52,5872610.28
+21:53:27: 3500997.70,5872613.19
+21:53:27: 3500985.70,5872633.81
+21:53:27: 3501006.78,5872634.11
+21:53:27: 3501028.24,5872636.30
+21:53:27: 3501019.38,5872620.14
+21:53:27: 3501018.89,5872590.18
+21:53:27: 3500996.17,5872597.86
+21:53:27: 3501002.82,5872504.66
+21:53:27: 3500993.51,5872570.39
+21:53:27: 3501021.62,5872568.54
+21:53:27: 3500960.32,5872544.50
+21:53:27: 3500969.85,5872510.23
+21:53:27: 3500938.44,5872507.21
+21:53:27: 3501124.90,5872469.44
+21:53:27: 3501010.66,5872468.95
+21:53:27: 3500967.61,5872469.72
+21:53:27: 3500960.00,5872426.24
+21:53:27: 3500995.84,5872432.90
+21:53:27: 3501011.33,5872393.41
+21:53:27: 3501000.95,5872353.37
+21:53:27: 3500974.22,5872393.15
+21:53:27: 3500961.63,5872360.89
+21:53:27: 3501086.22,5872469.19
+21:53:27: 3501050.00,5872468.05
+21:53:27: 3501075.11,5872428.77
+21:53:27: 3501033.83,5872432.08
+21:53:27: 3501110.97,5872436.38
+21:53:27: 3501113.65,5872397.35
+21:53:27: 3501119.99,5872353.74
+21:53:27: 3501084.17,5872361.10
+21:53:27: 3501074.74,5872389.75
+21:53:27: 3501045.74,5872398.81
+21:53:27: 3501043.45,5872359.11
+21:53:27: 3501115.81,5872311.04
+21:53:27: 3501041.63,5872319.47
+21:53:27: 3501074.73,5872285.20
+21:53:27: 3501033.93,5872280.15
+21:53:27: 3501079.03,5872326.51
+21:53:27: 3501111.12,5872275.51
+21:53:27: 3501124.82,5872244.39
+21:53:27: 3501086.06,5872243.80
+21:53:27: 3501109.72,5872211.91
+21:53:27: 3501048.90,5872244.38
+21:53:27: 3501074.92,5872202.83
+21:53:27: 3501036.06,5872212.33
+21:53:27: 3501008.37,5872314.87
+21:53:27: 3500969.06,5872322.43
+21:53:27: 3500963.12,5872278.45
+21:53:27: 3500997.83,5872285.43
+21:53:27: 3501003.58,5872244.52
+21:53:27: 3501007.92,5872201.54
+21:53:27: 3500961.78,5872238.88
+21:53:27: 3500973.90,5872206.31
+21:53:27: 3500923.76,5872475.45
+21:53:27: 3500816.62,5872479.09
+21:53:27: 3500779.10,5872499.54
+21:53:27: 3500779.96,5872459.99
+21:53:27: 3500815.38,5872439.43
+21:53:27: 3500813.62,5872399.18
+21:53:27: 3500821.37,5872362.92
+21:53:27: 3500777.95,5872422.73
+21:53:27: 3500773.13,5872387.98
+21:53:27: 3500786.31,5872356.18
+21:53:27: 3500928.16,5872438.87
+21:53:27: 3500886.82,5872466.21
+21:53:27: 3500848.88,5872463.97
+21:53:27: 3500855.02,5872427.59
+21:53:27: 3500896.12,5872428.30
+21:53:27: 3500928.40,5872393.15
+21:53:27: 3500887.33,5872398.52
+21:53:27: 3500888.67,5872359.68
+21:53:27: 3500851.89,5872386.38
+21:53:27: 3500929.24,5872349.43
+21:53:27: 3500890.00,5872290.11
+21:53:27: 3500850.64,5872349.88
+21:53:27: 3500856.65,5872314.33
+21:53:27: 3500930.28,5872310.92
+21:53:27: 3500895.97,5872324.49
+21:53:27: 3500924.45,5872276.70
+21:53:27: 3500928.54,5872243.07
+21:53:27: 3500931.49,5872202.39
+21:53:27: 3500892.61,5872214.33
+21:53:27: 3500889.81,5872250.70
+21:53:27: 3500852.39,5872272.75
+21:53:27: 3500853.62,5872235.57
+21:53:27: 3500815.42,5872326.63
+21:53:27: 3500776.58,5872315.36
+21:53:27: 3500816.70,5872289.28
+21:53:27: 3500816.74,5872251.90
+21:53:27: 3500815.84,5872214.07
+21:53:27: 3500778.79,5872273.93
+21:53:27: 3500778.32,5872235.27
+21:53:27: 3501268.36,5872651.95
+21:53:27: 3501273.15,5872673.37
+21:53:27: 3501206.84,5872652.17
+21:53:27: 3501167.57,5872735.36
+21:53:27: 3501147.20,5872772.03
+21:53:27: 3501128.97,5872779.53
+21:53:27: 3501167.38,5872776.57
+21:53:27: 3501148.91,5872795.04
+21:53:27: 3501171.45,5872796.38
+21:53:27: 3501165.70,5872754.56
+21:53:27: 3501150.83,5872735.34
+21:53:27: 3501144.10,5872753.21
+21:53:27: 3501130.40,5872735.15
+21:53:27: 3501205.11,5872732.35
+21:53:27: 3501189.78,5872777.25
+21:53:27: 3501190.31,5872799.48
+21:53:27: 3501213.01,5872776.02
+21:53:27: 3501205.77,5872793.33
+21:53:27: 3501206.44,5872754.65
+21:53:27: 3501186.51,5872737.79
+21:53:27: 3501185.49,5872758.31
+21:53:27: 3501212.00,5872673.73
+21:53:27: 3501189.91,5872696.99
+21:53:27: 3501187.52,5872714.94
+21:53:27: 3501206.30,5872691.87
+21:53:27: 3501210.65,5872712.82
+21:53:27: 3501183.73,5872653.67
+21:53:27: 3501189.75,5872675.30
+21:53:27: 3501163.20,5872653.46
+21:53:27: 3501144.34,5872696.90
+21:53:27: 3501146.94,5872714.93
+21:53:27: 3501126.51,5872689.86
+21:53:27: 3501167.28,5872694.24
+21:53:27: 3501167.71,5872718.18
+21:53:27: 3501169.69,5872671.83
+21:53:27: 3501149.03,5872676.32
+21:53:27: 3501144.43,5872656.58
+21:53:27: 3501126.33,5872670.15
+21:53:27: 3501128.73,5872650.84
+21:53:27: 3501270.19,5872694.10
+21:53:27: 3501244.83,5872735.84
+21:53:27: 3501233.49,5872775.89
+21:53:27: 3501223.68,5872796.70
+21:53:27: 3501252.38,5872778.98
+21:53:27: 3501247.19,5872799.54
+21:53:27: 3501251.37,5872756.84
+21:53:27: 3501224.29,5872735.89
+21:53:27: 3501228.82,5872755.92
+21:53:27: 3501268.13,5872734.01
+21:53:27: 3501269.92,5872776.05
+21:53:27: 3501269.96,5872796.88
+21:53:27: 3501287.77,5872773.87
+21:53:27: 3501292.04,5872794.99
+21:53:27: 3501309.00,5872778.76
+21:53:27: 3501290.72,5872735.69
+21:53:27: 3501294.92,5872755.97
+21:53:27: 3501273.90,5872755.56
+21:53:27: 3501267.86,5872712.83
+21:53:27: 3501289.02,5872713.12
+21:53:27: 3501246.92,5872651.20
+21:53:27: 3501229.01,5872694.63
+21:53:27: 3501231.16,5872717.20
+21:53:27: 3501251.37,5872696.43
+21:53:27: 3501249.43,5872715.24
+21:53:27: 3501249.95,5872674.10
+21:53:27: 3501228.69,5872657.13
+21:53:27: 3501229.44,5872674.50
+21:53:27: 3501249.38,5872633.13
+21:53:27: 3501249.74,5872614.46
+21:53:27: 3501228.59,5872638.46
+21:53:27: 3501227.10,5872617.03
+21:53:27: 3501253.84,5872596.37
+21:53:27: 3501245.91,5872584.12
+21:53:27: 3501233.91,5872598.50
+21:53:27: 3501221.09,5872587.02
+21:53:27: 3501229.17,5872566.01
+21:53:27: 3501235.75,5872537.12
+21:53:27: 3501221.53,5872504.89
+21:53:27: 3501208.92,5872628.63
+21:53:27: 3501168.87,5872632.40
+21:53:27: 3501145.49,5872636.07
+21:53:27: 3501130.61,5872615.00
+21:53:27: 3501149.72,5872617.40
+21:53:27: 3501166.18,5872610.15
+21:53:27: 3501171.45,5872592.84
+21:53:27: 3501154.94,5872577.85
+21:53:27: 3501146.63,5872595.74
+21:53:27: 3501215.25,5872598.93
+21:53:27: 3501190.90,5872636.44
+21:53:27: 3501186.70,5872618.93
+21:53:27: 3501204.96,5872609.52
+21:53:27: 3501196.27,5872589.93
+21:53:27: 3501185.64,5872601.20
+21:53:27: 3501200.73,5872573.39
+21:53:27: 3501175.15,5872570.49
+21:53:27: 3501198.38,5872544.26
+21:53:27: 3501185.98,5872511.14
+21:53:27: 3501157.49,5872542.35
+21:53:27: 3501134.63,5872572.55
+21:53:27: 3501149.75,5872502.63
+21:53:27: 3501313.28,5872798.83
+21:53:27: 3501190.54,5872476.55
+21:53:27: 3501158.30,5872464.89
+21:53:27: 3501146.03,5872431.03
+21:53:27: 3501188.70,5872434.92
+21:53:27: 3501191.42,5872395.80
+21:53:27: 3501197.21,5872360.71
+21:53:27: 3501153.26,5872393.92
+21:53:27: 3501161.53,5872356.63
+21:53:27: 3501228.07,5872468.26
+21:53:27: 3501149.64,5872322.94
+21:53:27: 3501151.77,5872285.31
+21:53:27: 3501186.94,5872320.54
+21:53:27: 3501161.56,5872244.95
+21:53:27: 3501145.72,5872206.68
+21:53:27: 3500854.22,5872197.56
+21:53:27: 3500927.33,5872161.12
+21:53:27: 3500816.58,5872175.26
+21:53:27: 3500778.68,5872198.44
+21:53:27: 3500779.77,5872160.21
+21:53:27: 3500778.74,5872129.13
+21:53:27: 3500815.96,5872127.14
+21:53:27: 3500815.54,5872069.75
+21:53:27: 3500778.23,5872088.68
+21:53:27: 3500891.58,5872175.92
+21:53:27: 3500853.63,5872160.36
+21:53:27: 3500853.43,5872129.54
+21:53:27: 3500928.83,5872130.70
+21:53:27: 3500891.12,5872129.13
+21:53:27: 3500931.36,5872094.45
+21:53:27: 3500889.75,5872079.02
+21:53:27: 3500852.79,5872090.85
+21:53:27: 3500920.49,5872045.31
+21:53:27: 3500854.99,5872024.70
+21:53:27: 3500905.33,5871992.51
+21:53:27: 3500922.91,5871936.17
+21:53:27: 3500777.28,5872008.56
+21:53:27: 3500840.99,5871944.30
+21:53:27: 3500768.58,5871929.93
+21:53:27: 3501114.99,5872177.32
+21:53:27: 3501000.39,5872163.85
+21:53:27: 3500961.83,5872173.37
+21:53:27: 3500964.61,5872134.63
+21:53:27: 3501003.83,5872123.68
+21:53:27: 3501004.68,5872085.01
+21:53:27: 3501003.75,5872053.96
+21:53:27: 3500970.68,5872097.71
+21:53:27: 3500966.41,5872054.34
+21:53:27: 3501078.10,5872161.09
+21:53:27: 3501041.10,5872176.30
+21:53:27: 3501041.03,5872139.33
+21:53:27: 3501117.52,5872138.91
+21:53:27: 3501078.55,5872122.63
+21:53:27: 3501116.03,5872100.44
+21:53:27: 3501078.56,5872085.16
+21:53:27: 3501078.32,5872054.46
+21:53:27: 3501041.31,5872100.06
+21:53:27: 3501040.97,5872051.99
+21:53:27: 3501077.72,5872015.58
+21:53:27: 3501040.56,5871994.57
+21:53:27: 3501079.95,5871949.46
+21:53:27: 3501003.24,5872013.49
+21:53:27: 3500961.04,5871998.43
+21:53:27: 3501002.28,5871933.36
+21:53:27: 3500993.59,5871854.72
+21:53:27: 3501009.73,5871783.70
+21:53:27: 3500995.69,5871708.12
+21:53:27: 3500861.08,5871875.95
+21:53:27: 3500793.26,5871863.77
+21:53:27: 3500762.15,5871794.93
+21:53:27: 3500928.45,5871864.52
+21:53:27: 3500926.18,5871790.29
+21:53:27: 3500847.80,5871798.46
+21:53:27: 3500855.74,5871717.74
+21:53:27: 3500927.97,5871716.56
+21:53:27: 3500788.08,5871729.94
+21:53:27: 3500746.73,5872548.92
+21:53:27: 3500741.50,5872515.34
+21:53:27: 3500554.52,5872536.05
+21:53:27: 3500553.66,5872655.76
+21:53:27: 3500514.07,5872737.50
+21:53:27: 3500557.26,5872742.45
+21:53:27: 3500523.52,5872766.56
+21:53:27: 3500547.05,5872758.16
+21:53:27: 3500550.10,5872691.87
+21:53:27: 3500542.43,5872723.04
+21:53:27: 3500520.03,5872661.30
+21:53:27: 3500510.78,5872695.85
+21:53:27: 3500557.04,5872578.11
+21:53:27: 3500512.85,5872622.81
+21:53:27: 3500553.08,5872618.96
+21:53:27: 3500521.05,5872586.92
+21:53:27: 3500521.06,5872511.64
+21:53:27: 3500512.49,5872548.24
+21:53:27: 3500740.71,5872581.44
+21:53:27: 3500625.25,5872653.51
+21:53:27: 3500594.12,5872741.34
+21:53:27: 3500570.58,5872749.75
+21:53:27: 3500617.65,5872732.94
+21:53:27: 3500652.04,5872779.45
+21:53:27: 3500639.07,5872740.47
+21:53:27: 3500653.76,5872759.24
+21:53:27: 3500613.07,5872743.49
+21:53:27: 3500631.11,5872753.51
+21:53:27: 3500644.85,5872684.21
+21:53:27: 3500622.57,5872708.21
+21:53:27: 3500647.70,5872706.55
+21:53:27: 3500641.19,5872724.53
+21:53:27: 3500617.00,5872682.26
+21:53:27: 3500589.07,5872654.43
+21:53:27: 3500572.74,5872723.89
+21:53:27: 3500586.97,5872692.10
+21:53:27: 3500596.78,5872722.05
+21:53:27: 3500703.36,5872658.44
+21:53:27: 3500697.32,5872737.95
+21:53:27: 3500673.33,5872774.86
+21:53:27: 3500679.06,5872796.81
+21:53:27: 3500692.57,5872778.51
+21:53:27: 3500698.80,5872794.78
+21:53:27: 3500694.37,5872758.01
+21:53:27: 3500657.48,5872737.33
+21:53:27: 3500673.09,5872754.41
+21:53:27: 3500676.93,5872736.94
+21:53:27: 3500732.62,5872736.91
+21:53:27: 3500711.90,5872776.04
+21:53:27: 3500718.17,5872798.99
+21:53:27: 3500731.92,5872776.60
+21:53:27: 3500740.66,5872797.00
+21:53:27: 3500740.88,5872756.05
+21:53:27: 3500714.23,5872734.19
+21:53:27: 3500717.99,5872754.77
+21:53:27: 3500736.14,5872669.34
+21:53:27: 3500711.79,5872699.31
+21:53:27: 3500720.38,5872716.36
+21:53:27: 3500735.33,5872690.90
+21:53:27: 3500740.00,5872720.23
+21:53:27: 3500735.93,5872703.47
+21:53:27: 3500712.63,5872682.28
+21:53:27: 3500665.69,5872652.65
+21:53:27: 3500666.67,5872691.00
+21:53:27: 3500666.91,5872707.30
+21:53:27: 3500664.72,5872716.12
+21:53:27: 3500688.26,5872707.71
+21:53:27: 3500682.40,5872721.75
+21:53:27: 3500700.68,5872718.41
+21:53:27: 3500687.42,5872683.86
+21:53:27: 3500737.44,5872615.10
+21:53:27: 3500697.67,5872619.98
+21:53:27: 3500661.45,5872614.15
+21:53:27: 3500665.40,5872581.10
+21:53:27: 3500703.43,5872581.99
+21:53:27: 3500729.43,5872643.94
+21:53:27: 3500711.01,5872543.86
+21:53:27: 3500700.87,5872502.87
+21:53:27: 3500674.94,5872544.30
+21:53:27: 3500662.87,5872511.75
+21:53:27: 3500636.71,5872544.82
+21:53:27: 3500595.33,5872586.04
+21:53:27: 3500590.02,5872618.88
+21:53:27: 3500627.80,5872580.06
+21:53:27: 3500628.60,5872619.05
+21:53:27: 3500625.04,5872504.51
+21:53:27: 3500595.65,5872548.26
+21:53:27: 3500585.02,5872512.61
+21:53:27: 3500740.12,5872477.95
+21:53:27: 3500633.41,5872464.78
+21:53:27: 3500594.14,5872472.82
+21:53:27: 3500586.26,5872435.47
+21:53:27: 3500621.32,5872431.77
+21:53:27: 3500629.55,5872394.19
+21:53:27: 3500631.67,5872354.02
+21:53:27: 3500591.61,5872401.83
+21:53:27: 3500591.30,5872363.83
+21:53:27: 3500741.41,5872438.62
+21:53:27: 3500702.79,5872461.27
+21:53:27: 3500667.06,5872476.86
+21:53:27: 3500663.34,5872434.95
+21:53:27: 3500738.26,5872397.28
+21:53:27: 3500703.37,5872424.36
+21:53:27: 3500703.49,5872394.22
+21:53:27: 3500744.17,5872353.91
+21:53:27: 3500704.88,5872362.83
+21:53:27: 3500667.89,5872391.45
+21:53:27: 3500671.33,5872351.55
+21:53:27: 3500740.91,5872319.59
+21:53:27: 3500658.64,5872318.54
+21:53:27: 3500671.37,5872286.53
+21:53:27: 3500741.22,5872288.53
+21:53:27: 3500703.30,5872319.13
+21:53:27: 3500741.27,5872251.42
+21:53:27: 3500704.23,5872274.00
+21:53:27: 3500739.28,5872210.16
+21:53:27: 3500703.76,5872205.92
+21:53:27: 3500703.07,5872236.08
+21:53:27: 3500665.88,5872250.36
+21:53:27: 3500666.09,5872204.34
+21:53:27: 3500623.55,5872313.96
+21:53:27: 3500590.65,5872327.99
+21:53:27: 3500592.06,5872288.78
+21:53:27: 3500631.62,5872277.10
+21:53:27: 3500628.41,5872236.08
+21:53:27: 3500628.42,5872204.88
+21:53:27: 3500591.72,5872250.62
+21:53:27: 3500590.94,5872202.42
+21:53:27: 3500552.66,5872496.27
+21:53:27: 3500552.76,5872460.53
+21:53:27: 3500513.01,5872471.98
+21:53:27: 3500516.07,5872432.57
+21:53:27: 3500553.45,5872423.76
+21:53:27: 3500523.29,5872394.52
+21:53:27: 3500558.79,5872388.63
+21:53:27: 3500550.62,5872352.44
+21:53:27: 3500511.11,5872362.02
+21:53:27: 3500553.05,5872311.19
+21:53:27: 3500514.04,5872285.62
+21:53:27: 3500516.25,5872326.35
+21:53:27: 3500553.70,5872273.28
+21:53:27: 3500520.54,5872248.16
+21:53:27: 3500554.69,5872235.29
+21:53:27: 3500553.69,5872204.37
+21:53:27: 3500516.18,5872204.69
+21:53:27: 3500481.36,5872244.86
+21:53:27: 3500745.65,5872172.94
+21:53:27: 3500552.45,5872083.72
+21:53:27: 3500397.99,5872087.39
+21:53:27: 3500396.78,5872167.26
+21:53:27: 3500455.14,5872143.54
+21:53:27: 3500553.23,5872163.90
+21:53:27: 3500510.96,5872149.13
+21:53:27: 3500469.87,5872195.85
+21:53:27: 3500472.20,5872085.07
+21:53:27: 3500543.58,5872005.13
+21:53:27: 3500477.48,5872015.71
+21:53:27: 3500560.21,5871934.17
+21:53:27: 3500488.57,5871951.37
+21:53:27: 3500402.48,5872016.05
+21:53:27: 3500411.44,5871936.00
+21:53:27: 3500706.36,5872169.66
+21:53:27: 3500629.99,5872099.90
+21:53:27: 3500590.54,5872144.97
+21:53:27: 3500627.78,5872166.07
+21:53:27: 3500741.40,5872129.51
+21:53:27: 3500664.75,5872154.22
+21:53:27: 3500736.04,5872073.62
+21:53:27: 3500695.48,5872120.52
+21:53:27: 3500680.32,5872067.71
+21:53:27: 3500697.90,5872011.37
+21:53:27: 3500703.18,5871939.50
+21:53:27: 3500615.99,5872019.51
+21:53:27: 3500636.02,5871950.86
+21:53:27: 3500708.26,5871858.66
+21:53:27: 3500623.89,5871873.10
+21:53:27: 3500637.94,5871805.31
+21:53:27: 3500689.98,5871777.60
+21:53:27: 3500712.05,5871710.13
+21:53:27: 3500621.23,5871727.03
+21:53:27: 3500640.64,5871658.27
+21:53:27: 3500545.81,5871858.97
+21:53:27: 3500392.05,5871856.69
+21:53:27: 3500409.63,5871797.55
+21:53:27: 3500470.74,5871877.22
+21:53:27: 3500562.22,5871786.24
+21:53:27: 3500480.84,5871795.79
+21:53:27: 3500546.42,5871710.56
+21:53:27: 3500478.48,5871721.86
+21:53:27: 3500328.59,5872089.91
+21:53:27: 3500325.72,5872016.30
+21:53:27: ->Auswertung der Kommandozeilen-Parameter gestartet
+21:53:27:   Parameterdatei: 'test_daten\test.par'
+21:53:27:   ->Laden der Parameterdatei 'test_daten\test.par' gestartet
+21:53:27:   <-Laden der Parameterdatei 'test_daten\test.par' beendet
+21:53:27:   DGM-Datei: 'egal.shp'
+21:53:27:   Profillagen-Datei: 'egal.shp'
+21:53:27:   WSP-Datei: 'egal.shp'
+21:53:27:   Gewässerachse: 'egal.shp'
+21:53:27:   Bruch- und Sperr-Datei: 'egal.shp'
+21:53:27:   Gelände wirkt als Sperre
+21:53:27:   Delta: Von = 0.00 Bis = 1.00 Diff = 0.23
+21:53:27:   Ausgabe-Datei: 'egal.shp'
+21:53:27: <-Auswertung der Kommandozeilen-Parameter beendet
+21:53:27: ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' gestartet
+21:53:27:   ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN gestartet
+21:53:27:     ->Laden der Knoten gestartet
+21:53:27:       118 Werten gelesen, 114 von 114 Knoten im Speicher
+21:53:27:     <-Laden der Knoten beendet
+21:53:27:     ->Laden der Elemente gestartet
+21:53:27:       230 Werte geladen, 218 von 230 Elementen im Speicher
+21:53:27:     <-Laden der Elemente beendet
+21:53:27:   <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN beendet
+21:53:27:   ->Suche nach doppelten Knoten gestartet
+21:53:27:     114 Knoten und 218 Elemente vorhanden
+21:53:27:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:27:   <-Suche nach doppelten Knoten beendet
+21:53:27: <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' beendet
+21:53:27: ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' gestartet
+21:53:27:   ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN gestartet
+21:53:27:     ->Laden der Knoten gestartet
+21:53:27:       118 Werten gelesen, 52 von 52 Knoten im Speicher
+21:53:27:     <-Laden der Knoten beendet
+21:53:27:     ->Laden der Elemente gestartet
+21:53:27:       230 Werte geladen, 72 von 230 Elementen im Speicher
+21:53:27:     <-Laden der Elemente beendet
+21:53:27:   <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN beendet
+21:53:27:   ->Suche nach doppelten Knoten gestartet
+21:53:27:     52 Knoten und 72 Elemente vorhanden
+21:53:27:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:27:   <-Suche nach doppelten Knoten beendet
+21:53:27: <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' beendet
+21:53:27: ->Laden des DGM in Datei 'test_daten/dgm.grd' gestartet
+21:53:27:   ->Laden des DGM in Datei 'test_daten/dgm.grd' als GRD gestartet
+21:53:27:     10000 von 71250 Werten gelesen, 0 von 0 Knoten im Speicher
+21:53:28:     20000 von 71250 Werten gelesen, 5130 von 5130 Knoten im Speicher
+21:53:28:     30000 von 71250 Werten gelesen, 11135 von 11135 Knoten im Speicher
+21:53:28:     40000 von 71250 Werten gelesen, 17145 von 17145 Knoten im Speicher
+21:53:28:     50000 von 71250 Werten gelesen, 23155 von 23155 Knoten im Speicher
+21:53:28:     60000 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
+21:53:28:     70000 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
+21:53:28:     71250 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
+21:53:28:   <-Laden des DGM in Datei 'test_daten/dgm.grd' als GRD beendet
+21:53:28:   ->Suche nach doppelten Knoten gestartet
+21:53:28:     24624 Knoten und keine Elemente vorhanden
+21:53:28:     10000 von 24624 Knoten, 0 Knoten gelöscht
+21:53:28:     20000 von 24624 Knoten, 0 Knoten gelöscht
+21:53:28:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:28:   <-Suche nach doppelten Knoten beendet
+21:53:28: <-Laden des DGM in Datei 'test_daten/dgm.grd' beendet
+21:53:28: ->Laden des DGM in Datei 'test_daten/dgm.xyz' gestartet
+21:53:28:   ->Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ gestartet
+21:53:28:     10 Werte gelesen, 10 von 10 Knoten im Speicher
+21:53:28:   <-Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ beendet
+21:53:28:   ->Suche nach doppelten Knoten gestartet
+21:53:28:     10 Knoten und keine Elemente vorhanden
+21:53:28:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:28:   <-Suche nach doppelten Knoten beendet
+21:53:28: <-Laden des DGM in Datei 'test_daten/dgm.xyz' beendet
+21:53:28: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
+21:53:28:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
+21:53:28:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
+21:53:28:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
+21:53:28:   ->Suche nach doppelten Knoten gestartet
+21:53:28:     1126 Knoten und keine Elemente vorhanden
+21:53:28:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:28:   <-Suche nach doppelten Knoten beendet
+21:53:28: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
+21:53:28: ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' gestartet
+21:53:28:   ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ gestartet
+21:53:28:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
+21:53:28:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
+21:53:28:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
+21:53:28:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
+21:53:28:     43332 Werte gelesen, 43332 von 43332 Knoten im Speicher
+21:53:28:   <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ beendet
+21:53:28:   ->Suche nach doppelten Knoten gestartet
+21:53:28:     43332 Knoten und keine Elemente vorhanden
+21:53:29:     10000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:29:     20000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:29:     30000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:29:     40000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:29:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:29:   <-Suche nach doppelten Knoten beendet
+21:53:29: <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' beendet
+21:53:29: ->Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' gestartet
+21:53:29:   ->Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' als XYZ gestartet
+21:53:29:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
+21:53:29:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
+21:53:29:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
+21:53:29:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
+21:53:30:     50000 Werte gelesen, 49999 von 49999 Knoten im Speicher
+21:53:30:     60000 Werte gelesen, 59999 von 59999 Knoten im Speicher
+21:53:30:     70000 Werte gelesen, 69999 von 69999 Knoten im Speicher
+21:53:30:     80000 Werte gelesen, 79999 von 79999 Knoten im Speicher
+21:53:30:     90000 Werte gelesen, 89999 von 89999 Knoten im Speicher
+21:53:30:     98636 Werte gelesen, 98636 von 98636 Knoten im Speicher
+21:53:30:   <-Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' als XYZ beendet
+21:53:30:   ->Suche nach doppelten Knoten gestartet
+21:53:30:     98636 Knoten und keine Elemente vorhanden
+21:53:31:     10000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     20000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     30000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     40000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     50000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     60000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     70000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     80000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     90000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:31:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:31:   <-Suche nach doppelten Knoten beendet
+21:53:31: <-Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' beendet
+21:53:31: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
+21:53:31:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
+21:53:31:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
+21:53:31:       Projektionsdatei 'test_daten/dgm.PRJ' konnte nicht geöffnet werden
+21:53:31:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
+21:53:31:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
+21:53:31:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
+21:53:31:   ->Suche nach doppelten Knoten gestartet
+21:53:31:     114 Knoten und keine Elemente vorhanden
+21:53:31:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:31:   <-Suche nach doppelten Knoten beendet
+21:53:31: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
+21:53:31: ->Laden des DGM in Datei 'test_daten/dgm2.shp' gestartet
+21:53:31:   ->Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP gestartet
+21:53:31:     ->Laden der Projektionsdatei zu 'test_daten/dgm2.shp' gestartet
+21:53:31:       Projektionsdatei 'test_daten/dgm2.PRJ' konnte nicht geöffnet werden
+21:53:31:     <-Laden der Projektionsdatei zu 'test_daten/dgm2.shp' beendet
+21:53:31:     10000 von 156249 Objekten gelesen, 9247 von 9247 Knoten im Speicher
+21:53:31:     20000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:31:     30000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:32:     40000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:32:     50000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:32:     60000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:32:     70000 von 156249 Objekten gelesen, 12088 von 12088 Knoten im Speicher
+21:53:32:     80000 von 156249 Objekten gelesen, 13793 von 13793 Knoten im Speicher
+21:53:32:     90000 von 156249 Objekten gelesen, 15747 von 15747 Knoten im Speicher
+21:53:33:     100000 von 156249 Objekten gelesen, 17727 von 17727 Knoten im Speicher
+21:53:33:     110000 von 156249 Objekten gelesen, 19707 von 19707 Knoten im Speicher
+21:53:33:     120000 von 156249 Objekten gelesen, 21687 von 21687 Knoten im Speicher
+21:53:33:     130000 von 156249 Objekten gelesen, 23667 von 23667 Knoten im Speicher
+21:53:33:     140000 von 156249 Objekten gelesen, 25482 von 25482 Knoten im Speicher
+21:53:33:     150000 von 156249 Objekten gelesen, 27462 von 27462 Knoten im Speicher
+21:53:33:     156249 von 156249 Objekten gelesen, 28287 von 28287 Knoten im Speicher
+21:53:33:   <-Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP beendet
+21:53:33:   ->Suche nach doppelten Knoten gestartet
+21:53:33:     28287 Knoten und keine Elemente vorhanden
+21:53:33:     10000 von 28287 Knoten, 0 Knoten gelöscht
+21:53:33:     20000 von 28287 Knoten, 0 Knoten gelöscht
+21:53:33:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:33:   <-Suche nach doppelten Knoten beendet
+21:53:33: <-Laden des DGM in Datei 'test_daten/dgm2.shp' beendet
+21:53:33: ->Laden des DGM in Datei 'test_daten/dgm.2dm' gestartet
+21:53:33:   ->Laden des DGM in Datei 'test_daten/dgm.2dm' als 2DM gestartet
+21:53:34:     2225 Elemente und 1126 Knoten geladen
+21:53:34:     1126 Knoten insgesamt
+21:53:34:   <-Laden des DGM in Datei 'test_daten/dgm.2dm' als 2DM beendet
+21:53:34:   ->Suche nach doppelten Knoten gestartet
+21:53:34:     1126 Knoten und 2225 Elemente vorhanden
+21:53:34:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:34:   <-Suche nach doppelten Knoten beendet
+21:53:34: <-Laden des DGM in Datei 'test_daten/dgm.2dm' beendet
+21:53:34: ->Laden der Profilspuren gestartet
+21:53:34:   ->Laden der Projektionsdatei zu 'test_daten/profile.shp' gestartet
+21:53:34:     Projektionsdatei 'test_daten/profile.PRJ' konnte nicht geöffnet werden
+21:53:34:   <-Laden der Projektionsdatei zu 'test_daten/profile.shp' beendet
+21:53:34:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
+21:53:34:   8 von 8 Objekten geladen, 8 Profilspuren im Speicher
+21:53:34: <-Laden der Profilspuren beendet
+21:53:34: ->Ausrichten der Profilspuren gestartet
+21:53:34:   8 von 8 Profilspuren ausgerichtet, 3 gedreht
+21:53:34: <-Ausrichten der Profilspuren beendet
+21:53:34: ->Laden der Profilspuren gestartet
+21:53:34:   ->Laden der Projektionsdatei zu 'test_daten/profilez.shp' gestartet
+21:53:34:     Projektionsdatei 'test_daten/profilez.PRJ' konnte nicht geöffnet werden
+21:53:34:   <-Laden der Projektionsdatei zu 'test_daten/profilez.shp' beendet
+21:53:34:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
+21:53:34:   5 von 5 Objekten geladen, 5 Profilspuren im Speicher
+21:53:34: <-Laden der Profilspuren beendet
+21:53:34: ->Ausrichten der Profilspuren gestartet
+21:53:34:   5 von 5 Profilspuren ausgerichtet, 0 gedreht
+21:53:34: <-Ausrichten der Profilspuren beendet
+21:53:34: ->Laden der Linien Strukturen (Sperren, Gräben und Rohre) gestartet
+21:53:34:   ->Laden der Projektionsdatei zu 'test_daten/linien.shp' gestartet
+21:53:34:     Projektionsdatei 'test_daten/linien.PRJ' konnte nicht geöffnet werden
+21:53:34:   <-Laden der Projektionsdatei zu 'test_daten/linien.shp' beendet
+21:53:34:   9 von 9 Liniensstrukturen geladen, 5 Sperren, 4 Gräben, 0 Rohre
+21:53:34: <-Laden der Linien Strukturen (Sperren, Gräben und Rohre) beendet
+21:53:34: ->Laden der Wasserstände gestartet
+21:53:34:   ->Laden der Wasserstände im ASCII-Format gestartet
+21:53:34:     100 Zeilen geladen, 99 Wasserstände im Speicher
+21:53:34:     200 Zeilen geladen, 199 Wasserstände im Speicher
+21:53:34:     300 Zeilen geladen, 299 Wasserstände im Speicher
+21:53:34:     400 Zeilen geladen, 399 Wasserstände im Speicher
+21:53:34:     500 Zeilen geladen, 499 Wasserstände im Speicher
+21:53:34:     600 Zeilen geladen, 599 Wasserstände im Speicher
+21:53:34:     700 Zeilen geladen, 699 Wasserstände im Speicher
+21:53:34:     800 Zeilen geladen, 799 Wasserstände im Speicher
+21:53:34:     900 Zeilen geladen, 899 Wasserstände im Speicher
+21:53:34:     1000 Zeilen geladen, 999 Wasserstände im Speicher
+21:53:34:     1100 Zeilen geladen, 1099 Wasserstände im Speicher
+21:53:34:     1200 Zeilen geladen, 1199 Wasserstände im Speicher
+21:53:34:     1300 Zeilen geladen, 1299 Wasserstände im Speicher
+21:53:34:     1400 Zeilen geladen, 1399 Wasserstände im Speicher
+21:53:34:     1500 Zeilen geladen, 1499 Wasserstände im Speicher
+21:53:34:     1600 Zeilen geladen, 1599 Wasserstände im Speicher
+21:53:34:     1700 Zeilen geladen, 1699 Wasserstände im Speicher
+21:53:34:     1800 Zeilen geladen, 1799 Wasserstände im Speicher
+21:53:34:     1900 Zeilen geladen, 1899 Wasserstände im Speicher
+21:53:34:     2000 Zeilen geladen, 1999 Wasserstände im Speicher
+21:53:34:     2100 Zeilen geladen, 2099 Wasserstände im Speicher
+21:53:34:     2200 Zeilen geladen, 2199 Wasserstände im Speicher
+21:53:34:     2300 Zeilen geladen, 2299 Wasserstände im Speicher
+21:53:34:     2400 Zeilen geladen, 2399 Wasserstände im Speicher
+21:53:34:     2500 Zeilen geladen, 2499 Wasserstände im Speicher
+21:53:34:     2600 Zeilen geladen, 2599 Wasserstände im Speicher
+21:53:34:     2700 Zeilen geladen, 2699 Wasserstände im Speicher
+21:53:34:     2800 Zeilen geladen, 2799 Wasserstände im Speicher
+21:53:34:     2900 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3000 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3100 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3200 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3300 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3400 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3500 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3600 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3700 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3800 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     3900 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4000 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4100 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4200 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4300 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4400 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4500 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4600 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4700 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4800 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     4900 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5000 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5100 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5200 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5300 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5400 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5500 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5600 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:     5669 Zeilen geladen, 2834 Wasserstände im Speicher
+21:53:34:   <-Laden der Wasserstände im ASCII-Format beendet
+21:53:34: <-Laden der Wasserstände beendet
+21:53:34: ->Laden der Wasserstände gestartet
+21:53:34:   ->Laden der Wasserstände im DBF-Format gestartet
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (6.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (8.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (9.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (4.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (7.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (10.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (1.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (2.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (3.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+Warnung (2111)
+In der DBD-Datei 'test_daten/wsp.DBF' kommt der Wasserstand (5.0000) mehrfach vor.
+Es wird nur die erste Definition berücksichtigt.
+Warnung (2111)
+21:53:34:     32 von 42 Objekten gelesen, 32 Wasserstände im Speicher
+21:53:34:   <-Laden der Wasserstände im DBF-Format beendet
+21:53:34: <-Laden der Wasserstände beendet
+21:53:34: ->Laden der Gewässerachsen gestartet
+21:53:34:   ->Laden der Projektionsdatei zu 'test_daten/achse.shp' gestartet
+21:53:34:     Projektionsdatei 'test_daten/achse.PRJ' konnte nicht geöffnet werden
+21:53:34:   <-Laden der Projektionsdatei zu 'test_daten/achse.shp' beendet
+21:53:34:   10 von 14 Objekten gelesen, 10 Gewässerachsen im Speicher
+21:53:34:   14 von 14 Objekten gelesen, 14 Gewässerachsen im Speicher
+21:53:34: <-Laden der Gewässerachsen beendet
+21:53:34: ->Triangulierung der Knoten gestartet
+21:53:34:   ->Sortieren Knoten gestartet
+21:53:34:   <-Sortieren der Knoten beendet
+21:53:34:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:34:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:34:   ->Suchen der Startkante gestartet
+21:53:34:     Kante: 1 - 2 als Startkante
+21:53:34:   <-Suchen der Startkante beendet
+21:53:34: <-Triangulierung der Knoten beendet
+21:53:34: ->Laden des DGM in Datei 'test_daten/dgm.xyz' gestartet
+21:53:34:   ->Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ gestartet
+21:53:34:     10 Werte gelesen, 10 von 10 Knoten im Speicher
+21:53:34:   <-Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ beendet
+21:53:34:   ->Suche nach doppelten Knoten gestartet
+21:53:34:     10 Knoten und keine Elemente vorhanden
+21:53:34:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:34:   <-Suche nach doppelten Knoten beendet
+21:53:34: <-Laden des DGM in Datei 'test_daten/dgm.xyz' beendet
+21:53:34: ->Triangulierung der Knoten gestartet
+21:53:34:   ->Sortieren Knoten gestartet
+21:53:34:   <-Sortieren der Knoten beendet
+21:53:34:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:34:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:34:   ->Suchen der Startkante gestartet
+21:53:34:     Kante: 7 - 1 als Startkante
+21:53:34:   <-Suchen der Startkante beendet
+21:53:34: <-Triangulierung der Knoten beendet
+21:53:34: ->Triangulierung der Knoten gestartet
+21:53:34:   ->Sortieren Knoten gestartet
+21:53:34:   <-Sortieren der Knoten beendet
+21:53:34:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:34:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:34:   ->Suchen der Startkante gestartet
+21:53:34:     Kante: 1 - 4 als Startkante
+21:53:34:   <-Suchen der Startkante beendet
+21:53:34: <-Triangulierung der Knoten beendet
+21:53:34: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
+21:53:34:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
+21:53:34:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
+21:53:34:       Projektionsdatei 'test_daten/dgm.PRJ' konnte nicht geöffnet werden
+21:53:34:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
+21:53:34:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
+21:53:34:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
+21:53:34:   ->Suche nach doppelten Knoten gestartet
+21:53:34:     114 Knoten und keine Elemente vorhanden
+21:53:34:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:34:   <-Suche nach doppelten Knoten beendet
+21:53:34: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
+21:53:34: ->Triangulierung der Knoten gestartet
+21:53:34:   ->Sortieren Knoten gestartet
+21:53:34:   <-Sortieren der Knoten beendet
+21:53:34:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:34:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:34:   ->Suchen der Startkante gestartet
+21:53:34:     Kante: 59 - 58 als Startkante
+21:53:34:   <-Suchen der Startkante beendet
+21:53:34: <-Triangulierung der Knoten beendet
+21:53:34: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
+21:53:34:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
+21:53:34:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
+21:53:34:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
+21:53:34:   ->Suche nach doppelten Knoten gestartet
+21:53:34:     1126 Knoten und keine Elemente vorhanden
+21:53:34:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:34:   <-Suche nach doppelten Knoten beendet
+21:53:34: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
+21:53:34: ->Triangulierung der Knoten gestartet
+21:53:34:   ->Sortieren Knoten gestartet
+21:53:34:   <-Sortieren der Knoten beendet
+21:53:34:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:34:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:34:   ->Suchen der Startkante gestartet
+21:53:34:     Kante: 1126 - 1125 als Startkante
+21:53:34:   <-Suchen der Startkante beendet
+21:53:34: <-Triangulierung der Knoten beendet
+21:53:34: ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' gestartet
+21:53:34:   ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ gestartet
+21:53:34:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
+21:53:34:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
+21:53:34:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
+21:53:34:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
+21:53:35:     43332 Werte gelesen, 43332 von 43332 Knoten im Speicher
+21:53:35:   <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ beendet
+21:53:35:   ->Suche nach doppelten Knoten gestartet
+21:53:35:     43332 Knoten und keine Elemente vorhanden
+21:53:35:     10000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:35:     20000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:35:     30000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:35:     40000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:35:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:35:   <-Suche nach doppelten Knoten beendet
+21:53:35: <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' beendet
+21:53:35: ->Triangulierung der Knoten gestartet
+21:53:35:   ->Sortieren Knoten gestartet
+21:53:35:   <-Sortieren der Knoten beendet
+21:53:35:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:35:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:35:   ->Suchen der Startkante gestartet
+21:53:35:     Kante: 41055 - 41054 als Startkante
+21:53:35:   <-Suchen der Startkante beendet
+21:53:36:   15955 von ca. 86664 Elementen erzeugt (31050 von 31913 Kanten)
+21:53:36:   1.02 sec -> 0.0001 sec pro Element, Dauer noch ca. 9 sec
+21:53:37:   57776 von ca. 86664 Elementen erzeugt (114418 von 115555 Kanten)
+21:53:37:   2.03 sec -> 0.0000 sec pro Element, Dauer noch ca. 2 sec
+21:53:38: <-Triangulierung der Knoten beendet
+21:53:38: ->Laden des DGM in Datei 'test_daten/dgm.grd' gestartet
+21:53:38:   ->Laden des DGM in Datei 'test_daten/dgm.grd' als GRD gestartet
+21:53:38:     10000 von 71250 Werten gelesen, 9999 von 9999 Knoten im Speicher
+21:53:38:     20000 von 71250 Werten gelesen, 19999 von 19999 Knoten im Speicher
+21:53:38:     30000 von 71250 Werten gelesen, 29999 von 29999 Knoten im Speicher
+21:53:39:     40000 von 71250 Werten gelesen, 39999 von 39999 Knoten im Speicher
+21:53:39:     50000 von 71250 Werten gelesen, 49999 von 49999 Knoten im Speicher
+21:53:39:     60000 von 71250 Werten gelesen, 59999 von 59999 Knoten im Speicher
+21:53:39:     70000 von 71250 Werten gelesen, 69999 von 69999 Knoten im Speicher
+21:53:39:     71250 von 71250 Werten gelesen, 71250 von 71250 Knoten im Speicher
+21:53:39:   <-Laden des DGM in Datei 'test_daten/dgm.grd' als GRD beendet
+21:53:39:   ->Suche nach doppelten Knoten gestartet
+21:53:39:     71250 Knoten und keine Elemente vorhanden
+21:53:39:     10000 von 71250 Knoten, 0 Knoten gelöscht
+21:53:39:     20000 von 71250 Knoten, 0 Knoten gelöscht
+21:53:39:     30000 von 71250 Knoten, 0 Knoten gelöscht
+21:53:39:     40000 von 71250 Knoten, 0 Knoten gelöscht
+21:53:39:     50000 von 71250 Knoten, 0 Knoten gelöscht
+21:53:39:     60000 von 71250 Knoten, 0 Knoten gelöscht
+21:53:39:     70000 von 71250 Knoten, 0 Knoten gelöscht
+21:53:39:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:39:   <-Suche nach doppelten Knoten beendet
+21:53:39: <-Laden des DGM in Datei 'test_daten/dgm.grd' beendet
+21:53:39: ->Triangulierung der Knoten gestartet
+21:53:39:   ->Sortieren Knoten gestartet
+21:53:39:   <-Sortieren der Knoten beendet
+21:53:39:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:39:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:39:   ->Suchen der Startkante gestartet
+21:53:39:     Kante: 1 - 286 als Startkante
+21:53:39:   <-Suchen der Startkante beendet
+21:53:40:   54465 von ca. 142500 Elementen erzeugt (108331 von 108933 Kanten)
+21:53:40:   1.01 sec -> 0.0000 sec pro Element, Dauer noch ca. 3 sec
+21:53:41:   109248 von ca. 142500 Elementen erzeugt (217830 von 218499 Kanten)
+21:53:41:   2.03 sec -> 0.0000 sec pro Element, Dauer noch ca. 1 sec
+21:53:42: <-Triangulierung der Knoten beendet
+21:53:43: ->Laden des DGM in Datei 'test_daten/dgm2.shp' gestartet
+21:53:43:   ->Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP gestartet
+21:53:43:     ->Laden der Projektionsdatei zu 'test_daten/dgm2.shp' gestartet
+21:53:43:       Projektionsdatei 'test_daten/dgm2.PRJ' konnte nicht geöffnet werden
+21:53:43:     <-Laden der Projektionsdatei zu 'test_daten/dgm2.shp' beendet
+21:53:43:     10000 von 156249 Objekten gelesen, 9999 von 9999 Knoten im Speicher
+21:53:43:     20000 von 156249 Objekten gelesen, 19999 von 19999 Knoten im Speicher
+21:53:43:     30000 von 156249 Objekten gelesen, 29999 von 29999 Knoten im Speicher
+21:53:44:     40000 von 156249 Objekten gelesen, 39999 von 39999 Knoten im Speicher
+21:53:44:     50000 von 156249 Objekten gelesen, 49999 von 49999 Knoten im Speicher
+21:53:44:     60000 von 156249 Objekten gelesen, 59999 von 59999 Knoten im Speicher
+21:53:44:     70000 von 156249 Objekten gelesen, 69999 von 69999 Knoten im Speicher
+21:53:44:     80000 von 156249 Objekten gelesen, 79999 von 79999 Knoten im Speicher
+21:53:44:     90000 von 156249 Objekten gelesen, 89999 von 89999 Knoten im Speicher
+21:53:45:     100000 von 156249 Objekten gelesen, 99999 von 99999 Knoten im Speicher
+21:53:45:     110000 von 156249 Objekten gelesen, 109999 von 109999 Knoten im Speicher
+21:53:45:     120000 von 156249 Objekten gelesen, 119999 von 119999 Knoten im Speicher
+21:53:45:     130000 von 156249 Objekten gelesen, 129999 von 129999 Knoten im Speicher
+21:53:45:     140000 von 156249 Objekten gelesen, 139999 von 139999 Knoten im Speicher
+21:53:45:     150000 von 156249 Objekten gelesen, 149999 von 149999 Knoten im Speicher
+21:53:46:     156249 von 156249 Objekten gelesen, 156249 von 156249 Knoten im Speicher
+21:53:46:   <-Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP beendet
+21:53:46:   ->Suche nach doppelten Knoten gestartet
+21:53:46:     156249 Knoten und keine Elemente vorhanden
+21:53:46:     10000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     20000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     30000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     40000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     50000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     60000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     70000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     80000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     90000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     100000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     110000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     120000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     130000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     140000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     150000 von 156249 Knoten, 0 Knoten gelöscht
+21:53:46:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:46:   <-Suche nach doppelten Knoten beendet
+21:53:46: <-Laden des DGM in Datei 'test_daten/dgm2.shp' beendet
+21:53:46: ->Triangulierung der Knoten gestartet
+21:53:46:   ->Sortieren Knoten gestartet
+21:53:46:   <-Sortieren der Knoten beendet
+21:53:46:   ->Löschen des Knoten/Kanten-Index gestartet
+21:53:46:   <-Löschen des Knoten/Kanten-Index beendet
+21:53:46:   ->Suchen der Startkante gestartet
+21:53:46:     Kante: 156260 - 44106 als Startkante
+21:53:46:   <-Suchen der Startkante beendet
+21:53:47:   21213 von ca. 312538 Elementen erzeugt (41390 von 42429 Kanten)
+21:53:47:   1.02 sec -> 0.0000 sec pro Element, Dauer noch ca. 28 sec
+21:53:48:   46659 von ca. 312538 Elementen erzeugt (91768 von 93321 Kanten)
+21:53:48:   2.09 sec -> 0.0000 sec pro Element, Dauer noch ca. 24 sec
+21:53:49:   71977 von ca. 312538 Elementen erzeugt (142030 von 143957 Kanten)
+21:53:49:   3.16 sec -> 0.0000 sec pro Element, Dauer noch ca. 21 sec
+21:53:50:   114706 von ca. 312538 Elementen erzeugt (227411 von 229415 Kanten)
+21:53:50:   4.17 sec -> 0.0000 sec pro Element, Dauer noch ca. 14 sec
+21:53:51:   156911 von ca. 312538 Elementen erzeugt (311853 von 313825 Kanten)
+21:53:51:   5.19 sec -> 0.0000 sec pro Element, Dauer noch ca. 10 sec
+21:53:52:   203312 von ca. 312538 Elementen erzeugt (404757 von 406627 Kanten)
+21:53:52:   6.20 sec -> 0.0000 sec pro Element, Dauer noch ca. 7 sec
+21:53:53:   248682 von ca. 312538 Elementen erzeugt (495709 von 497367 Kanten)
+21:53:53:   7.22 sec -> 0.0000 sec pro Element, Dauer noch ca. 4 sec
+21:53:54:   278653 von ca. 312538 Elementen erzeugt (555861 von 557309 Kanten)
+21:53:54:   8.23 sec -> 0.0000 sec pro Element, Dauer noch ca. 2 sec
+21:53:55:   301248 von ca. 312538 Elementen erzeugt (601313 von 602499 Kanten)
+21:53:55:   9.27 sec -> 0.0000 sec pro Element, Dauer noch ca. 1 sec
+21:53:56:   310150 von ca. 312538 Elementen erzeugt (619734 von 620303 Kanten)
+21:53:56:   10.28 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
+21:53:57:   312311 von ca. 312538 Elementen erzeugt (624621 von 624625 Kanten)
+21:53:57:   11.30 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
+21:53:59:   312397 von ca. 312538 Elementen erzeugt (624793 von 624797 Kanten)
+21:53:59:   12.31 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
+21:54:00:   312481 von ca. 312538 Elementen erzeugt (624961 von 624965 Kanten)
+21:54:00:   13.33 sec -> 0.0000 sec pro Element, Dauer noch ca. 0 sec
+21:54:01: <-Triangulierung der Knoten beendet

Modified: trunk/src/Makefile
===================================================================
--- trunk/src/Makefile	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/Makefile	2006-06-09 19:54:01 UTC (rev 51)
@@ -12,7 +12,7 @@
 PROJECT=wsplgen.exe
 TEST=test.exe
 OBJFILES=tools.o xy.o tri.o parameter.o file.o shape.o quadtree.o
-TESTOBJFILES= test_profil.o test_tools.o test_xy.o test_tri.o test_file.o test_nodes.o test_quadtree.o
+TESTOBJFILES=test_profil.o test_tools.o test_xy.o test_tri.o test_file.o test_nodes.o test_quadtree.o
 
 all: ../bin/test.exe ../bin/wsplgen.exe
 
@@ -25,9 +25,6 @@
 %.o: %.cpp %.h Makefile
 	$(CC) -c $(CPPFLAGS) $*.cpp 
 
-# %.o: %.cpp  Makefile
-# 	$(CC) -c $(CPPFLAGS) $*.cpp 
-
 clean:
 	rm -f *.o
 

Modified: trunk/src/file.cpp
===================================================================
--- trunk/src/file.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/file.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -697,9 +697,14 @@
 	}
 	if (ZFieldIndex == -1)
 	{
-		ZName = "m";
+		ZName = "Hoehe";
 		ZFieldIndex = DBFGetFieldIndex(hDBF, ZName.c_str());
 	}
+	if (ZFieldIndex == -1)
+	{
+		ZName = "HOEHE";
+		ZFieldIndex = DBFGetFieldIndex(hDBF, ZName.c_str());
+	}
 
 	if (ShapeType != SHPT_POINTZ && ZFieldIndex == -1)
 	{
@@ -1014,41 +1019,6 @@
 		write_error(2206, "In der DBD-Datei %s' sind keine Attribute definiert\nEs müssen aber mindestens die Attibute Z und STATION definiert sein.\n", DBFFileName.c_str());
 	}
 
-	std::string GewName = "GEW";
-	int GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	if (GewFieldIndex == -1)
-	{
-		GewName = "Gew";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "gew";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "GEWÄSSER";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "Gewässer";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "gewässer";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-
-	if (GewFieldIndex == -1)
-	{
-		SHPClose(hSHP);
-		DBFClose(hDBF);
-		write_error(2207, "In der DBD-Datei %s' ist das Attribut 'GEW' nicht definiert\nEs muss aber vorhanden sein.\n", DBFFileName.c_str());
-	}
-
 	std::string StationName = "STATION";
 	int StationFieldIndex = DBFGetFieldIndex(hDBF, StationName.c_str());
 	if (StationFieldIndex == -1)
@@ -1101,13 +1071,6 @@
 
 	int Width = 0;
 	int Decimals = 0;
-	if (DBFGetFieldInfo(hDBF, GewFieldIndex, NULL, &Width, &Decimals) != FTString)
-	{
-		SHPClose(hSHP);
-		DBFClose(hDBF);
-		write_error(2209, "In der DBD-Datei '%s' ist der Attribut-Typ des Attributes '%s' nicht Text.\n", DBFFileName.c_str(), GewName.c_str());
-	}
-
 	if (DBFGetFieldInfo(hDBF, StationFieldIndex, NULL, &Width, &Decimals) != FTDouble)
 	{
 		SHPClose(hSHP);
@@ -1118,17 +1081,16 @@
 	int Count = 0;
 	for (int i = 0; i<RecordCount; i++)
 	{
-		std::string Gewaesser = DBFReadStringAttribute(hDBF, i, GewFieldIndex);
-		double S = DBFReadDoubleAttribute(hDBF, i, StationFieldIndex);
+		double StationD = DBFReadDoubleAttribute(hDBF, i, StationFieldIndex);
 
-		int Station = (int)(S * 10000.0 + 0.5);
-		if (S < 0)	Station = (int)(S * 10000.0 - 0.5);
+		int Station = (int)(StationD * 10000.0 + 0.5);
+		if (StationD < 0)	Station = (int)(StationD * 10000.0 - 0.5);
 
 		if (Station >= VonKm * 10000 && Station <= BisKm * 10000)
 		{
-			if (ProfilList->Find(Gewaesser, Station))
+			if (ProfilList->Find(Station))
 			{
-				write_warning(2111, "In der DBD-Datei '%s' kommt das Profil ('%s',%.4f) mehrfach vor.\nEs wird nur die erste Definition berücksichtigt.\n", DBFFileName.c_str(), Gewaesser.c_str(), Station / 10000.0);
+				write_warning(2111, "In der DBD-Datei '%s' kommt das Profil (%.4f) mehrfach vor.\nEs wird nur die erste Definition berücksichtigt.\n", DBFFileName.c_str(), Station / 10000.0);
 				continue;
 			}
 
@@ -1138,11 +1100,11 @@
 
 			if (AnzVert <= 0)
 			{
-				write_warning(2112, "In der DBD-Datei '%s' hat das Profil ('%s',%.4f) keine Stützstellen.\nEs wird ignoriert.\n", DBFFileName.c_str(), Gewaesser.c_str(), Station / 10000.0);
+				write_warning(2112, "In der DBD-Datei '%s' hat das Profil (%.4f) keine Stützstellen.\nEs wird ignoriert.\n", DBFFileName.c_str(), Station / 10000.0);
 				continue;
 			}
 
-			TProfil* Profil = new TProfil(Gewaesser, Station);
+			TProfil* Profil = new TProfil(Station);
 
 			ProfilList->insert(Profil);
 
@@ -1179,7 +1141,7 @@
 		for (TProfilList::iterator i = ProfilList->begin(); i != ProfilList->end(); i++)
 		{
 			TProfil* Profil = *i;
-			write_fortschritt("%s %d\n", Profil->Gewaesser.c_str(), Profil->Station);
+			write_fortschritt("%d\n", Profil->Station);
 		}
 	}
 
@@ -1208,59 +1170,49 @@
 			continue;
 		}
 
-		if (VorProfil->Gewaesser != NachProfil->Gewaesser)
-		{
-			i++;
-			continue;
-		}
-
 		TPoint* VorAnfang = *VorProfil->PointList->begin();
 		TPoint* VorEnde   = *VorProfil->PointList->rbegin();
 
 		TPoint* NachAnfang = *NachProfil->PointList->begin();
 		TPoint* NachEnde   = *NachProfil->PointList->rbegin();
 
-		double VAx = VorAnfang->X;
-		double VAy = VorAnfang->Y;
-		double VEx = VorEnde->X;
-		double VEy = VorEnde->Y;
-		double NAx = NachAnfang->X;
-		double NAy = NachAnfang->Y;
-		double NEx = NachEnde->X;
-		double NEy = NachEnde->Y;
+		long VAx = VorAnfang->X;
+		long VAy = VorAnfang->Y;
+		long VEx = VorEnde->X;
+		long VEy = VorEnde->Y;
+		long NAx = NachAnfang->X;
+		long NAy = NachAnfang->Y;
+		long NEx = NachEnde->X;
+		long NEy = NachEnde->Y;
 
-		double ADx = NAx - VAx;
-		double ADy = NAy - VAy;
-		if (fabs(ADx) < 0.00000001 && fabs(ADy) < 0.00000001)
+		long ADx = NAx - VAx;
+		long ADy = NAy - VAy;
+		if (ADx == 0 && ADy == 0)
 		{
-			write_error(3207, "Profil-Punkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", VAx, VAy, NAx, NAy);
+			write_error(3207, "Profil-Punkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", VAx / 100.0, VAy / 100.0, NAx / 100.0, NAy / 100.0);
 		}
 
-		double EDx = NEx - VEx;
-		double EDy = NEy - VEy;
-		if (fabs(EDx) < 0.00000001 && fabs(EDy) < 0.00000001)
+		long EDx = NEx - VEx;
+		long EDy = NEy - VEy;
+		if (EDx == 0 && EDy == 0)
 		{
-			write_error(3207, "Profil-Punkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", VEx, VEy, NEx, NEy);
+			write_error(3207, "Profil-Punkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", VEx / 100.0, VEy / 100.0, NEx / 100.0, NEy / 100.0);
 		}
 
 		double X = 0.0;
 		double Y = 0.0;
-		double LambdaA = -1;
-		double LambdaE = -1;
-		if (Calc2Schnitt(VAx, VAy, NAx, NAy, VEx, VEy, NEx, NEy, &X, &Y, &LambdaA, &LambdaE))
+		if (Calc2Schnitt(VAx, VAy, NAx, NAy, VEx, VEy, NEx, NEy, &X, &Y))
 		{
-			if (LambdaA < 0 || LambdaA > 1 || LambdaE < 0 || LambdaE > 1) continue;
-
 			// Hier ist ein echter Schnittpunkt gefunden
 			// Jetzt muss das NachProfil in seiner Reihenfolge vertauscht werden
 
 			SwitchCount++;
 
-			TProfil* ExChangeProfil = new TProfil(NachProfil->Gewaesser, NachProfil->Station);
+			TProfil* ExChangeProfil = new TProfil(NachProfil->Station);
 			for (TPointList::reverse_iterator j = NachProfil->PointList->rbegin(); j != NachProfil->PointList->rend(); j++)
 			{
-				long X = (*j)->X;
-				long Y = (*j)->Y;
+				long X = (long)((*j)->X + 0.5);
+				long Y = (long)((*j)->Y + 0.5);
 
 				ExChangeProfil->AddPoint(X, Y);
 			}
@@ -1414,13 +1366,11 @@
 
 		if (Typ == "SPERRE" || Typ == "Sperre" || Typ == "sperre")
 		{
-			Typ = "SPERRE";
+			Typ = "DAMM";
 		}
 		else if (Typ == "DAMM" || Typ == "Damm" || Typ == "damm")
 		{
-			// Der Typ 'DAMM' wurde noch nicht benutzt und wird immer schon mal unterstützt
-			write_warning(9999, "Der Typ 'Damm' wurde in der Datei '%s' benutzt.\nEr wird noch nicht offiziell unterstützt.\n", DBFFileName.c_str());
-			Typ = "SPERRE";
+			Typ = "DAMM";
 		}
 		else if (Typ == "GRABEN" || Typ == "Graben" || Typ == "graben")
 		{
@@ -1428,8 +1378,6 @@
 		}
 		else if (Typ == "BRUCH" || Typ == "Bruch" || Typ == "bruch")
 		{
-			// Der Typ 'BRUCH' wurde früher benutzt und wird immer noch unterstützt
-			write_warning(9999, "Der Typ 'Bruch' wurde in der Datei '%s' benutzt.\nEr wird nur noch ubergangweise unterstützt.\nBitte ändern sie ihn in 'GRABEN'.\n", DBFFileName.c_str());
 			Typ = "GRABEN";
 		}
 		else if (Typ == "ROHR" || Typ == "Rohr" || Typ == "rohr")
@@ -1438,7 +1386,7 @@
 		}
 		else
 		{
-			write_warning(3112, "Das Attribut 'TYP' (%s) in der Datei '%s' darf nur die Werte 'SPERRE' oder 'BRUCH' haben.\nDas Linienobjekt wird ignoriert.\n", Typ.c_str(), DBFFileName.c_str());
+			write_warning(3112, "Das Attribut 'TYP' in der Datei '%s' darf nur die Werte 'Damm', 'Graben' oder 'Rohr' haben.\nDas Linienobjekt '%s' wird ignoriert.\n", DBFFileName.c_str(), Typ.c_str());
 			continue;
 		}
 
@@ -1454,9 +1402,9 @@
 		}
 
 		// Der Wasserstand muss so hoch sein, damit später auch alle Knoten der Bruckkante erzeugt werden können
-		TProfil* Linie = new TProfil(Typ, i, 999999);
+		TProfil* Linie = new TProfil(i, 999999);
 
-		if (Typ == "SPERRE")		SperrenList->insert(Linie);
+		if (Typ == "DAMM")			SperrenList->insert(Linie);
 		else if (Typ == "GRABEN")	GrabenList->insert(Linie);
 		else if (Typ == "ROHR")		RohreList->insert(Linie);
 		else						dump_error(__FILE__, __LINE__, "Unbekannter Typ '%s' in der Datei '%s'\n", Typ.c_str(), DBFFileName.c_str());
@@ -1529,7 +1477,6 @@
 		write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", FileName.c_str());
 	}
 
-	int GewCol =0;
 	int StationCol =0;
 	int WspCol =0;
 
@@ -1547,7 +1494,6 @@
 
 		char* End = line + strlen(line);
 
-		std::string Gewaesser = "";
 		double		StationD = 0.0;
 		double		WspD = 0.0;
 
@@ -1564,11 +1510,6 @@
 
 			if (AktZeile == 1)
 			{
-				if (strcmp(Col, "GEW") == 0 || strcmp(Col, "Gew") == 0 || strcmp(Col, "gew") == 0 || strcmp(Col, "GEWÄSSER") == 0 || strcmp(Col, "Gewässer") == 0 || strcmp(Col, "gewässer") == 0)
-				{
-					GewCol = AktCol;
-					ColOk++;
-				}
 				if (strcmp(Col, "STATION") == 0 || strcmp(Col, "Station") == 0 || strcmp(Col, "station") == 0 || strcmp(Col, "KILOMETER") == 0 || strcmp(Col, "Kilometer") == 0 || strcmp(Col, "kilometer") == 0 || strcmp(Col, "KM") == 0 || strcmp(Col, "Km") == 0 || strcmp(Col, "km") == 0)
 				{
 					StationCol = AktCol;
@@ -1582,11 +1523,6 @@
 			}
 			else
 			{
-				if (AktCol == GewCol)
-				{
-					Gewaesser = Col;
-					ColOk++;
-				}
 				if (AktCol == StationCol)
 				{
 					if (1 != sscanf(Col, "%lf", &StationD))
@@ -1604,14 +1540,14 @@
 					ColOk++;
 				}
 			}
-			if (ColOk == 3)	break;
+			if (ColOk == 2)	break;
 
 			P = P + strlen(Col) + 1;
 		}
 
-		if (ColOk != 3 && AktZeile == 1) write_error(2215, "Nicht genug Informationen in der ersten Zeile\nEs müssen die Feldnamen GEW, STATION und WSP vorkommen.\n");
+		if (ColOk != 2 && AktZeile == 1) write_error(2215, "Nicht genug Informationen in der ersten Zeile\nEs müssen die Feldnamen STATION und WSP vorkommen.\n");
 
-		if (ColOk != 3 && AktZeile > 1) write_error(2215, "Nicht genug Informationen in der Zeile %d.\n", AktZeile);
+		if (ColOk != 2 && AktZeile > 1) write_error(2215, "Nicht genug Informationen in der Zeile %d.\nEs müssen die Feldnamen STATION und WSP vorkommen.\n", AktZeile);
 
 		if (AktZeile == 1) continue;
 
@@ -1621,7 +1557,7 @@
 		int Wsp = (int)(WspD * 100.0 + 0.5);
 		if (WspD < 0)	Wsp = (int)(WspD * 100.0 - 0.5);
 
-		TProfil* Profil = new TProfil(Gewaesser, Station, Wsp);
+		TProfil* Profil = new TProfil(Station, Wsp);
 
 		ProfilList->insert(Profil);
 
@@ -1677,41 +1613,6 @@
 		write_error(2206, "In der DBD-Datei %s' sind keine Attribute definiert\nEs müssen aber mindestens die Attibute GEW und STATION definiert sein.\n", DBFFileName.c_str());
 	}
 
-	std::string GewName = "GEW";
-	int GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	if (GewFieldIndex == -1)
-	{
-		GewName = "Gew";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "gew";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "GEWÄSSER";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "Gewässer";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "gewässer";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-
-	if (GewFieldIndex == -1)
-	{
-		DBFClose(hDBF);
-
-		write_error(2207, "In der DBD-Datei %s' ist das Attribut 'GEW' nicht definiert\nEs muss aber vorhanden sein.\n", DBFFileName.c_str());
-	}
-
 	std::string StationName = "STATION";
 	int StationFieldIndex = DBFGetFieldIndex(hDBF, StationName.c_str());
 	if (StationFieldIndex == -1)
@@ -1799,13 +1700,7 @@
 
 	int Width = 0;
 	int Decimals = 0;
-	if (DBFGetFieldInfo(hDBF, GewFieldIndex, NULL, &Width, &Decimals) != FTString)
-	{
-		DBFClose(hDBF);
 
-		write_error(2209, "In der DBD-Datei '%s' ist der Attribut-Typ des Attributes '%s' nicht Text.\n", DBFFileName.c_str(), GewName.c_str());
-	}
-
 	if (DBFGetFieldInfo(hDBF, StationFieldIndex, NULL, &Width, &Decimals) != FTDouble)
 	{
 		DBFClose(hDBF);
@@ -1823,23 +1718,22 @@
 	int Count = 0;
 	for (int i = 0; i<RecordCount; i++)
 	{
-		std::string Gewaesser = DBFReadStringAttribute(hDBF, i, GewFieldIndex);
 		double StationD = DBFReadDoubleAttribute(hDBF, i, StationFieldIndex);
 		double WspD = DBFReadDoubleAttribute(hDBF, i, WspFieldIndex);
 
 		int Station = (int)(StationD * 10000.0 + 0.5);
-		if (StationD) Station = (int)(StationD * 10000.0 - 0.5);
+		if (StationD < 0) Station = (int)(StationD * 10000.0 - 0.5);
 
 		int Wsp = (int)(WspD * 100.0 + 0.5);
 		if (WspD < 0)	Wsp = (int)(WspD * 100.0 - 0.5);
 
-		if (ProfilList->Find(Gewaesser, Station))
+		if (ProfilList->Find(Station))
 		{
-			write_warning(2111, "In der DBD-Datei '%s' kommt der Wasserstand ('%s',%.4f) mehrfach vor.\nEs wird nur die erste Definition berücksichtigt.\n", DBFFileName.c_str(), Gewaesser.c_str(), Station / 10000.0);
+			write_warning(2111, "In der DBD-Datei '%s' kommt der Wasserstand (%.4f) mehrfach vor.\nEs wird nur die erste Definition berücksichtigt.\n", DBFFileName.c_str(), Station / 10000.0);
 			continue;
 		}
 
-		TProfil* Profil = new TProfil(Gewaesser, Station, Wsp);
+		TProfil* Profil = new TProfil(Station, Wsp);
 
 		ProfilList->insert(Profil);
 
@@ -1929,80 +1823,22 @@
 
 	int RecordCount = SHPRecordCount;
 
-	int FieldCount = DBFGetFieldCount(hDBF);
-
-	if (FieldCount == 0)
-	{
-		SHPClose(hSHP);
-		DBFClose(hDBF);
-
-		write_error(2206, "In der DBD-Datei %s' sind keine Attribute definiert\nEs müssen aber mindestens die Attibute GEW und STATION definiert sein.\n", DBFFileName.c_str());
-	}
-
-	std::string GewName = "GEW";
-	int GewFieldIndex = DBFGetFieldIndex(hDBF, "GEW");
-	if (GewFieldIndex == -1)
-	{
-		GewName = "Gew";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "gew";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "GEWÄSSER";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "Gewässer";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-	if (GewFieldIndex == -1)
-	{
-		GewName = "gewässer";
-		GewFieldIndex = DBFGetFieldIndex(hDBF, GewName.c_str());
-	}
-
-	if (GewFieldIndex == -1)
-	{
-		SHPClose(hSHP);
-		DBFClose(hDBF);
-
-		write_error(2207, "In der DBD-Datei %s' ist das Attribut 'GEW' nicht definiert\nEs muss aber vorhanden sein.\n", DBFFileName.c_str());
-	}
-
-	int Width = 0;
-	int Decimals = 0;
-	if (DBFGetFieldInfo(hDBF, GewFieldIndex, NULL, &Width, &Decimals) != FTString)
-	{
-		SHPClose(hSHP);
-		DBFClose(hDBF);
-
-		write_error(2209, "In der DBD-Datei '%s' ist der Attribut-Typ des Attributes 'GEW' nicht Text.\n", DBFFileName.c_str());
-	}
-
 	int Count = 0;
 	for (int i = 0; i<RecordCount; i++)
 	{
-		std::string Gewaesser = DBFReadStringAttribute(hDBF, i, GewFieldIndex);
-
 		SHPObject *psCShape = SHPReadObject(hSHP, i);
 
 		int AnzVert = psCShape->nVertices;
 
 		if (AnzVert <= 0)
 		{
-			write_warning(2118, "In der DBD-Datei '%s' hat eine Gewässerachse ('%s') keine Stützstellen.\nSie wird ignoriert.\n", DBFFileName.c_str(), Gewaesser.c_str());
+			write_warning(2118, "In der SHP-Datei '%s' hat eine Gewässerachse keine Stützstellen.\nSie wird ignoriert.\n", SHPFileName.c_str());
 			continue;
 		}
 
-		TGewaesserAchse* GewaesserAchse = new TGewaesserAchse(Gewaesser, i);
+		TGewaesserAchse* GewaesserAchse = new TGewaesserAchse();
 
-		GewaesserAchseList->insert(GewaesserAchse);
+		GewaesserAchseList->push_back(GewaesserAchse);
 
 		for (int j=0; j < AnzVert; j++)
 		{
@@ -2240,12 +2076,6 @@
 		write_error(4201, "Kann Datei '%s' nicht zum Schreiben öffnen\n", FileName.c_str());
 	}
 
-	if (DBFAddField(DBFHandle, "GEW", FTString, 255, 0) == -1)
-	{
-		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'GEW' nicht erzeugen\n", FileName.c_str());
-	}
-
 	if (DBFAddField(DBFHandle, "STATION", FTDouble, 10, 4) == -1)
 	{
 		DBFClose(DBFHandle);
@@ -2266,9 +2096,8 @@
 	{
 		TProfil* Profil = *i;
 
-		std::string Gewaesser = Profil->Gewaesser;
 		double		Station = Profil->Station / 10000.0;
-		double		Wsp = Profil->Wsp / 100;
+		double		Wsp = Profil->Wsp / 100.0;
 
 		double	*x = (double *)malloc(sizeof(double) * (Profil->PointList->size() + 1));
 		double 	*y = (double *)malloc(sizeof(double) * (Profil->PointList->size() + 1));
@@ -2293,9 +2122,8 @@
 		SHPWriteObject(SHPHandle, -1, psShape);
 		SHPDestroyObject(psShape);
 
-		DBFWriteStringAttribute(DBFHandle, AnzProfil, 0, Gewaesser.c_str());
-		DBFWriteDoubleAttribute(DBFHandle, AnzProfil, 1, Station);
-		DBFWriteDoubleAttribute(DBFHandle, AnzProfil, 2, Wsp);
+		DBFWriteDoubleAttribute(DBFHandle, AnzProfil, 0, Station);
+		DBFWriteDoubleAttribute(DBFHandle, AnzProfil, 1, Wsp);
 
 		free(x);
 		free(y);
@@ -2319,7 +2147,7 @@
 }
 
 //---------------------------------------------------------------------------
-bool SavePolygon(std::string FileName, std::string Gewaesser, int Von, int Bis, TXYList *XyList, int DebugLevel)
+bool SavePolygon(std::string FileName, TXYList *XyList, int DebugLevel)
 {
 	write_fortschritt("->Speichern des Polygons gestartet\n");
 
@@ -2331,27 +2159,14 @@
 		write_error(4201, "Kann Datei '%s' nicht zum Schreiben öffnen\n", FileName.c_str());
 	}
 
-	if (DBFAddField(DBFHandle, "GEW", FTString, 255, 0) == -1)
+	if (DBFAddField(DBFHandle, "ID", FTInteger, 10, 0) == -1)
 	{
 		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'GEW' nicht erzeugen\n", FileName.c_str());
+		write_error(4204, "Kann bei Datei '%s' das Attribut 'ID' nicht erzeugen\n", FileName.c_str());
 	}
 
-	if (DBFAddField(DBFHandle, "VON", FTInteger, 10, 0) == -1)
-	{
-		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'VON' nicht erzeugen\n", FileName.c_str());
-	}
-
-	if (DBFAddField(DBFHandle, "BIS", FTInteger, 10, 0) == -1)
-	{
-		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'BIS' nicht erzeugen\n", FileName.c_str());
-	}
-
 	SHPHandle SHPHandle = SHPCreate(FileName.c_str(), SHPT_POLYGON);
 
-
 	double	*x = (double *)malloc(sizeof(double) * (XyList->size()+1));
 	double 	*y = (double *)malloc(sizeof(double) * (XyList->size()+1));
 	double 	*z = (double *)malloc(sizeof(double) * (XyList->size()+1));
@@ -2392,9 +2207,7 @@
 	SHPWriteObject(SHPHandle, -1, psShape);
 	SHPDestroyObject(psShape);
 
-	DBFWriteStringAttribute(DBFHandle, 0, 0, Gewaesser.c_str());
-	DBFWriteDoubleAttribute(DBFHandle, 0, 1, Von);
-	DBFWriteDoubleAttribute(DBFHandle, 0, 2, Bis);
+	DBFWriteIntegerAttribute(DBFHandle, 0, 0, 0);
 
 	free(x);
 	free(y);
@@ -2423,30 +2236,12 @@
 		write_error(4201, "Kann Datei '%s' nicht zum Schreiben öffnen\n", FileName.c_str());
 	}
 
-	if (DBFAddField(DBFHandle, "GEW", FTString, 255, 0) == -1)
+	if (DBFAddField(DBFHandle, "DIFF", FTDouble, 12, 4) == -1)
 	{
 		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'GEW' nicht erzeugen\n", FileName.c_str());
+		write_error(4204, "Kann bei Datei '%s' das Attribut 'DIFF' nicht erzeugen\n", FileName.c_str());
 	}
 
-	if (DBFAddField(DBFHandle, "VONKM", FTDouble, 12, 4) == -1)
-	{
-		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'VON' nicht erzeugen\n", FileName.c_str());
-	}
-
-	if (DBFAddField(DBFHandle, "BISKM", FTDouble, 12, 4) == -1)
-	{
-		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'BIS' nicht erzeugen\n", FileName.c_str());
-	}
-
-	if (DBFAddField(DBFHandle, "DELTA", FTDouble, 12, 4) == -1)
-	{
-		DBFClose(DBFHandle);
-		write_error(4204, "Kann bei Datei '%s' das Attribut 'BIS' nicht erzeugen\n", FileName.c_str());
-	}
-
 	TErgebnisPolygonList *ErgebnisPolygonList = PolygonList->Copy();
 
 	SHPHandle SHPHandle = SHPCreate(FileName.c_str(), SHPT_POLYGON);
@@ -2457,9 +2252,6 @@
 	{
 		TErgebnisPolygon* ErgebnisPolygon = *i;
 
-		std::string AktGewaesser = ErgebnisPolygon->Gewaesser;
-		double AktVonKm = ErgebnisPolygon->VonKm;
-		double AktBisKm = ErgebnisPolygon->BisKm;
 		double AktDiff = ErgebnisPolygon->Diff;
 
 		size_t	Size = 0;
@@ -2476,9 +2268,9 @@
 		for (TErgebnisPolygonList::iterator j = ErgebnisPolygonList->begin(); j != ErgebnisPolygonList->end(); j++)
 		{
 			TErgebnisPolygon* EP1 = *j;
-			if (EP1->Gewaesser != AktGewaesser || EP1->VonKm != AktVonKm || EP1->BisKm != AktBisKm || EP1->Diff != AktDiff)
+			if (EP1->Diff != AktDiff)
 			{
-				// Andere Gewässer oder Abschnitte werden im Moment noch nicht bearbeitet
+				// Diffs werden im Moment noch nicht bearbeitet
 				continue;
 			}
 
@@ -2500,9 +2292,9 @@
 					continue;
 				}
 
-				if (EP2->Gewaesser != AktGewaesser || EP2->VonKm != AktVonKm || EP2->BisKm != AktBisKm || EP2->Diff != AktDiff)
+				if (EP2->Diff != AktDiff)
 				{
-					// Andere Gewässer oder Abschnitte werden im Moment noch nicht bearbeitet
+					// Andere Diffs werden im Moment noch nicht bearbeitet
 					continue;
 				}
 
@@ -2547,14 +2339,11 @@
 			}
 		}
 
-		if (DebugLevel >= 1) write_fortschritt("%d. Polygon Gewässer %s %.4f - %.4f, Wassertiefe %.2f, %d Teile, %d Ecken\n", Count+1, AktGewaesser.c_str(), AktVonKm, AktBisKm, AktDiff, AnzPolyParts, AnzPolyPoints);
+		if (DebugLevel >= 1) write_fortschritt("%d. Polygon Wassertiefe %.2f, %d Teile, %d Ecken\n", Count+1, AktDiff / 100.0, AnzPolyParts, AnzPolyPoints);
 
 		if (AnzPolyParts > 0 && AnzPolyPoints > 0)
 		{
-			DBFWriteStringAttribute(DBFHandle, Count, 0, AktGewaesser.c_str());
-			DBFWriteDoubleAttribute(DBFHandle, Count, 1, AktVonKm);
-			DBFWriteDoubleAttribute(DBFHandle, Count, 2, AktBisKm);
-			DBFWriteDoubleAttribute(DBFHandle, Count, 3, AktDiff);
+			DBFWriteDoubleAttribute(DBFHandle, Count, 0, AktDiff / 100.0);
 
 			SHPObject *psShape = SHPCreateObject(SHPT_POLYGON, -1, AnzPolyParts, ps, NULL, AnzPolyPoints, x, y, z, m);
 			SHPRewindObject(SHPHandle, psShape);
@@ -2575,7 +2364,7 @@
 		while (j != ErgebnisPolygonList->end())
 		{
 			TErgebnisPolygon* EP1 = *j;
-			if (EP1->Gewaesser == AktGewaesser && EP1->VonKm == AktVonKm && EP1->BisKm == AktBisKm && EP1->Diff == AktDiff)
+			if (EP1->Diff == AktDiff)
 			{
 				delete EP1;
 				ErgebnisPolygonList->erase(j);

Modified: trunk/src/file.h
===================================================================
--- trunk/src/file.h	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/file.h	2006-06-09 19:54:01 UTC (rev 51)
@@ -44,7 +44,7 @@
 bool 			SaveNodes(std::string FileName, TNodeList *NodeList, int DebugLevel);
 bool 			SaveElements(std::string FileName, TElementList *ElementList, int DebugLevel);
 bool 			SaveProfile(std::string FileName, TProfilList *ProfilList, int DebugLevel);
-bool 			SavePolygon(std::string FileName, std::string Gewaesser, int Von, int Bis, TXYList *XyList, int DebugLevel);
+bool 			SavePolygon(std::string FileName, TXYList *XyList, int DebugLevel);
 bool 			SavePolygone(std::string FileName, TErgebnisPolygonList *ErgebnisPolygonList, int DebugLevel);
 bool 			SaveEdges(std::string FileName, TEdgeList *EdgeList, int DebugLevel);
 

Modified: trunk/src/parameter.cpp
===================================================================
--- trunk/src/parameter.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/parameter.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -263,12 +263,14 @@
 			{
 				IsSetVon = true;
 				Von = (int)(D * 100.0 + 0.5);
+				if (D < 0.0) Von = (int)(D * 100.0 - 0.5);
 			}
 
 			if (1 == sscanf(Parameter.substr(FirstKommaPos + 1).c_str(), "%lf", &D))
 			{
 				IsSetBis = true;
 				Bis = (int)(D * 100.0 + 0.5);
+				if (D < 0.0) Bis = (int)(D * 100.0 - 0.5);
 			}
 
 			if (1 == sscanf(Parameter.substr(SecondKommaPos + 1).c_str(), "%lf", &D))

Modified: trunk/src/quadtree.cpp
===================================================================
--- trunk/src/quadtree.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/quadtree.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -1,5 +1,5 @@
 //
-// $Id: quadtree.cpp 49 2006-05-26 05:12:48Z mrchip $
+// $Id$
 //
 // Copyright (C) 2005 STADT-LAND-FLUSS INGENIEURDIENSTE GmbH
 //


Property changes on: trunk/src/quadtree.cpp
___________________________________________________________________
Name: svn:keywords
   + Id


Property changes on: trunk/src/quadtree.h
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: trunk/src/test_file.cpp
===================================================================
--- trunk/src/test_file.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/test_file.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -379,7 +379,7 @@
 
 		LoadWsp(WSPFILE, WspList, 8);
 
-		if (WspList->size() != 5668)	printf("Failed\n");
+		if (WspList->size() != 2834)	printf("Failed\n");
 		else							printf("Pass\n");
 
 		delete WspList;
@@ -396,7 +396,7 @@
 
 		LoadWsp(WSPFILE2, WspList, 8);
 
-		if (WspList->size() != 42)	printf("Failed\n");
+		if (WspList->size() != 32)	printf("Failed\n");
 		else						printf("Pass\n");
 
 		delete WspList;

Modified: trunk/src/test_profil.cpp
===================================================================
--- trunk/src/test_profil.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/test_profil.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -31,8 +31,8 @@
 
 	printf ("Test Profile erzeugen:                                               ");
 
-	TProfil *Profil1 = new TProfil("Weser", 2502000);
-	TProfil *Profil2 = new TProfil("Weser", 2507000);
+	TProfil *Profil1 = new TProfil(2502000);
+	TProfil *Profil2 = new TProfil(2507000);
 
 	Profil1->AddPoint(1, 2);
 	Profil1->AddPoint(3, 2, 1);
@@ -86,7 +86,7 @@
 
 	printf ("Test Profilliste:                                                    ");
 
-	TProfil *Profil4 = new TProfil("Weser", 1050000);
+	TProfil *Profil4 = new TProfil(1050000);
 
 	Profil4->AddPoint(4, 2);
 	Profil4->AddPoint(5, 3);
@@ -94,7 +94,7 @@
 	Profil4->AddPoint(7, 5);
 	Profil4->AddPoint(8, 6);
 
-	TProfil *Profil5 = new TProfil("Weser", 1015000);
+	TProfil *Profil5 = new TProfil(1015000);
 
 	Profil5->AddPoint(14, 22);
 	Profil5->AddPoint(15, 23);
@@ -102,7 +102,7 @@
 	Profil5->AddPoint(17, 25);
 	Profil5->AddPoint(18, 26);
 
-	TProfil *Profil6 = new TProfil("Aller", 994000);
+	TProfil *Profil6 = new TProfil(994000);
 
 	Profil6->AddPoint(4, 2);
 	Profil6->AddPoint(1, 2);
@@ -126,7 +126,7 @@
 	// Jetzt nochmal mit dynamisch erzeugt Pointern
 	for (unsigned int i=0; i < 113; i++)
 	{
-		TProfil *Profil = new TProfil("Weser", (i * 79) % 113);
+		TProfil *Profil = new TProfil((i * 79) % 113);
 
 		Profil->AddPoint(i, i+0, 11000);
 		Profil->AddPoint(i, i+1, 22000);
@@ -139,14 +139,14 @@
 
 	int Size2 = ProfilList->size();
 
-	TProfil *Profil10 = new TProfil("Aller", 100000);
+	TProfil *Profil10 = new TProfil(100000);
 
 	Profil10->AddPoint(101, 101, 101);
 	Profil10->AddPoint(102, 102, 102);
 
 	ProfilList->insert(Profil10);
 
-	TProfil *Profil11 = new TProfil("Aller", 110000);
+	TProfil *Profil11 = new TProfil(110000);
 
 	Profil11->AddPoint(111, 111, 111);
 	Profil11->AddPoint(112, 112, 112);
@@ -160,20 +160,6 @@
 	else if (Size3 != 115)		printf("Failed\n");
 	else						printf("Pass\n");
 
-	////////////////////////////////////////
-	////////////////////////////////////////
-
-	printf ("Test Profilsuche:                                                    ");
-
-	TProfil* FoundProfil1 = ProfilList->Find("Weser", 79);
-	TProfil* FoundProfil2 = ProfilList->Find("Aller", 100000);
-
-	if (0 == FoundProfil1)						printf("Failed\n");
-	else if (0 == FoundProfil2)					printf("Failed\n");
-	else if (FoundProfil1->Station != 79)		printf("Failed\n");
-	else if (FoundProfil2->Station != 100000)	printf("Failed\n");
-	else										printf("Pass\n");
-
 	printf ("*************************************************************************\n");
 }
 

Modified: trunk/src/test_quadtree.cpp
===================================================================
--- trunk/src/test_quadtree.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/test_quadtree.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -40,7 +40,7 @@
 	printf ("Test QuadTree\n");
 
 	{
-		printf ("Test QuadTree 1 Knoten :                                             ");
+		printf ("Test QuadTree 1 Knoten:                                              ");
 
 		// Zuerst einen paar Punkte generieren
 		TNode *Node = new TNode(1, 1, 1, 0);
@@ -65,7 +65,7 @@
 	}
 
 	{
-		printf ("Test QuadTree 4 Knoten :                                             ");
+		printf ("Test QuadTree 4 Knoten:                                              ");
 
 		// Zuerst einen paar Punkte generieren
 		TNode *Node1 = new TNode(1, 1, 1, 0);
@@ -105,7 +105,7 @@
 	}
 
 	{
-		printf ("Test QuadTree 7 Knoten :                                             ");
+		printf ("Test QuadTree 7 Knoten:                                              ");
 
 		// Zuerst einen paar Punkte generieren
 		TNode *Node1 = new TNode(1, 1, 1, 0);
@@ -152,7 +152,7 @@
 	}
 
 	{
-		printf ("Test QuadTree 9 Knoten :                                             ");
+		printf ("Test QuadTree 9 Knoten:                                              ");
 		TNode *Node01 = new TNode(1, 1, 1, 0);
 		TNode *Node02 = new TNode(2, 1, 2, 0);
 		TNode *Node03 = new TNode(3, 1, 3, 0);
@@ -201,7 +201,7 @@
 	}
 
 	{
-		printf ("Test QuadTree 12 Knoten :                                            ");
+		printf ("Test QuadTree 12 Knoten:                                             ");
 		TNode *Node01 = new TNode(1, 1, 1, 0);
 		TNode *Node02 = new TNode(2, 9, 1, 0);
 		TNode *Node03 = new TNode(3, 9, 9, 0);
@@ -259,7 +259,7 @@
 	}
 
 	{
-		printf ("Test QuadTree 1126 Knoten :                                          ");
+		printf ("Test QuadTree 1126 Knoten:                                           ");
 
 		TNodeList *NodeList = new TNodeList();
 		TElementList *ElementList = new TElementList();

Modified: trunk/src/test_tools.cpp
===================================================================
--- trunk/src/test_tools.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/test_tools.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -39,20 +39,83 @@
 	printf ("Test Tools\n");
 
 	////////////////////////////////////////
+	// Test von Calc2Schnitt
+	////////////////////////////////////////
+
+	{
+		printf ("Test Calc2Schnitt:                                                   ");
+
+		TNode N1(1, 1, 1, 1);
+		TNode N2(2, 4, 4, 1);
+		TNode N3(3, 1, 4, 1);
+		TNode N4(4, 4, 1, 1);
+
+		TNode N5(5, 350000000, 580000000, 100);
+		TNode N6(5, 350000100, 580000200, 100);
+		TNode N7(7, 350000060, 580000060, 100);
+		TNode N8(8, 350000060, 580000250, 100);
+
+		TNode N9 ( 9, 350000000, 580000000, 100);
+		TNode N10(10, 350000110, 580000200, 100);
+		TNode N11(11, 349999390, 579998780, 100);
+		TNode N12(12, 350000890, 580001750, 100);
+
+		double X1, Y1;
+		bool OK1 = Calc2Schnitt(N1.X, N1.Y, N2.X, N2.Y, N3.X, N3.Y, N4.X, N4.Y, &X1, &Y1);
+
+		double X2, Y2;
+		bool OK2 = Calc2Schnitt(N1.X, N1.Y, N3.X, N3.Y, N2.X, N2.Y, N4.X, N4.Y, &X2, &Y2);
+
+		double X3, Y3;
+		bool OK3 = Calc2Schnitt(N1.X, N1.Y, N4.X, N4.Y, N2.X, N2.Y, N3.X, N3.Y, &X3, &Y3);
+
+		double X4, Y4;
+		bool OK4 = Calc2Schnitt(N5.X, N5.Y, N6.X, N6.Y, N7.X, N7.Y, N8.X, N8.Y, &X4, &Y4);
+
+		double X5, Y5;
+		bool OK5 = Calc2Schnitt(N7.X, N7.Y, N8.X, N8.Y, N5.X, N5.Y, N6.X, N6.Y, &X5, &Y5);
+
+		double X6, Y6;
+		bool OK6 = Calc2Schnitt(N9.X, N9.Y, N10.X, N10.Y, N11.X, N11.Y, N12.X, N12.Y, &X6, &Y6);
+
+		double X7, Y7;
+		bool OK7 = Calc2Schnitt(N11.X, N11.Y, N12.X, N12.Y, N9.X, N9.Y, N10.X, N10.Y, &X7, &Y7);
+
+		if (false == OK1)							printf("Failed\n");
+		else if (fabs(X1 - 2.5) > 0.01)				printf("Failed\n");
+		else if (fabs(Y1 - 2.5) > 0.01)				printf("Failed\n");
+		else if (true == OK2)						printf("Failed\n");
+		else if (true == OK3)						printf("Failed\n");
+		else if (false == OK4)						printf("Failed\n");
+		else if (fabs(X4 - 350000060) > 0.01)		printf("Failed\n");
+		else if (fabs(Y4 - 580000120) > 0.01)		printf("Failed\n");
+		else if (false == OK5)						printf("Failed\n");
+		else if (fabs(X5 - 350000060) > 0.01)		printf("Failed\n");
+		else if (fabs(Y5 - 580000120) > 0.01)		printf("Failed\n");
+		else if (false == OK6)						printf("Failed\n");
+		else if (fabs(X6 - 350000075.39) > 0.01)	printf("Failed\n");
+		else if (fabs(Y6 - 580000137.08) > 0.01)	printf("Failed\n");
+		else if (false == OK7)						printf("Failed\n");
+		else if (fabs(X7 - 350000075.39) > 0.01)	printf("Failed\n");
+		else if (fabs(Y7 - 580000137.08) > 0.01)	printf("Failed\n");
+		else										printf("Pass\n");
+	}
+
+	////////////////////////////////////////
 	// Test von CircumCircle
 	////////////////////////////////////////
 
 	{
-		printf ("Test CircumCircle :                                                  ");
+		printf ("Test CircumCircle:                                                   ");
 
 		TNode N1(1, 1, 1, 1);
 		TNode N2(2, 3, 4, 1);
 		TNode N3(3, 3, 6, 1);
 		TNode N4(4, 3, 7, 1);
-		TNode N5(5, 350083339,587315140, 100);
-		TNode N6(6, 350083554,587315565, 100);
-		TNode N7(7, 350080924,587315903, 100);
-		TNode N8(8, 350081510,587317062, 100);
+		TNode N5(5, 350083339, 587315140, 100);
+		TNode N6(6, 350083554, 587315565, 100);
+		TNode N7(7, 350080924, 587315903, 100);
+		TNode N8(8, 350081510, 587317062, 100);
 
 		double CX1, CY1, R1;
 		bool OK1 = CircumCircle(N1.X, N1.Y, N2.X, N2.Y, N3.X, N3.Y, &CX1, &CY1, &R1);
@@ -87,7 +150,7 @@
 	////////////////////////////////////////
 
 	{
-		printf ("Test ToUpperCase :                                                   ");
+		printf ("Test ToUpperCase:                                                    ");
 
 		std::string Lower = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaabbccddeeff";
 		std::string Upper = ToUpperCase(Lower);
@@ -245,7 +308,7 @@
 	////////////////////////////////////////
 
 	{
-		printf ("Test BuildEdgeList :                                                 ");
+		printf ("Test BuildEdgeList:                                                  ");
 
 		TNodeList *NodeList = new TNodeList();
 		TElementList *ElementList = new TElementList();

Modified: trunk/src/test_tri.cpp
===================================================================
--- trunk/src/test_tri.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/test_tri.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -51,7 +51,7 @@
 	printf ("Test Triangulierung\n");
 
 	{
-		printf ("Test Triangulierung 3 Knoten :                                       ");
+		printf ("Test Triangulierung 3 Knoten:                                        ");
 
 		// Zuerst ein paar Punkte generieren
 		TNode *N01 = new TNode(1, 1, 1, 0);

Modified: trunk/src/tools.cpp
===================================================================
--- trunk/src/tools.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/tools.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -371,83 +371,6 @@
 }
 
 //---------------------------------------------------------------------------
-long CheckSpeed(int DebugLevel)
-{
-	write_fortschritt("->Ermitteln der Geschwindigkeit\n");
-
-	long Duration = 10 * 1000;
-
-	unsigned long MemSegSize = 0;
-	long DiffMSec = 0;
-
-	if (DebugLevel >= 8)
-	{
-		// Dies ist nur für reproduzierbare Debug-Ergebnisse auf
-		// verschiedenen Computern drin
-
-		MemSegSize = 300 * 1024 * 1024;
-		DiffMSec = Duration;
-		write_fortschritt("Aufgrund des DebugLevels wird die Geschwindigkeit nicht ermittelt sondern fest gesetzt.\n");
-	}
-	else
-	{
-		struct timeb Start;
-		ftime (&Start);
-
		long StartMSec = Start.time * 1000 + Start.millitm;
-
-		struct timeb Now;
-		ftime (&Now);
-
		long NowMSec = Now.time * 1000 + Now.millitm;
-
-
		unsigned long MemSegSizeInc = 50 * 1024 * 1024; // 20 MB Blöcke
-		MemSegSize = MemSegSizeInc;
-		unsigned long *Mem = 0;
-
-		DiffMSec = NowMSec - StartMSec;
-		while (DiffMSec < Duration)
-		{
-			write_fortschritt("%.2f von %.2f Sekunden getestet\n", DiffMSec / 1000.0, Duration / 1000.0);
-
-			Mem = (unsigned long *)SfRealloc(Mem, MemSegSize);
-
-			for (unsigned long i = 0L; i < MemSegSize / sizeof(*Mem); i=i+sizeof(*Mem))
-			{
-				Mem[i] = i;
-
-				if (i % 100000 == 0)
-				{
-					ftime (&Now);
-					NowMSec = Now.time * 1000 + Now.millitm;
-					DiffMSec = NowMSec - StartMSec;
-
-					if (DiffMSec > Duration) break;
-				}
-			}
-
-			MemSegSize = MemSegSize + MemSegSizeInc;
-
-			ftime (&Now);
-			NowMSec = Now.time * 1000 + Now.millitm;
-			DiffMSec = NowMSec - StartMSec;
-		}
-
-		write_fortschritt("Gebe %.2f MB Speicher wieder frei\n", MemSegSize / 1024.0 / 1024.0);
-
-		free(Mem);
-
-		ftime (&Now);
-		NowMSec = Now.time * 1000 + Now.millitm;
-		DiffMSec = NowMSec - StartMSec;
-	}
-
-	write_fortschritt("%.2f MB Speicher in %.2f sec bearbeitet (%.2f MB/s)\n", MemSegSize / 1024.0 / 1024.0, DiffMSec / 1000.0, MemSegSize / 1024.0 / 1024.0 / (DiffMSec / 1000.0));
-
-	write_fortschritt("Ermitteln der Geschwindigkeit beendet\n");
-
-	return (MemSegSize / DiffMSec);
-}
-
-//---------------------------------------------------------------------------
 const char *ShapeTypeName(TShpType ShapeType)
 {
 	switch(ShapeType)
@@ -529,29 +452,29 @@
 		{
 			TProfil* WspProfil = *j;
 
-			if (WspProfil->Gewaesser == Profil->Gewaesser && WspProfil->Station == Profil->Station)
+			if (WspProfil->Station == Profil->Station)
 			{
 				UnderProfil = WspProfil;
 				OverProfil = WspProfil;
 				break;
 			}
-			if (WspProfil->Gewaesser == Profil->Gewaesser && WspProfil->Station <= Profil->Station)	UnderProfil = WspProfil;
-			if (WspProfil->Gewaesser == Profil->Gewaesser && WspProfil->Station >= Profil->Station)	OverProfil = WspProfil;
+			if (WspProfil->Station <= Profil->Station)	UnderProfil = WspProfil;
+			if (WspProfil->Station >= Profil->Station)	OverProfil = WspProfil;
 		}
 		if (UnderProfil->Station == Profil->Station)
 		{
 			Profil->Wsp = UnderProfil->Wsp;
-			if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden\n", Profil->Station / 10000.0, Profil->Wsp);
+			if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden\n", Profil->Station / 10000.0, Profil->Wsp / 100.0);
 		}
 		else if (OverProfil->Station == Profil->Station)
 		{
 			Profil->Wsp = OverProfil->Wsp;
-			if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden ßn", Profil->Station / 10000.0, Profil->Wsp);
+			if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden ßn", Profil->Station / 10000.0, Profil->Wsp / 100.0);
 		}
 		else if (UnderProfil->Station <= Profil->Station && OverProfil->Station >= Profil->Station)
 		{
 			Profil->Wsp = UnderProfil->Wsp + (OverProfil->Wsp - UnderProfil->Wsp) * (Profil->Station - UnderProfil->Station) / (OverProfil->Station - UnderProfil->Station);
-			if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f interpoliert werden\n", Profil->Station / 10000.0, Profil->Wsp);
+			if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f interpoliert werden\n", Profil->Station / 10000.0, Profil->Wsp / 100.0);
 		}
 		else
 		{
@@ -571,56 +494,6 @@
 }
 
 //---------------------------------------------------------------------------
-TProfilMap BuildGewaesserListen(TProfilList *ProfilList, int DebugLevel)
-{
-	write_fortschritt ("->Erzeugung der Gewässerlisten gestartet\n");
-
-	TProfilMap	ProfilMap;
-
-	for (TProfilList::iterator i = ProfilList->begin(); i != ProfilList->end(); i++)
-	{
-		TProfil* Profil = *i;
-
-		TProfilMap::iterator p = ProfilMap.find(Profil->Gewaesser);
-
-		if (p == ProfilMap.end())
-		{
-			TProfilList *MapProfilList = new TProfilList;
-
-			MapProfilList->insert(Profil);
-
-			ProfilMap[Profil->Gewaesser] = MapProfilList;
-		}
-		else
-		{
-			TProfilList *MapProfilList = p->second;
-
-			MapProfilList->insert(Profil);
-		}
-	}
-
-	if (DebugLevel >= 3)
-	{
-		for (TProfilMap::iterator i = ProfilMap.begin(); i != ProfilMap.end(); i++)
-		{
-			std::string Gewaesser = i->first;
-			write_fortschritt("Gewaesser '%s'\n", Gewaesser.c_str());
-
-			TProfilList* ProfilList = i->second;
-			for (TProfilList::iterator j = ProfilList->begin(); j != ProfilList->end(); j++)
-			{
-				TProfil* Profil = *j;
-				write_fortschritt("Profil '%s' '%.4f'\n", Profil->Gewaesser.c_str(), Profil->Station / 10000.0);
-			}
-		}
-	}
-
-	write_fortschritt ("<-Erzeugung der Gewässerlisten beendet\n");
-
-	return (ProfilMap);
-}
-
-//---------------------------------------------------------------------------
 void BuildPolygon(TProfilList *ProfilList, TXYList *XyList, int DebugLevel)
 {
 	write_fortschritt ("->Erzeugung des Begrenzungspolygons gestartet\n");
@@ -733,59 +606,47 @@
 				{
 					TNode *Node2 = NodeList->FindByXY(Node1->X, Node1->Y);
 
-					if (Node2->Nr != 0)
+					if (Node1->Nr != Node2->Nr)
 					{
-						if (Node1->Nr != Node2->Nr)
+						if (DebugLevel >= 9)
 						{
-							if (DebugLevel >= 9)
-							{
-								write_fortschritt("Lösche Knoten %d (%.3f, %.3f) ident mit Knoten %d (%.3f, %.3f)\n", Node2->Nr, Node2->X, Node2->Y, Node1->Nr, Node1->X, Node1->Y);
-							}
+							write_fortschritt("Lösche Knoten %d (%.3f, %.3f) ident mit Knoten %d (%.3f, %.3f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
+						}
 
-							for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
-							{
-								TElement *Element2 = *k;
+						for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
+						{
+							TElement *Element2 = *k;
 
-								if (Element2->Node1 == Node2) Element2->Node1 = Node1;
-								if (Element2->Node2 == Node2) Element2->Node2 = Node1;
-								if (Element2->Node3 == Node2) Element2->Node3 = Node1;
-							}
-							if (Node2->Nr > 0)
-							{
-								Node2->Nr = 0;
-								SollKnotenGeloescht++;
-							}
+							if (Element2->Node1 == Node1) Element2->Node1 = Node2;
+							if (Element2->Node2 == Node1) Element2->Node2 = Node2;
+							if (Element2->Node3 == Node1) Element2->Node3 = Node2;
 						}
-                    }
-                }
+						Node1->Nr = 0;
+						SollKnotenGeloescht++;
+					}
+				}
 
 				Node1 = Element->Node2;
 				if (Node1->Nr != 0)
 				{
 					TNode *Node2 = NodeList->FindByXY(Node1->X, Node1->Y);
 
-					if (Node2->Nr != 0)
+					if (Node1->Nr != Node2->Nr)
 					{
-						if (Node1->Nr != Node2->Nr)
+						if (DebugLevel >= 9)
 						{
-							if (DebugLevel >= 9)
-							{
-								write_fortschritt("Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node2->Nr, Node2->X, Node2->Y, Node1->Nr, Node1->X, Node1->Y);
-							}
-							for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
-							{
-								TElement *Element2 = *k;
+							write_fortschritt("Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
+						}
+						for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
+						{
+							TElement *Element2 = *k;
 
-								if (Element2->Node1 == Node2) Element2->Node1 = Node1;
-								if (Element2->Node2 == Node2) Element2->Node2 = Node1;
-								if (Element2->Node3 == Node2) Element2->Node3 = Node1;
-							}
-							if (Node2->Nr > 0)
-							{
-								Node2->Nr = 0;
-								KnotenGeloescht++;
-							}
+							if (Element2->Node1 == Node1) Element2->Node1 = Node2;
+							if (Element2->Node2 == Node1) Element2->Node2 = Node2;
+							if (Element2->Node3 == Node1) Element2->Node3 = Node2;
 						}
+						Node1->Nr = 0;
+						KnotenGeloescht++;
 					}
 				}
 
@@ -794,28 +655,22 @@
 				{
 					TNode *Node2 = NodeList->FindByXY(Node1->X, Node1->Y);
 
-					if (Node2->Nr != 0)
+					if (Node1->Nr != Node2->Nr)
 					{
-						if (Node1->Nr != Node2->Nr)
+						if (DebugLevel >= 9)
 						{
-							if (DebugLevel >= 9)
-							{
-								write_fortschritt("Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node2->Nr, Node2->X, Node2->Y, Node1->Nr, Node1->X, Node1->Y);
-							}
-							for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
-							{
-								TElement *Element2 = *k;
+							write_fortschritt("Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
+						}
+						for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
+						{
+							TElement *Element2 = *k;
 
-								if (Element2->Node1 == Node2) Element2->Node1 = Node1;
-								if (Element2->Node2 == Node2) Element2->Node2 = Node1;
-								if (Element2->Node3 == Node2) Element2->Node3 = Node1;
-							}
-							if (Node2->Nr > 0)
-							{
-								Node2->Nr = 0;
-								KnotenGeloescht++;
-							}
+							if (Element2->Node1 == Node1) Element2->Node1 = Node2;
+							if (Element2->Node2 == Node1) Element2->Node2 = Node2;
+							if (Element2->Node3 == Node1) Element2->Node3 = Node2;
 						}
+						Node1->Nr = 0;
+						KnotenGeloescht++;
 					}
 				}
 				Count++;
@@ -1123,11 +978,10 @@
 	{
 		TProfil* Profil = *i;
 
-		std::string Gewaesser = Profil->Gewaesser;
 		int Station = Profil->Station;
 		int Wsp = Profil->Wsp;
 
-		if (Wsp < -9999)	continue;
+		if (Wsp == NoWsp)	continue;
 
 		double Meter = 0.0;
 
@@ -1137,7 +991,7 @@
 
 			if (Meter < 0)
 			{
-				write_error(3206, "Die Gewässerachse für das Gewässer '%s' schneidet die Profilspur %.4f nicht\n", Gewaesser.c_str(), Station / 10000.0);
+				write_error(3206, "Die Gewässerachse schneidet die Profilspur %.4f nicht\n", Station / 10000.0);
 			}
 		}
 
@@ -1154,19 +1008,17 @@
 
 			if (NextPoint && SperrenList->size() > 0)
 			{
-				double X = 0.0;
-				double Y = 0.0;
-				double Lambda = 0.0;
-				double Meter = 0.0;
-
-				double PDx = NextPoint->X - Point->X;
-				double PDy = NextPoint->Y - Point->Y;
-				if (fabs(PDx) < 0.00000001 && fabs(PDy) < 0.00000001)
+				long PDx = NextPoint->X - Point->X;
+				long PDy = NextPoint->Y - Point->Y;
+				if (PDx == 0 && PDy == 0)
 				{
 					write_error(3207, "Profil-Punkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Point->X, Point->Y, NextPoint->X, NextPoint->Y);
 				}
 
-				bool Found = CalcProfilSchnitt(Point->X, Point->Y, NextPoint->X, NextPoint->Y, SperrenList, &X, &Y, &Lambda, &Meter);
+				double DummyX = 0.0;
+				double DummyY = 0.0;
+				double DummyMeter = 0.0;
+				bool Found = CalcProfilSchnitt(Point->X, Point->Y, NextPoint->X, NextPoint->Y, SperrenList, &DummyX, &DummyY, &DummyMeter);
 
 				if (Found)
 				{
@@ -1221,11 +1073,6 @@
 
 			if (NextPoint && SperrenList->size() > 0)
 			{
-				double X = 0.0;
-				double Y = 0.0;
-				double Lambda = 0.0;
-				double Meter = 0.0;
-
 				double PDx = NextPoint->X - Point->X;
 				double PDy = NextPoint->Y - Point->Y;
 				if (fabs(PDx) < 0.00000001 && fabs(PDy) < 0.00000001)
@@ -1233,7 +1080,10 @@
 					write_error(3207, "Profil-Punkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Point->X, Point->Y, NextPoint->X, NextPoint->Y);
 				}
 
-				bool Found = CalcProfilSchnitt(Point->X, Point->Y, NextPoint->X, NextPoint->Y, SperrenList, &X, &Y, &Lambda, &Meter);
+				double DummyX = 0.0;
+				double DummyY = 0.0;
+				double DummyMeter = 0.0;
+				bool Found = CalcProfilSchnitt(Point->X, Point->Y, NextPoint->X, NextPoint->Y, SperrenList, &DummyX, &DummyY, &DummyMeter);
 
 				if (Found)
 				{
@@ -1323,12 +1173,12 @@
 			}
 			else
 			{
-				Node->Wsp = -999999;
+				Node->Wsp = NoWsp;
 			}
 		}
 		else
 		{
-			Node->Wsp = -999999;
+			Node->Wsp = NoWsp;
 		}
 		Count++;
 	}
@@ -1473,12 +1323,10 @@
 }
 
 //---------------------------------------------------------------------------
-bool Calc2Schnitt (double P0x, double P0y, double P1x, double P1y, double S0x, double S0y, double S1x, double S1y, double *x, double *y, double *lambdap, double *lambdas)
+bool Calc2Schnitt (long P0x, long P0y, long P1x, long P1y, long S0x, long S0y, long S1x, long S1y, double *x, double *y)
 {
 	*x = 0.0;
 	*y = 0.0;
-	*lambdap = -9999;
-	*lambdas = 9999;
 
 	if (P0x < S0x && P1x < S0x && P0x < S1x && P1x < S1x)	return (false);
 	if (P0x > S0x && P1x > S0x && P0x > S1x && P1x > S1x)	return (false);
@@ -1491,41 +1339,62 @@
 	long double SDx = S1x - S0x;
 	long double SDy = S1y - S0y;
 
-	long double  LambdaP = 0.0;
-	long double  LambdaS = 0.0;
+	long double Lambda = 0.0;
+	double Px = 0.0;
+	double Py = 0.0;
 
-	if (fabs(PDx) < 0.00000001 && fabs(PDy) < 0.00000001)
+	if (PDx == 0 && PDy == 0)
 	{
 		dump_error(__FILE__, __LINE__, "Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", P0x, P0y, P1x, P1y);
 	}
-	else if (fabs(SDx) < 0.00000001 && fabs(SDy) < 0.00000001)
+	else if (SDx == 0 && SDy == 0)
 	{
 		dump_error(__FILE__, __LINE__, "Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", P0x, P0y, P1x, P1y);
 	}
-	else if (fabs(PDx) < 0.00000001 && fabs(SDx) < 0.00000001)
+	else if (PDx == 0 && SDx == 0)
 	{
 		// S-Strecke und P-Stecke sind beide senkrecht (parallel)
 		// Eigentlich müsse man hier noch auf identität testen
 		return (false);
 	}
-	else if (fabs(PDy) < 0.00000001 && fabs(SDy) < 0.00000001)
+	else if (PDy == 0 && SDy == 0)
 	{
 		// S-Strecke und P-Stecke sind beide waagerecht (parallel)
 		// Eigentlich müsse man hier noch auf identität testen
 		return (false);
 	}
-	else if (fabs(PDx) < 0.00000001)
+	else if (PDx == 0)
 	{
 		// P-Abschnitt senkrecht aber Spur-Abschnitt nicht
-		LambdaS = (P0x - S0x) / SDx;
-		LambdaP = ((S0y + LambdaS * SDy) - P0y) / PDy;
+		Lambda = (P0x - S0x) / SDx;
+
+		Px = P0x;
+		Py = S0y + Lambda * SDy;
 	}
-	else if (fabs(PDy) < 0.00000001)
+	else if (PDy == 0)
 	{
 		// P-Abschnitt waagerecht aber Spur-Abschnitt nicht
-		LambdaS = (P0y - S0y) / SDy;
-		LambdaP = ((S0x + LambdaS * SDx) - P0x) / PDx;
+		Lambda = (P0y - S0y) / SDy;
+
+		Px = S0x + Lambda * SDx;
+		Py = P0y;
 	}
+	else if (SDx == 0)
+	{
+		// S-Abschnitt senkrecht aber P-Abschnitt nicht
+		Lambda = (S0x - P0x) / PDx;
+
+		Px = S0x;
+		Py = P0y + Lambda * PDy;
+	}
+	else if (SDy == 0)
+	{
+		// S-Abschnitt waagerecht aber P-Abschnitt nicht
+		Lambda = (S0y - P0y) / PDy;
+
+		Px = P0x + Lambda * PDx;
+		Py = S0y;
+	}
 	else if (fabs((SDy / PDy) - (SDx / PDx)) < 0.0001)
 	{
 		// Spur-Segment und PaPe->Abschnitt sind parallel
@@ -1538,40 +1407,105 @@
 
 		return (false);
 	}
-	else
+	else if (fabs((PDy / SDy) - (PDx / SDx)) < 0.0001)
 	{
-		LambdaS = (P0x + (S0y - P0y) / PDy * PDx - S0x) / (SDx - SDy / PDy * PDx); // !!!!
-		LambdaP = (S0y + LambdaS * SDy - P0y) / PDy;
+		// Spur-Segment und PaPe->Abschnitt sind parallel
+		// fabs((SDy / PDy) - (SDx / PDx)) < 0.00001 entspricht
+		// SDy / PDy = SDx / PDx entspricht
+		// SDy / SDx = PDy / PDx (P-Steigung gleich S-Steigung) entspricht
+		// SDy / PDy = SDx / PDx entspricht
+		// SDy / PDy * PDx = SDx entspricht
+		// 0 = SDx - SDy / PDy * PDx (siehe unten !!!!)
+
+		return (false);
 	}
+	else if (fabs(PDy) >= fabs(SDy) && fabs(PDy) >= fabs(SDx) && fabs(PDy) >= fabs(PDx))
+	{
+		Lambda = (P0x - S0x + (S0y - P0y) * PDx / PDy) / (SDx - SDy * PDx / PDy); // !!!!
+		Px = S0x + Lambda * SDx;
+		Py = S0y + Lambda * SDy;
+	}
+	else if (fabs(PDx) >= fabs(SDy) && fabs(PDx) >= fabs(SDx) && fabs(PDx) >= fabs(PDy))
+	{
+		Lambda = (P0y + (S0x - P0x) / PDx * PDy - S0y) / (SDy - SDx / PDx * PDy); // !!!!
+		Px = S0x + Lambda * SDx;
+		Py = S0y + Lambda * SDy;
+	}
+	else if (fabs(SDy) >= fabs(PDy) && fabs(SDy) >= fabs(SDx) && fabs(SDy) >= fabs(PDx))
+	{
+		Lambda = (S0x + (P0y - S0y) / SDy * SDx - P0x) / (PDx - PDy / SDy * SDx); // !!!!
+		Px = P0x + Lambda * PDx;
+		Py = P0y + Lambda * PDy;
+	}
+	else if (fabs(SDx) >= fabs(SDy) && fabs(SDx) >= fabs(PDy) && fabs(SDx) >= fabs(PDx))
+	{
+		Lambda = (S0y + (P0x - S0x) / SDx * SDy - P0y) / (PDy - PDx / SDx * SDy); // !!!!
+		Px = P0x + Lambda * PDx;
+		Py = P0y + Lambda * PDy;
+	}
 
-	long double Px = P0x + LambdaP * PDx;
-	long double Py = P0y + LambdaP * PDy;
+	double LambdaP = 0.0;
+	if (PDx != 0)	LambdaP = (Px - P0x) / PDx;
+	else			LambdaP = (Py - P0y) / PDy;
 
-	long double Sx = S0x + LambdaS * SDx;
-	long double Sy = S0y + LambdaS * SDy;
+	double LambdaS = 0.0;
+	if (SDx != 0)	LambdaS = (Px - S0x) / SDx;
+	else			LambdaS = (Py - S0y) / SDy;
 
+	double TPX = P0x + LambdaP * PDx;
+	double TPY = P0y + LambdaP * PDy;
+
+	double TSX = S0x + LambdaS * SDx;
+	double TSY = S0y + LambdaS * SDy;
+
+	if (fabs(TPX - Px) > 0.1)
+	{
+		write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+		write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+		write_fortschritt("%.2f,%.2f\n", Px, Py);
+		dump_error(__FILE__, __LINE__, "TPX nicht koorekt");
+	}
+
+	if (fabs(TPY - Py) > 0.1)
+	{
+		write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+		write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+		write_fortschritt("%.2f,%.2f\n", Px, Py);
+		dump_error(__FILE__, __LINE__, "TPY nicht koorekt");
+	}
+
+	if (fabs(TSX - Px) > 0.1)
+	{
+		write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+		write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+		write_fortschritt("%.2f,%.2f\n", Px, Py);
+		dump_error(__FILE__, __LINE__, "TSX nicht koorekt");
+	}
+
+	if (fabs(TSY - Py) > 0.1)
+	{
+		write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+		write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+		write_fortschritt("%.2f,%.2f\n", Px, Py);
+		dump_error(__FILE__, __LINE__, "TSY nicht koorekt");
+	}
+
+
 	*x = Px;
 	*y = Py;
-	*lambdap = LambdaP;
-	*lambdas = LambdaS;
 
 	if (LambdaP < 0.0 || LambdaP > 1.0) return (false);
 	if (LambdaS < 0.0 || LambdaS > 1.0) return (false);
 
-	if (fabs(Px-Sx) > 0.001 || fabs(Py-Sy) > 0.001)
-	{
-		dump_error (__FILE__, __LINE__, "Errechnete Punkte sind nicht identisch (%10.5f,%10.5f) und (%10.5f,%10.5f)\n", Px, Py, Sx, Sy);
-	}
-
 	return (true);
 }
 
 //---------------------------------------------------------------------
-bool CalcProfilSchnitt (double P0x, double P0y, double P1x, double P1y, TProfilList *ProfilList, double *x, double *y, double *lambdap, double *meter)
+bool CalcProfilSchnitt (long P0x, long P0y, long P1x, long P1y, TProfilList *ProfilList, double *x, double *y, double *meter)
 {
-	double PDx = P1x - P0x;
-	double PDy = P1y - P0y;
-	if (fabs(PDx) < 0.00000001 && fabs(PDy) < 0.00000001)
+	long PDx = P1x - P0x;
+	long PDy = P1y - P0y;
+	if (PDx == 0 && PDy == 0)
 	{
 		dump_error(__FILE__, __LINE__, "Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", P0x, P0y, P1x, P1y);
 	}
@@ -1596,25 +1530,29 @@
 				S1 = *j;
 			}
 
-			double S0x = S0->X;
-			double S0y = S0->Y;
-			double S1x = S1->X;
-			double S1y = S1->Y;
+			long S0x = S0->X;
+			long S0y = S0->Y;
+			long S1x = S1->X;
+			long S1y = S1->Y;
 
-			double SDx = S1x - S0x;
-			double SDy = S1y - S0y;
-			if (fabs(SDx) < 0.00000001 && fabs(SDy) < 0.00000001)
+			long SDx = S1x - S0x;
+			long SDy = S1y - S0y;
+			if (SDx == 0 && SDy == 0)
 			{
-				write_error(3207, "Profil-Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", S0x, S0y, S1x, S1y);
+				write_error(3207, "Profil-Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", S0x / 100.0, S0y / 100.0, S1x / 100.0, S1y / 100.0);
 			}
 
-			double LambdaS;
-			bool Found = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y, S1x, S1y, x, y, lambdap, &LambdaS);
+			bool Found = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y, S1x, S1y, x, y);
 
 			if (Found)
 			{
-				*meter = S0->Meter + LambdaS * (S1->Meter - S0->Meter);
+				double Lambda = 0.0;
+				if (PDx != 0)		Lambda = (*x - P0x) / PDx;
+				else if (PDy != 0)	Lambda = (*y - P0y) / PDy;
+				else				dump_error(__FILE__, __LINE__, "Profil-Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", P0x / 100.0, P0y / 100.0, P1x / 100.0, P1y / 100.0);
 
+				*meter = S0->Meter + Lambda * (S1->Meter - S0->Meter);
+
 				return (true);
 			}
 		}
@@ -1738,7 +1676,7 @@
 			OnBoundary = false;
 		}
 
-		if (Edge->X > 0.0 && Edge->Y > 0.0)
+		if (Edge->X > 0 && Edge->Y > 0)
 		{
 			if (Edge->Ready)	return(false);
 
@@ -1868,41 +1806,12 @@
 		{
 			TNode *Node = *n++;
 			TNode *SaveNode = *s++;
-			if (SaveNode->Z > -9999 && SaveNode->Z < 9999)  Node->Z = SaveNode->Z + DeltaTopo;
-			else                                            Node->Z = SaveNode->Z;
-			if (SaveNode->Wsp > Node->Z + Eps)
-			{
-				Node->Wsp = SaveNode->Wsp;
-			}
-			else
-			{
-				Node->Wsp = SaveNode->Wsp;
-			}
-		}
+			if (SaveNode->Z != GrabenZ && SaveNode->Z != DammZ)	Node->Z = SaveNode->Z + DeltaTopo;
+			else                                            	Node->Z = SaveNode->Z;
 
-		// Alle trockenen Werte in der Topographie etwas verändert
-/*
-		for (int i=0; i<Net2->AnzNodes(); i++)
-		{
-			TNode *NodeNeu = Net2->FindNodeByIndex(i);
-
-			TNode *NodeAlt = Net->FindNodeByXY(NodeNeu->X, NodeNeu->Y);
-
-			if (NodeAlt->Wsp <= EPS)
-			{
-				NodeNeu->Z = NodeNeu->Z + OptionenTopoDiff;
-				NodeNeu->Vx = 0.0;
-				NodeNeu->Vy = 0.0;
-				NodeNeu->Wsp = -9999.9;
-			}
-			else
-			{
-				NodeNeu->Wsp = NodeAlt->Wsp;
-				NodeNeu->Vx = NodeAlt->Vx;
-				NodeNeu->Vy = NodeAlt->Vy;
-			}
+			if (SaveNode->Wsp > Node->Z + Eps)	Node->Wsp = SaveNode->Wsp;
+			else                                Node->Wsp = SaveNode->Wsp;
 		}
-*/
 
 		if (DebugLevel >= 2)	write_fortschritt("Maximalen Wasserstand ermitteln\n");
 
@@ -1924,7 +1833,7 @@
 		{
 			TNode *Node = *i;
 
-			if (Node->Wsp > -9999 || Node->Z > MaxWsp)  Ready++;
+			if (Node->Wsp != NoWsp || Node->Z > MaxWsp)  Ready++;
 		}
 
 		if (DebugLevel >= 2)	write_fortschritt("Erste Kanten mit Nass/Trocken-Übergang ermitteln\n");
@@ -1936,11 +1845,11 @@
 		{
 			TEdge *Edge = *i;
 
-			if (Edge->Node1->Wsp < -9999 && Edge->Node2->Wsp > -9999 && Edge->Node2->Wsp > Edge->Node2->Z + Eps)
+			if (Edge->Node1->Wsp == NoWsp && Edge->Node2->Wsp != NoWsp && Edge->Node2->Wsp > Edge->Node2->Z + Eps)
 			{
 				Temp2EdgeList->Add(Edge);
 			}
-			else if (Edge->Node2->Wsp < -9999 && Edge->Node1->Wsp > -9999 && Edge->Node1->Wsp > Edge->Node1->Z + Eps)
+			else if (Edge->Node2->Wsp == NoWsp && Edge->Node1->Wsp != NoWsp && Edge->Node1->Wsp > Edge->Node1->Z + Eps)
 			{
 				Temp2EdgeList->Add(Edge);
 			}
@@ -1966,11 +1875,11 @@
 			{
 				TEdge *Edge = *i;
 
-				if (Edge->Node1->Wsp < -9999 && Edge->Node2->Wsp > -9999 && Edge->Node2->Wsp > Edge->Node2->Z + Eps)
+				if (Edge->Node1->Wsp == NoWsp && Edge->Node2->Wsp != NoWsp && Edge->Node2->Wsp > Edge->Node2->Z + Eps)
 				{
 					TempEdgeList->Add(Edge);
 				}
-				else if (Edge->Node2->Wsp < -9999 && Edge->Node1->Wsp > -9999 && Edge->Node1->Wsp > Edge->Node1->Z + Eps)
+				else if (Edge->Node2->Wsp == NoWsp && Edge->Node1->Wsp != NoWsp && Edge->Node1->Wsp > Edge->Node1->Z + Eps)
 				{
 					TempEdgeList->Add(Edge);
 				}
@@ -1985,14 +1894,13 @@
 			{
 				TEdge *Edge = *i;
 
-				if (Edge->Node1->Wsp < -9999 && Edge->Node2->Wsp > -9999)
+				if (Edge->Node1->Wsp == NoWsp && Edge->Node2->Wsp != NoWsp)
 				{
 					if (Edge->Node2->Wsp <= Edge->Node2->Z + Eps)
 					{
 						dump_error(__FILE__, __LINE__, "Ein Knoten Kantenendknoten %d ist unter Gelände aber nass", Edge->Node2->Nr);
 					}
 
-// !!! hier war früher ein negativ setzen
 					Edge->Node1->Wsp = Edge->Node2->Wsp;
 
 					// Hier jetzt neue potentielle Kanten aufnehmen
@@ -2010,14 +1918,13 @@
 
 					Changed++;
 				}
-				else if (Edge->Node2->Wsp < -9999.0 && Edge->Node1->Wsp > -9999)
+				else if (Edge->Node2->Wsp == NoWsp && Edge->Node1->Wsp != NoWsp)
 				{
 					if (Edge->Node1->Wsp <= Edge->Node1->Z + Eps)
 					{
 						dump_error(__FILE__, __LINE__, "Ein Knoten Kantenstartknoten %d ist unter Gelände aber nass", Edge->Node1->Nr);
 					}
 
-// !!! hier war früher ein negativ setzen
 					Edge->Node2->Wsp = Edge->Node1->Wsp;
 
 					// Hier jetzt neue potentielle Kanten aufnehmen
@@ -2037,23 +1944,6 @@
 				}
 			}
 
-/*
-			Hier musste man früher die negativen umdrehen
-			for (TEdgeListDistanceSorted::iterator i = TempEdgeList->EdgeListDistanceSorted.begin(); i != TempEdgeList->EdgeListDistanceSorted.end(); i++)
-			{
-				TEdge *Edge = *i;
-
-				if (Edge->Node1->Wsp > -9999 && Edge->Node1->Wsp < -9999)
-				{
-					Edge->Node1->Wsp = -Edge->Node1->Wsp;
-				}
-				if (Edge->Node2->Wsp > -9999 && Edge->Node2->Wsp < -9999)
-				{
-					Edge->Node2->Wsp = -Edge->Node2->Wsp;
-				}
-			}
-*/
-
 			Ready = Ready + Changed;
 
 		} while (Changed > 0);
@@ -2126,11 +2016,11 @@
 
    				if (fabs(D2) >= 0.00001) Faktor = 1 / (1 + D1/D2);
 
-				if (Z1 < -9999 || Z1 > 9999)
+				if (Z1 == GrabenZ || Z1 == DammZ)
 				{
-                    Faktor = 0.99;
-                }
-				else if (Z2 < -9999 || Z2 > 9999)
+					Faktor = 0.99;
+				}
+				else if (Z2 == GrabenZ || Z2 == DammZ)
                 {
                     Faktor = 0.01;
                 }

Modified: trunk/src/tools.h
===================================================================
--- trunk/src/tools.h	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/tools.h	2006-06-09 19:54:01 UTC (rev 51)
@@ -54,17 +54,15 @@
 std::string				ToUpperCase(std::string InString);
 long double 			CrossProduct(double X1, double Y1, double X2, double Y2, double X3, double Y3);
 bool 					CircumCircle(double X1, double Y1, double X2, double Y2, double X3, double Y3, double *CX, double *CY, double *CR);
-long 					CheckSpeed(int DebugLevel);
 const char*				ShapeTypeName(TShpType ShapeType);
 const char*				ShapePartTypeName(TPartType PartType);
 char*					SkipSpaces(char* P);
 char*					GetCol(char* P);
 double 					TwoToWin (double x0, double y0, double x1, double y1);
 double 					ThreeToWin (double x0, double y0, double x1, double y1, double x2, double y2, int turn);
-bool 					Calc2Schnitt (double P0x, double P0y, double P1x, double P1y, double S0x, double S0y, double S1x, double S1y, double *x, double *y, double *lambdap, double *lambdas);
-bool 					CalcProfilSchnitt (double P0x, double P0y, double P1x, double P1y, TProfilList *ProfilList, double *x, double *y, double *lambdap, double *meter);
+bool 					Calc2Schnitt (long P0x, long P0y, long P1x, long P1y, long S0x, long S0y, long S1x, long S1y, double *x, double *y);
+bool 					CalcProfilSchnitt (long P0x, long P0y, long P1x, long P1y, TProfilList *ProfilList, double *x, double *y, double *meter);
 void 					InterpolateWsp(TProfilList *ProfilList, TProfilList *WspProfilList, int DebugLevel);
-TProfilMap 				BuildGewaesserListen(TProfilList *ProfilList, int DebugLevel);
 void 					BuildPolygon(TProfilList *ProfilList, TXYList *XyList, int DebugLevel);
 void 					EqualizeProfil(TProfil *ProfilOne, TProfil *ProfilTwo);
 void 					CheckForDuplicates(TNodeList *NodeList, TElementList *ElementList, int DebugLevel);

Modified: trunk/src/tri.cpp
===================================================================
--- trunk/src/tri.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/tri.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -324,7 +324,7 @@
 		long X = (long)(SX + SR * cos(i * 2.0 * M_PI / Anz) + 0.5);
 		long Y = (long)(SY + SR * sin(i * 2.0 * M_PI / Anz) + 0.5);
 
-		TNode* NewNode = new TNode(NodeList->MaxNr+1, X, Y, 9999);
+		TNode* NewNode = new TNode(NodeList->MaxNr+1, X, Y, 12345);
 
 		NodeList->Add(NewNode);
 	}

Modified: trunk/src/wsplgen.cpp
===================================================================
--- trunk/src/wsplgen.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/wsplgen.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -83,8 +83,8 @@
 	TProfilList GrabenList;
 	TProfilList RohreList;
 
-	// Hier wird das aktuelle Begrenzungspolygon für den aktuellen Bereich drin verwaltet
-	TXYList Bereichspolygon;
+	// Hier wird das aktuelle Begrenzungspolygon drin verwaltet
+	TXYList BegrenzungsPolygon;
 
 	// Hier werden dir Knoten des DGM drin verwaltet
 	// (und an andere Klassen in Form von Pointern ausgeliehen)
@@ -154,296 +154,230 @@
 			LoadLinien(Parameter.FileNameLin, &SperrenList, &GrabenList, &RohreList, Parameter.DebugLevel);
 		}
 
-		// Jetzt die Profile nach Gewaessern trennen
-		TProfilMap ProfilMap = BuildGewaesserListen(&ProfilList, Parameter.DebugLevel);
-
-		// Ab jetzt werden die Profile nur noch über die GewProfilList verwaltet
-		ProfilList.clear();
-
-		// Ungefähre Geschwindigkeit ermitteln, als Grundlage für die Entscheidung
-		// ob in Scheiben gearbeitet werden soll
 		int MaxNodesPerSlice = Parameter.MaxNodesPerSlice;
 
 		if (false == Parameter.IsSetMaxNodesPerSlice)
 		{
-			long Speed = CheckSpeed(Parameter.DebugLevel);
-			// Eine rein empirische Formel
-			MaxNodesPerSlice = Speed * 11;
-			write_fortschritt("Es können ca. %d Geländepunkte pro Bearbeitungsabschnitt eingelesen werden\n", MaxNodesPerSlice);
+			MaxNodesPerSlice = 2000000000;
+			write_fortschritt("Es wird versucht beliebig viele (%d) Geländepunkte einzulesen\n", MaxNodesPerSlice);
 		}
 
-		// Jetzt die Gewasser der Reihe nach bearbeiten
-		// Für jedes Gewaesser gibt es eine Profilliste in der ProfilMap
-		for (TProfilMap::iterator GewaesserIter = ProfilMap.begin(); GewaesserIter != ProfilMap.end(); GewaesserIter++)
-		{
-			std::string Gewaesser = GewaesserIter->first;
+		// Jetzt ein Polygon bilden, das die Profile begrenzt
+		BuildPolygon(&ProfilList, &BegrenzungsPolygon, Parameter.DebugLevel);
 
-			write_fortschritt("->Bearbeitung von Gewässer '%s' gestartet\n", Gewaesser.c_str());
+		if (Parameter.DebugLevel >= 4) SavePolygon("debug_output\\03_Polygon.shp", &BegrenzungsPolygon, Parameter.DebugLevel);
 
-			TProfilList *GewProfilList = GewaesserIter->second;
+		if (ProfilList.size() < 100)
+		{
+			TProfil* FirstProfil = *ProfilList.begin();
+			TProfil* LastProfil = *ProfilList.rbegin();
 
-			TProfil *FirstProfil = *GewProfilList->begin();
-			TProfil *LastProfil = *GewProfilList->rbegin();
+			double SollAbstand = (LastProfil->Station - FirstProfil->Station) / 100.0;
+			SollAbstand = (int)(SollAbstand * 10000.0 + 0.5) / 10000.0;
 
-			// Jetzt ein Polygon bilden, das die Profile begrenzt
-			BuildPolygon(GewProfilList, &Bereichspolygon, Parameter.DebugLevel);
+			ProfilList.InterpoliereProfile(SollAbstand);
+		}
 
-			if (Parameter.DebugLevel >= 4) SavePolygon("debug_output\\03_" + Gewaesser + "_Polygon" + ".shp", Gewaesser, 0, 0, &Bereichspolygon, Parameter.DebugLevel);
+		// Mal wieder Zwischenergebnisse produzieren
+		if (Parameter.DebugLevel >= 5) SaveProfile("debug_output\\04_Profile_100.shp", &ProfilList, Parameter.DebugLevel);
 
-			if (GewProfilList->size() < 100)
-			{
-				double SollAbstand = (LastProfil->Station - FirstProfil->Station) / 100.0;
-				SollAbstand = (int)(SollAbstand * 10000.0 + 0.5) / 10000.0;
+		// Hier werden die Elemente drin verwaltet
+		// Die Elemente werden aus ausgeliehenen Knoten gebildet
+		// Daher muss man immer erst die Knoten einlesen und dann die Elemente
+		// Eigentlich braucht man die Elemente nicht
+		TElementList *ElementList = new TElementList;
 
-				GewProfilList->InterpoliereProfile(SollAbstand);
-			}
+		unsigned int AnzScheiben = LoadDGM(Parameter.FileNameDgm, &NodeList, ElementList, &BegrenzungsPolygon, MaxNodesPerSlice, Parameter.DebugLevel);
 
-			// Hier werden die Elemente drin verwaltet
-			// Die Elemente werden aus ausgeliehenen Knoten gebildet
-			// Daher muss man immer erst die Knoten einlesen und dann die Elemente
-			// Eigentlich braucht man die Elemente nicht
-			TElementList *ElementList = new TElementList;
+		// Wenn LoadDGM eine Scheibenanzahl von mehr als 1 ergeben hat, ist das DGM nicht vollständig,
+		// es muss jetzt mit Scheiben gearbeitet werden.
+		if (AnzScheiben > 1)
+		{
+			write_warning(3103, "Die  Anzahl der gewünschten Bearbeitungsabschnitte (%d) ist größer als 1.\nEs wird nicht das ganze DGM verwendet.\n", AnzScheiben);
+		}
 
-			// Mal wieder Zwischenergebnisse produzieren
-			if (Parameter.DebugLevel >= 5) SaveProfile("debug_output\\04_" + Gewaesser + "_Profile_100" + ".shp", GewProfilList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 7) SaveNet("debug_output\\05_Net.2dm", &NodeList, ElementList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 5) SaveNodes("debug_output\\05_Nodes.shp", &NodeList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 5) SaveElements("debug_output\\05_Elements.shp", ElementList, Parameter.DebugLevel);
 
-			unsigned int AnzScheiben = LoadDGM(Parameter.FileNameDgm, &NodeList, ElementList, &Bereichspolygon, MaxNodesPerSlice, Parameter.DebugLevel);
+		// Wenn die Elementliste noch leer ist, müssen die Knoten noch trianguliert werden.
+		if (ElementList->size() == 0)
+		{
+			double MinX = NodeList.MinX;
+			double MaxX = NodeList.MaxX;
+			double MinY = NodeList.MinY;
+			double MaxY = NodeList.MaxY;
 
-			// Wenn LoadDGM eine Scheibenanzahl von mehr als 1 ergeben hat, ist das DGM nicht geladen,
-			// es muss jetzt mit Scheiben gearbeitet werden.
-			if (GewProfilList->size() - 1 < AnzScheiben)
-			{
-				write_warning(3103, "Die  Anzahl der gewünschten Bearbeitungsabschnitte (%d) ist größer als die Anzahl der Profile minus 1 (%d).\n", AnzScheiben, GewProfilList->size() - 1);
-				AnzScheiben = GewProfilList->size() - 1;
-			}
+			double KreisX = (MinX +  MaxX) /2.0;
+			double KreisY = (MinY +  MaxY) /2.0;
 
-			write_fortschritt("Das Gewässer '%s' wird in %d Bearbeitungsabschnitte aufgeteilt\n", Gewaesser.c_str(), AnzScheiben);
+			double R1 = 1.1 * sqrt((MaxX - KreisX) * (MaxX - KreisX) + (MaxY - KreisY) * (MaxY - KreisY));
+			double R2 = 1.1 * sqrt((MaxX - KreisX) * (MaxX - KreisX) + (MinY - KreisY) * (MinY - KreisY));
 
-			TBereichsList BereichsList(GewProfilList, AnzScheiben);
+			double KreisR = R1;
+			if (R2 > R1) KreisR = R2;
 
-			int Count = 0;
-			for (TBereichsList::iterator i=BereichsList.begin(); i != BereichsList.end(); i++)
-			{
-				Count++;
+			int KreisAnz = 0;
 
-				TProfilList::iterator Von = i->first;
-				TProfilList::iterator Bis = i->second;
+			if (false == Triangulate (&NodeList, ElementList, Parameter.DebugLevel, KreisAnz, KreisX, KreisY, KreisR)) return (false);
+		}
 
-				TProfil *VonProfil = *Von;
-				TProfil *BisProfil = *Bis;
+		NodeList.SortByNr();
 
-				char VC[100];
-				char NC[100];
+		if (Parameter.DebugLevel >= 7) SaveNet("debug_output\\06_Net_Tri.2dm", &NodeList, ElementList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 5) SaveNodes("debug_output\\06_Nodes_Tri.shp", &NodeList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 5) SaveElements("debug_output\\06_Elements_Tri.shp", ElementList, Parameter.DebugLevel);
 
-				sprintf (VC, "_Von%d", VonProfil->Station);
-				sprintf (NC, "_Bis%d", BisProfil->Station);
+		if (SperrenList.size() > 0 || GrabenList.size() > 0)
+		{
+			// Jetzt die gesperrten Elemente entfernen
+			ElementList->ChangeElements(&NodeList, &SperrenList, &GrabenList, Parameter.DebugLevel);
+			CheckForDuplicates(&NodeList, ElementList, Parameter.DebugLevel);
+		}
 
-				write_fortschritt("->Bearbeitung vom %d. von %d Bereichen gestartet\n", Count, BereichsList.size());
-				write_fortschritt("Gewässer %s, Bereich %.4f bis %.4f\n", Gewaesser.c_str(), VonProfil->Station / 10000.0, BisProfil->Station / 10000.0);
+		if (Parameter.DebugLevel >= 7) SaveNet("debug_output\\07_Net_Lines.2dm", &NodeList, ElementList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 5) SaveNodes("debug_output\\07_Nodes_Lines.shp", &NodeList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 5) SaveElements("debug_output\\07_Elements_Lines.shp", ElementList, Parameter.DebugLevel);
 
-				// Als Endemarkierung
-				Bis++;
+		// Hier werden die Kanten drin verwaltet
+		// Die Kanten werden im Moment noch aus den Elementen generiert
+		// Dieser Umweg ist eigendlich nicht notwendig
+		// Der durchschnittliche Abstand der Knoten (bzw. die Kantenlänge) wird dabei mit ermittelt.
+		// Das DGM sollte einigermassen homogen sein
+		TEdgeList* EdgeList = new TEdgeList;
+		BuildEdgeList(&NodeList, ElementList, EdgeList, Parameter.DebugLevel);
 
-				TProfilList *TempProfilList = new TProfilList;
-				for (TProfilList::iterator P = Von; P != Bis; P++)
-				{
-					TProfil *TempProfil = new TProfil(*P);
-					TempProfilList->insert(TempProfil);
-				}
+		// Die Elemete werden nun nicht mehr gebraucht
+		// delete ElementList;
+		// ElementList = 0;
 
-				// Jetzt das Polygon bilden, das die Profile begrenzen
-				BuildPolygon(TempProfilList, &Bereichspolygon, Parameter.DebugLevel);
+		// Den alten Knoten Kanten Index löschen
+		NodeList.ClearEdgeIndex();
 
-				if (Parameter.DebugLevel >= 4) SavePolygon("debug_output\\05_" + Gewaesser + "_Polygon_" + VC + NC + ".shp", Gewaesser, 0, 0, &Bereichspolygon, Parameter.DebugLevel);
+		// Einen neuen Knoten Kanten Index aufbauen
+		EdgeList->BuildEdgeIndex();
 
-				if (AnzScheiben > 1)
-				{
-					LoadDGM(Parameter.FileNameDgm, &NodeList, ElementList, &Bereichspolygon, 99999999, Parameter.DebugLevel);
-				}
+		if (Parameter.DebugLevel >= 4) SaveEdges("debug_output\\08_Edges.shp", EdgeList, Parameter.DebugLevel);
 
-				// Wenn die Elementliste noch leer ist, müssen die Knoten noch trianguliert werden.
-				if (ElementList->size() == 0)
-				{
-					if (false == Triangulate (&NodeList, ElementList, Parameter.DebugLevel))	return (false);
-				}
+		// Nachdem die durchschnittliche Kantenlänge bekannt ist,
+		// wird sie für die spätere Verwendung zwischengespeichert
+		double AvgDistance = EdgeList->AvgDistance;
 
-				NodeList.SortByNr();
+		write_fortschritt("Die mittlere Kantenlänge beträgt %.2f.\n", AvgDistance / 100.0);
 
-				if (Parameter.DebugLevel >= 7) SaveNet("debug_output\\06_" + Gewaesser + "_Net_" + VC + NC + ".2dm", &NodeList, ElementList, Parameter.DebugLevel);
-				if (Parameter.DebugLevel >= 5) SaveNodes("debug_output\\07_" + Gewaesser + "_Nodes_" + VC + NC + ".shp", &NodeList, Parameter.DebugLevel);
-				if (Parameter.DebugLevel >= 5) SaveElements("debug_output\\08_" + Gewaesser + "_Elements_" + VC + NC + ".shp", ElementList, Parameter.DebugLevel);
+		// Nachdem die durchschnittliche Kantenlänge bekannt ist,
+		// werden die Profile entsprechend fein interpoliert
+		// Dabei muss der Faktor zwischen Kantenlänge in Metern
+		// und Station in Centimetern beachtet werden
+		ProfilList.InterpoliereProfile(AvgDistance * 10.0);
 
-				if (SperrenList.size() > 0 || GrabenList.size() > 0)
-				{
-					// Jetzt die gesperrten Elemente entfernen
-					ElementList->ChangeElements(&NodeList, &SperrenList, &GrabenList, Parameter.DebugLevel);
-					CheckForDuplicates(&NodeList, ElementList, Parameter.DebugLevel);
-				}
+		// Mal wieder Zwischenergebnisse produzieren
+		if (Parameter.DebugLevel >= 5) SaveProfile("debug_output\\09_Profile_all.shp", &ProfilList, Parameter.DebugLevel);
 
-				if (Parameter.DebugLevel >= 7) SaveNet("debug_output\\09_" + Gewaesser + "_Net_" + VC + NC + ".2dm", &NodeList, ElementList, Parameter.DebugLevel);
-				if (Parameter.DebugLevel >= 5) SaveNodes("debug_output\\10_" + Gewaesser + "_Nodes_" + VC + NC + ".shp", &NodeList, Parameter.DebugLevel);
-				if (Parameter.DebugLevel >= 5) SaveElements("debug_output\\11_" + Gewaesser + "_Elements_" + VC + NC + ".shp", ElementList, Parameter.DebugLevel);
+		// Jetzt die Stützstellen auffüllen
+		ProfilList.FillProfile(AvgDistance / 2.0, -1, Parameter.DebugLevel);
 
-				// Hier werden die Kanten drin verwaltet
-				// Die Kanten werden im Moment noch aus den Elementen generiert
-				// Dieser Umweg ist eigendlich nicht notwendig
-				// Der durchschnittliche Abstand der Knoten (bzw. die Kantenlänge) wird dabei mit ermittelt.
-				// Das DGM sollte einigermassen homogen sein
-				TEdgeList* EdgeList = new TEdgeList;
-				BuildEdgeList(&NodeList, ElementList, EdgeList, Parameter.DebugLevel);
+		// Mal wieder Zwischenergebnisse produzieren
+		if (Parameter.DebugLevel >= 7) SaveProfile("debug_output\\10_Profile_fill.shp", &ProfilList, Parameter.DebugLevel);
 
-				// Die Elemete werden nun nicht mehr gebraucht
-				delete ElementList;
-				ElementList = 0;
+		// Jetzt eine neue Knotenliste aus den Profilen generienen
+		BuildProfilNodeList(&ProfilList, &NodeList, &GewaesserAchseList, &SperrenList, &ProfilNodeList, AvgDistance * 2.0, Parameter.Sperre, Parameter.DebugLevel);
 
-				// Den alten Knoten Kanten Index löschen
-				NodeList.ClearEdgeIndex();
+		if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\11_ProfilNodes.shp", &ProfilNodeList, Parameter.DebugLevel);
 
-				// Einen neuen Knoten Kanten Index aufbauen
-				EdgeList->BuildEdgeIndex();
+		// Jetzt die Wasserstände der Profile übertragen
+		TransferWsp(&ProfilNodeList, &NodeList, &SperrenList, AvgDistance / 2.0, Parameter.DebugLevel);
 
-				if (Parameter.DebugLevel >= 4) SaveEdges("debug_output\\12_" + Gewaesser + "_Edges_" + VC + NC + ".shp", EdgeList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\12_Nodes_mit_WSP.shp", &NodeList, Parameter.DebugLevel);
 
-				// Nachdem die durchschnittliche Kantenlänge bekannt ist,
-				// wird sie für die spätere Verwendung zwischengespeichert
-				double AvgDistance = EdgeList->AvgDistance;
+		if (RohreList.size() > 0)
+		{
+			// Jetzt den Wasserstand aus der NodeList extrahieren
+			GetWspFromNodeList(&NodeList, &RohreList, AvgDistance * 2.0, Parameter.DebugLevel);
 
-				write_fortschritt("Die mittlere Kantenlänge beträgt %.2f.\n", AvgDistance);
+			// Jetzt die Wasserstände der Rohre übertragen
+			TransferWsp(&RohreList, &NodeList, AvgDistance * 2.0, Parameter.DebugLevel);
+		}
 
-				// Nachdem die durchschnittliche Kantenlänge bekannt ist,
-				// werden die Profile entsprechend fein interpoliert
-				// Dabei muss der Faktor zwischen Kantenlänge in Metern
-				// und Station in Centimetern beachtet werden
-				TempProfilList->InterpoliereProfile(AvgDistance * 10.0);
+		ProfilNodeList.Clear();
 
-				// Mal wieder Zwischenergebnisse produzieren
-				if (Parameter.DebugLevel >= 5) SaveProfile("debug_output\\13_" + Gewaesser + "_Profile_all_" + VC + NC + ".shp", TempProfilList, Parameter.DebugLevel);
+		ProfilList.Clear();
 
-				// Jetzt die Stützstellen auffüllen
-				TempProfilList->FillProfile(AvgDistance / 2.0, -1, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\13_Nodes_mit_WSP_mit_rohr.shp", &NodeList, Parameter.DebugLevel);
 
-				// Mal wieder Zwischenergebnisse produzieren
-				if (Parameter.DebugLevel >= 7) SaveProfile("debug_output\\14_" + Gewaesser + "_Profile_fill_" + VC + NC + ".shp", TempProfilList, Parameter.DebugLevel);
+		// Wurde der Wert für das Argument 'Bis' beim Parameter -DELTA nicht gesetzt
+		// so ist jetzt die Zeit das nachzuholen
+		if (false == Parameter.IsSetBis)
+		{
+			Parameter.Bis = NodeList.GetMaxDepth(Parameter.DebugLevel);
+		}
 
-				// Jetzt eine neue Knotenliste aus den Profilen generienen
-				BuildProfilNodeList(TempProfilList, &NodeList, &GewaesserAchseList, &SperrenList, &ProfilNodeList, AvgDistance * 2.0, Parameter.Sperre, Parameter.DebugLevel);
+		// Nachdem nun 'Bis' sicher gesetzt ist, kann nun auch Diff bestimmt werden,
+		// wenn es nicht schon bestimmt wurde
+		if (false == Parameter.IsSetDiff)
+		{
+			Parameter.Diff = (int)((Parameter.Bis - Parameter.Von) / 10.0 + 0.5);
+			if (Parameter.Bis - Parameter.Von < 0) Parameter.Diff = (int)((Parameter.Bis - Parameter.Von) / 10.0 - 0.5);
+		}
 
-				if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\15_" + Gewaesser + "_ProfilNodes_" + VC + NC + ".shp", &ProfilNodeList, Parameter.DebugLevel);
+		if (Parameter.Von > Parameter.Bis)
+		{
+			write_error(1210, "Das Argument <Von> (%.2f) ist größer als das Argument <Bis> (%.2f).\nGeben sie bitte sowohl den Parameter <Von> als auch den Parameter <Bis> sinnvoll an.\n", Parameter.Von / 100.0, Parameter.Bis / 100.0);
+		}
 
-				// Jetzt die Wasserstände der Profile übertragen
-				TransferWsp(&ProfilNodeList, &NodeList, &SperrenList, AvgDistance / 2.0, Parameter.DebugLevel);
+		if (Parameter.Diff <= 0.0)
+		{
+			if (Parameter.Bis != Parameter.Von)
+			{
+				write_error(1212, "Das Argument <Diff> darf nur dann Null sein, wenn <Von> (%.2f) und <Bis> (%.2f) gleich sind.\n", Parameter.Von / 100.0, Parameter.Bis / 100.0);
+			}
+			else
+			{
+				// Wenn 'Von' == 'Bis' ist
+				// wird Diff auf 1 gesetzt
+				// Der Wert spielt keine Rolle, nur größer als Null sollte er sein.
+				Parameter.Diff = 1;
+			}
+		}
 
-				if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\16_" + Gewaesser + "_Nodes_mit_WSP_" + VC + NC + ".shp", &NodeList, Parameter.DebugLevel);
+		TErgebnisPolygonList* TempErgebnisPolygone = new TErgebnisPolygonList;
+		NassTrockenBerechnung(&NodeList, EdgeList, TempErgebnisPolygone, Parameter.Von, Parameter.Bis, Parameter.Diff, Parameter.DebugLevel);
 
-				if (RohreList.size() > 0)
-				{
-					// Jetzt den Wasserstand aus der NodeList extrahieren
-					GetWspFromNodeList(&NodeList, &RohreList, AvgDistance * 2.0, Parameter.DebugLevel);
+		NodeList.SortByNr();
 
-					// Jetzt die Wasserstände der Rohre übertragen
-					TransferWsp(&RohreList, &NodeList, AvgDistance * 2.0, Parameter.DebugLevel);
-				}
+		if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\14_Nodes_mit_WSP_fertig.shp", &NodeList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 4) SaveSol("debug_output\\14_Nodes_mit_WSP_fertig.sol", &NodeList, Parameter.DebugLevel);
+		if (Parameter.DebugLevel >= 4) SaveNet("debug_output\\14_Nodes_mit_WSP_fertig.2dm", &NodeList, 0, Parameter.DebugLevel);
 
-				ProfilNodeList.Clear();
+		ErgebnisPolygonList.Append(TempErgebnisPolygone);
 
-				delete TempProfilList;
+		if (Parameter.DebugLevel >= 8)
+		{
+			for (TErgebnisPolygonList::iterator i = ErgebnisPolygonList.begin(); i != ErgebnisPolygonList.end(); i++)
+			{
+				TErgebnisPolygon* ErgebnisPolygon = *i;
+				double AktDiff = ErgebnisPolygon->Diff;
 
-				if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\17_" + Gewaesser + "_Nodes_mit_WSP_" + VC + NC + ".shp", &NodeList, Parameter.DebugLevel);
+				if (Parameter.DebugLevel >= 9)	write_fortschritt("Wassertiefe %.2f\n", AktDiff / 100.0);
+			}
+		}
 
-				// Wurde der Wert für das Argument 'Bis' beim Parameter -DELTA nicht gesetzt
-				// so ist jetzt die Zeit das nachzuholen
-				if (false == Parameter.IsSetBis)
-				{
-					Parameter.Bis = NodeList.GetMaxDepth(Parameter.DebugLevel);
-				}
+		if (Parameter.DebugLevel >= 5) SaveElements("debug_output\\15_Elements.shp", ElementList, Parameter.DebugLevel);
 
-				// Nachdem nun 'Bis' sicher gesetzt ist, kann nun auch Diff bestimmt werden,
-				// wenn es nicht schon bestimmt wurde
-				if (false == Parameter.IsSetDiff)
-				{
-					Parameter.Diff = (int)((Parameter.Bis - Parameter.Von) / 10.0 + 0.5);
-				}
+		ElementList->Clear();
 
-				if (Parameter.Von > Parameter.Bis)
-				{
-					write_error(1210, "Das Argument <Von> (%.2f) ist größer als das Argument <Bis> (%.2f).\nGeben sie bitte sowohl den Parameter <Von> als auch den Parameter <Bis> sinnvoll an.\n", Parameter.Von / 100.0, Parameter.Bis / 100.0);
-				}
+		TempErgebnisPolygone->clear();
+		delete TempErgebnisPolygone;
 
-				if (Parameter.Diff <= 0.0)
-				{
-					if (Parameter.Bis != Parameter.Von)
-					{
-						write_error(1212, "Das Argument <Diff> darf nur dann Null sein, wenn <Von> (%.2f) und <Bis> (%.2f) gleich sind.\n", Parameter.Von / 100.0, Parameter.Bis / 100.0);
-						
-					}
-					else
-					{
-						// Wenn 'Von' == 'Bis' ist
-						// wird Diff auf 1 gesetzt
-						// Der Wert spielt keine Rolle, nur größer als Null sollte er sein.
-						Parameter.Diff = 1;
-					}
-				}
+		// Löscht nur die Verwaltung und nicht die Knoten der Kanten,
+		// die Knoten waren nur geliehen
+		delete EdgeList;
 
-				TErgebnisPolygonList* TempErgebnisPolygone = new TErgebnisPolygonList;
-				NassTrockenBerechnung(&NodeList, EdgeList, TempErgebnisPolygone, Parameter.Von, Parameter.Bis, Parameter.Diff, Parameter.DebugLevel);
+		delete ElementList;
+		ElementList = 0;
 
-				NodeList.SortByNr();
-
-				if (Parameter.DebugLevel >= 4) SaveNodes("debug_output\\18_" + Gewaesser + "_Nodes_mit_WSP_" + VC + NC + ".shp", &NodeList, Parameter.DebugLevel);
-				if (Parameter.DebugLevel >= 4) SaveSol("debug_output\\19_" + Gewaesser + "_Nodes_mit_WSP_" + VC + NC + ".sol", &NodeList, Parameter.DebugLevel);
-				if (Parameter.DebugLevel >= 4) SaveNet("debug_output\\20_" + Gewaesser + "_Nodes_mit_WSP_" + VC + NC + ".2dm", &NodeList, 0, Parameter.DebugLevel);
-
-				for (TErgebnisPolygonList::iterator i = TempErgebnisPolygone->begin(); i != TempErgebnisPolygone->end(); i++)
-				{
-					TErgebnisPolygon* ErgebnisPolygon = *i;
-
-					ErgebnisPolygon->Gewaesser = Gewaesser;
-					ErgebnisPolygon->VonKm = VonProfil->Station / 10000.0;
-					ErgebnisPolygon->BisKm = BisProfil->Station / 10000.0;
-				}
-
-				ErgebnisPolygonList.Append(TempErgebnisPolygone);
-
-				// Speichern der Ergebnispolygone
-				SavePolygone(Gewaesser + VC + NC + ".shp", TempErgebnisPolygone, Parameter.DebugLevel);
-
-				if (Parameter.DebugLevel >= 8)
-				{
-					for (TErgebnisPolygonList::iterator i = ErgebnisPolygonList.begin(); i != ErgebnisPolygonList.end(); i++)
-					{
-						TErgebnisPolygon* ErgebnisPolygon = *i;
-
-						std::string AktGewaesser = ErgebnisPolygon->Gewaesser;
-						double AktVonKm = ErgebnisPolygon->VonKm;
-						double AktBisKm = ErgebnisPolygon->BisKm;
-						double AktDiff = ErgebnisPolygon->Diff;
-
-						write_fortschritt("Gewässer %s %.4f - %.4f Wassertiefe %.2f\n", AktGewaesser.c_str(), AktVonKm, AktBisKm, AktDiff);
-					}
-				}
-
-				TempErgebnisPolygone->clear();
-				delete TempErgebnisPolygone;
-
-				// Löscht nur die Verwaltung und nicht die Knoten der Kanten,
-				// die Knoten waren nur geliehen
-				delete EdgeList;
-
-				write_fortschritt("<-Bearbeitung vom %d. von %d Bereichen beendet\n", Count, BereichsList.size());
-			}
-			write_fortschritt("<-Bearbeitung von Gewässer '%s' beendet\n", Gewaesser.c_str());
-		}
-
 		// Speichern der Ergebnispolygone
 		SavePolygone(Parameter.FileNameAusgabe, &ErgebnisPolygonList, Parameter.DebugLevel);
-
-		// Die Profile wieder freigeben
-		for (TProfilMap::iterator i = ProfilMap.begin(); i != ProfilMap.end(); i++)
-		{
-			TProfilList* GewProfilList = i->second;
-			delete GewProfilList;
-		}
 	}
 	catch (TFehler fehler)
 	{

Modified: trunk/src/wsplgen.h
===================================================================
--- trunk/src/wsplgen.h	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/wsplgen.h	2006-06-09 19:54:01 UTC (rev 51)
@@ -10,8 +10,17 @@
 // Read the file COPYING coming with WSPLGEN for details.
 //
 
-const char Version[] = "0.9.8 r1";
+const char Version[] = "0.9.10 r1";
 
+// Es wurden eine Menge kleine und grosse Fehler korrigiert, die mit der Umstellung auf long zusammenhingen
+// Das Attribut 'Gew' und die BearbeitungsBereiche wurde ersatzlos gestrichen
+
+// const char Version[] = "0.9.9 r1";
+
+//Es wurde das Gesamte Koordinaten-System auf long umgestellt
+
+// const char Version[] = "0.9.8 r1";
+
 // Es wurde die Triangulierung und die Verwaltung der Kanten deutlich verbessert
 
 // const char Version[] = "0.9.7 r2";

Modified: trunk/src/xy.cpp
===================================================================
--- trunk/src/xy.cpp	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/xy.cpp	2006-06-09 19:54:01 UTC (rev 51)
@@ -52,7 +52,7 @@
 {
 	Nr = nr;
 	Z = z;
-	Wsp = -999999;
+	Wsp = NoWsp;
 	EdgeIndex = 0;
 }
 
@@ -163,13 +163,6 @@
 //---------------------------------------------------------------------
 
 //---------------------------------------------------------------------
-TPoint::TPoint(long x, long y, int meter) : TXY (x, y)
-{
-	Z = -999999;
-	Meter = meter;
-}
-
-//---------------------------------------------------------------------
 TPoint::TPoint(long x, long y, int z, int meter) : TXY (x, y)
 {
 	Z = z;
@@ -470,6 +463,27 @@
 }
 
 //---------------------------------------------------------------------
+bool TNodeList::AddWithQuadTree(TNode *Node)
+{
+    if (Node->X < MinX || Node->X > MaxX || Node->Y < MinY || Node->Y > MaxY)
+    {
+        dump_error(__FILE__, __LINE__, "AddWithQuadTree funktioniert nicht mit Knoten die ausserhalb legen\nKnoten %d %d %d\nBounding Box %d %d %d %d\n", Node->Nr, Node->X, Node->Y, MinX, MaxX, MinY, MaxY);
+    }
+
+    // Es werden nur neue Knoten aufgenommen
+    // Doppelte werden so vermieden
+    if (QuadTree->Insert(MinX, MaxX, MinY, MaxY, Node))
+    {
+        Add(Node);
+        return (true);
+    }
+    else
+    {
+        return (false);
+    }
+}
+
+//---------------------------------------------------------------------
 void TNodeList::SortByXY(void)
 {
 	if (QuadTree)   delete QuadTree;
@@ -478,6 +492,7 @@
 	for (iterator i = begin(); i != end(); i++)
 	{
 		TNode* Node = *i;
+
 		QuadTree->Insert(MinX, MaxX, MinY, MaxY, Node);
 	}
 }
@@ -560,7 +575,7 @@
 TNodeList* TNodeList::FindAllByXY(double X, double Y, double R)
 {
 	// Wichtig ist das kleingeschriebene clear
-	// In dieser Nodelist sind vielleicht Knoten drin, die nur geliehen sind.
+	// In dieser SearchNodelist sind Knoten drin, die nur geliehen sind.
 	// Die Knoten selbst sollen nicht gelöscht werden
 
 	if (SearchNodeList)	SearchNodeList->clear();
@@ -606,10 +621,9 @@
 
 		double DummyX = 0.0;
 		double DummyY = 0.0;
-		double DummyLambda = 0.0;
 		double DummyMeter = 0.0;
 
-		if (SperrenList->size() > 0 && CalcProfilSchnitt(Node->X, Node->Y, X, Y, SperrenList, &DummyX, &DummyY, &DummyLambda, &DummyMeter)) continue;
+		if (SperrenList->size() > 0 && CalcProfilSchnitt(Node->X, Node->Y, X, Y, SperrenList, &DummyX, &DummyY, &DummyMeter)) continue;
 
 		if (Node->X >= X && Node->Y > Y)
 		{
@@ -730,7 +744,7 @@
 		ZSumme = ZSumme + 1 / TLD;
 		ZAnzahl++;
 
-		if (TLNode->Wsp > -9999.0)
+		if (TLNode->Wsp != NoWsp)
 		{
 			WspSumme = WspSumme + 1 / TLD;
 			WspAnzahl++;
@@ -742,7 +756,7 @@
 		ZSumme = ZSumme + 1 / TRD;
 		ZAnzahl++;
 
-		if (TRNode->Wsp > -9999.0)
+		if (TRNode->Wsp != NoWsp)
 		{
 			WspSumme = WspSumme + 1 / TRD;
 			WspAnzahl++;
@@ -754,7 +768,7 @@
 		ZSumme = ZSumme + 1 / BLD;
 		ZAnzahl++;
 
-		if (BLNode->Wsp > -9999.0)
+		if (BLNode->Wsp != NoWsp)
 		{
 			WspSumme = WspSumme + 1 / BLD;
 			WspAnzahl++;
@@ -766,7 +780,7 @@
 		ZSumme = ZSumme + 1 / BRD;
 		ZAnzahl++;
 
-		if (BRNode->Wsp > -9999.0)
+		if (BRNode->Wsp != NoWsp)
 		{
 			WspSumme = WspSumme + 1 / BRD;
 			WspAnzahl++;
@@ -777,16 +791,16 @@
 	{
 		int Wsp = 0;
 
-		if (TLNode != 0 && TLNode->Wsp > -9999) Wsp = Wsp + (int)(1 / TLD / WspSumme * TLNode->Wsp + 0.5);
-		if (TRNode != 0 && TRNode->Wsp > -9999) Wsp = Wsp + (int)(1 / TRD / WspSumme * TRNode->Wsp + 0.5);
-		if (BLNode != 0 && BLNode->Wsp > -9999) Wsp = Wsp + (int)(1 / BLD / WspSumme * BLNode->Wsp + 0.5);
-		if (BRNode != 0 && BRNode->Wsp > -9999) Wsp = Wsp + (int)(1 / BRD / WspSumme * BRNode->Wsp + 0.5);
+		if (TLNode != 0 && TLNode->Wsp != NoWsp) Wsp = Wsp + (int)(1 / TLD / WspSumme * TLNode->Wsp + 0.5);
+		if (TRNode != 0 && TRNode->Wsp != NoWsp) Wsp = Wsp + (int)(1 / TRD / WspSumme * TRNode->Wsp + 0.5);
+		if (BLNode != 0 && BLNode->Wsp != NoWsp) Wsp = Wsp + (int)(1 / BLD / WspSumme * BLNode->Wsp + 0.5);
+		if (BRNode != 0 && BRNode->Wsp != NoWsp) Wsp = Wsp + (int)(1 / BRD / WspSumme * BRNode->Wsp + 0.5);
 
 		*WspWert = Wsp;
 	}
 	else
 	{
-		*WspWert = -999999;
+		*WspWert = NoWsp;
 	}
 
 	if (ZAnzahl > 0)
@@ -827,7 +841,7 @@
 	{
 		TNode* Node = *i;
 
-		if (Node->Wsp < -9999)	continue;
+		if (Node->Wsp == NoWsp)	continue;
 
 		int Depth = Node->Wsp - Node->Z;
 
@@ -865,7 +879,7 @@
 	{
 		TNode* Node = *i;
 
-		if (Node->Wsp > 9999)	continue;
+		if (Node->Wsp == NoWsp) continue;
 
 		int Wsp = Node->Wsp;
 
@@ -948,23 +962,14 @@
 {
 	write_fortschritt("->Anpassung der Elemente an Sperren und Gräben gestartet\n");
 
-	write_fortschritt("->Ermittlung der größten Knotenummer gestartet\n");
-	int MaxNodeNr = 0;
-	for (TNodeList::iterator i=NodeList->begin(); i!=NodeList->end(); i++)
-	{
-		TNode* Node = *i;
+	int MaxNodeNr = NodeList->MaxNr;
 
-		if (MaxNodeNr < Node->Nr)	MaxNodeNr = Node->Nr;
-	}
-	write_fortschritt("<-Ermittlung der größten Knotenummer beendet\n");
+    NodeList->SortByXY();
 
 	write_fortschritt("->Anpassung der Elemente an Sperren gestartet\n");
 
 	int ChangeCount = 0;
 
-	int SperrZ = 999999;
-	int GrabenZ = -999999;
-
 	int Count = 0;
 	for (TElementList::iterator i = begin(); i != end(); i++)
 	{
@@ -986,35 +991,63 @@
 
 		TElement* NewElement = 0;
 
-		double Lambda = 0.0;
-		double Meter = 0.0;
 		double XD = 0.0;
 		double YD = 0.0;
+		double Meter = 0.0;
 
 		if (Node1->X == Node2->X && Node1->Y == Node2->Y)
 		{
 			write_error(3214, "Knotenabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Node1->X / 100.0, Node1->Y / 100.0, Node2->X / 100.0, Node2->Y / 100.0);
 		}
 
-		if (CalcProfilSchnitt(Node1->X, Node1->Y, Node2->X, Node2->Y, SperrenList, &XD, &YD, &Lambda, &Meter))
+		if (CalcProfilSchnitt(Node1->X, Node1->Y, Node2->X, Node2->Y, SperrenList, &XD, &YD, &Meter))
 		{
 			long X = (long)(XD + 0.5);
 			long Y = (long)(YD + 0.5);
 
-			if (Node1->X == X && Node1->Y == Y)
+			TNodeList* FoundNodeList = NodeList->FindAllByXY(X, Y, 4);
+
+			bool MustNewElement = true;
+			TNode* Node = 0;
+			if (FoundNodeList->size() > 0)
 			{
-				Node1->Z = SperrZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird erhöht (Lambda = %.5f)\n", Node1->Nr, Lambda);
+				for (TNodeList::iterator i=FoundNodeList->begin(); i != FoundNodeList->end(); i++)
+				{
+					Node = *i;
+
+					if (Node1->X == Node->X && Node1->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+					else if (Node2->X == Node->X && Node2->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+					else if (Node3->X == Node->X && Node3->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+				}
 			}
-			else if (Node2->X == X && Node2->Y == Y)
+
+			if (MustNewElement)
 			{
-				Node2->Z = SperrZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird erhöht (Lambda = %.5f)\n", Node2->Nr, Lambda);
-			}
-			else
-			{
-				TNode* Node = new TNode(++MaxNodeNr, X, Y, SperrZ);
-				NodeList->Add(Node);
+				if (FoundNodeList->size() == 1)
+				{
+					Node = *FoundNodeList->begin();
+					Node->Z = DammZ;
+				}
+				else
+				{
+					Node = new TNode(++MaxNodeNr, X, Y, DammZ);
+					if(false == NodeList->AddWithQuadTree(Node))
+					{
+						dump_error(__FILE__, __LINE__, "Der Knoten (%.2f, %.2f) wurde nicht gefunden und konnte nicht eigefüht werden\n", X / 100.0, Y / 100.0);
+					}
+				}
 
 				NewElement = new TElement(Node1, Node, Node3);
 				push_back(NewElement);
@@ -1035,25 +1068,54 @@
 			write_error(3214, "Knotenabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Node2->X / 100.0, Node2->Y / 100.0, Node3->X / 100.0, Node3->Y / 100.0);
 		}
 
-		if (CalcProfilSchnitt(Node2->X, Node2->Y, Node3->X, Node3->Y, SperrenList, &XD, &YD, &Lambda, &Meter))
+		if (CalcProfilSchnitt(Node2->X, Node2->Y, Node3->X, Node3->Y, SperrenList, &XD, &YD, &Meter))
 		{
 			long X = (long)(XD + 0.5);
 			long Y = (long)(YD + 0.5);
 
-			if (Node2->X == X && Node2->Y == Y)
+			TNodeList* FoundNodeList = NodeList->FindAllByXY(X, Y, 4);
+
+			bool MustNewElement = true;
+			TNode* Node = 0;
+			if (FoundNodeList->size() > 0)
 			{
-				Node2->Z = SperrZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird erhöht (Lambda = %.5f)\n", Node2->Nr, Lambda);
+				for (TNodeList::iterator i=FoundNodeList->begin(); i != FoundNodeList->end(); i++)
+				{
+					Node = *i;
+
+					if (Node1->X == Node->X && Node1->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+					else if (Node2->X == Node->X && Node2->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+					else if (Node3->X == Node->X && Node3->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+				}
 			}
-			else if (Node3->X == X && Node3->Y == Y)
+
+			if (MustNewElement)
 			{
-				Node3->Z = SperrZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird erhöht (Lambda = %.5f)\n", Node3->Nr, Lambda);
-			}
-			else
-			{
-				TNode* Node = new TNode(++MaxNodeNr, X, Y, SperrZ);
-				NodeList->Add(Node);
+				if (FoundNodeList->size() == 1)
+				{
+					Node = *FoundNodeList->begin();
+					Node->Z = DammZ;
+				}
+				else
+				{
+					Node = new TNode(++MaxNodeNr, X, Y, DammZ);
+					if(false == NodeList->AddWithQuadTree(Node))
+					{
+						dump_error(__FILE__, __LINE__, "Der Knoten (%.2f, %.2f) wurde nicht gefunden und konnte nicht eigefüht werden\n", X / 100.0, Y / 100.0);
+					}
+				}
 
 				NewElement = new TElement(Node2, Node, Node1);
 				push_back(NewElement);
@@ -1074,25 +1136,54 @@
 			write_error(3214, "Knotenabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Node3->X / 100.0, Node3->Y / 100.0, Node1->X / 100.0, Node1->Y / 100.0);
 		}
 
-		if (CalcProfilSchnitt(Node3->X, Node3->Y, Node1->X, Node1->Y, SperrenList, &XD, &YD, &Lambda, &Meter))
+		if (CalcProfilSchnitt(Node3->X, Node3->Y, Node1->X, Node1->Y, SperrenList, &XD, &YD, &Meter))
 		{
 			long X = (long)(XD + 0.5);
 			long Y = (long)(YD + 0.5);
 
-			if (Node3->X == X && Node3->Y == Y)
+			TNodeList* FoundNodeList = NodeList->FindAllByXY(X, Y, 4);
+
+			bool MustNewElement = true;
+			TNode* Node = 0;
+			if (FoundNodeList->size() > 0)
 			{
-				Node3->Z = SperrZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird erhöht (Lambda = %.5f)\n", Node3->Nr, Lambda);
+				for (TNodeList::iterator i=FoundNodeList->begin(); i != FoundNodeList->end(); i++)
+				{
+					Node = *i;
+
+					if (Node1->X == Node->X && Node1->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+					else if (Node2->X == Node->X && Node2->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+					else if (Node3->X == Node->X && Node3->Y == Node->Y)
+					{
+						Node->Z = DammZ;
+						MustNewElement = false;
+					}
+				}
 			}
-			else if (Node1->X == X && Node1->Y == Y)
+
+			if (MustNewElement)
 			{
-				Node1->Z = SperrZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird erhöht (Lambda = %.5f)\n", Node1->Nr, Lambda);
-			}
-			else
-			{
-				TNode* Node = new TNode(++MaxNodeNr, X, Y, SperrZ);
-				NodeList->Add(Node);
+				if (FoundNodeList->size() == 1)
+				{
+					Node = *FoundNodeList->begin();
+					Node->Z = DammZ;
+				}
+				else
+				{
+					Node = new TNode(++MaxNodeNr, X, Y, DammZ);
+					if(false == NodeList->AddWithQuadTree(Node))
+					{
+						dump_error(__FILE__, __LINE__, "Der Knoten (%.2f, %.2f) wurde nicht gefunden und konnte nicht eigefüht werden\n", X / 100.0, Y / 100.0);
+					}
+				}
 
 				NewElement = new TElement(Node3, Node, Node2);
 				push_back(NewElement);
@@ -1142,7 +1233,6 @@
 
 		TElement* NewElement = 0;
 
-		double Lambda = 0.0;
 		double Meter = 0.0;
 		double XD = 0.0;
 		double YD = 0.0;
@@ -1152,25 +1242,54 @@
 			write_error(3214, "Knotenabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Node1->X / 100.0, Node1->Y / 100.0, Node2->X / 100.0, Node2->Y / 100.0);
 		}
 
-		if (CalcProfilSchnitt(Node1->X, Node1->Y, Node2->X, Node2->Y, GrabenList, &XD, &YD, &Lambda, &Meter))
+		if (CalcProfilSchnitt(Node1->X, Node1->Y, Node2->X, Node2->Y, GrabenList, &XD, &YD, &Meter))
 		{
 			long X = (long)(XD + 0.5);
 			long Y = (long)(YD + 0.5);
 
-			if (Node1->X == X && Node1->Y == Y)
+			TNodeList* FoundNodeList = NodeList->FindAllByXY(X, Y, 4);
+
+			bool MustNewElement = true;
+			TNode* Node = 0;
+			if (FoundNodeList->size() > 0)
 			{
-				Node1->Z = GrabenZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird abgesenkt (Lambda = %.5f)\n", Node1->Nr, Lambda);
+				for (TNodeList::iterator i=FoundNodeList->begin(); i != FoundNodeList->end(); i++)
+				{
+					Node = *i;
+
+					if (Node1->X == Node->X && Node1->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+					else if (Node2->X == Node->X && Node2->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+					else if (Node3->X == Node->X && Node3->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+				}
 			}
-			else if (Node2->X == X && Node2->Y == Y)
+
+			if (MustNewElement)
 			{
-				Node2->Z = GrabenZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird abgesenkt (Lambda = %.5f)\n", Node2->Nr, Lambda);
-			}
-			else
-			{
-				TNode* Node = new TNode(++MaxNodeNr, X, Y, GrabenZ);
-				NodeList->Add(Node);
+				if (FoundNodeList->size() == 1)
+				{
+					Node = *FoundNodeList->begin();
+					Node->Z = GrabenZ;
+				}
+				else
+				{
+					Node = new TNode(++MaxNodeNr, X, Y, GrabenZ);
+					if(false == NodeList->AddWithQuadTree(Node))
+					{
+						dump_error(__FILE__, __LINE__, "Der Knoten (%.2f, %.2f) wurde nicht gefunden und konnte nicht eigefüht werden\n", X / 100.0, Y / 100.0);
+					}
+				}
 
 				NewElement = new TElement(Node1, Node, Node3);
 				push_back(NewElement);
@@ -1191,25 +1310,54 @@
 			write_error(3214, "Knotenabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Node2->X / 100.0, Node2->Y / 100.0, Node3->X / 100.0, Node3->Y / 100.0);
 		}
 
-		if (CalcProfilSchnitt(Node2->X, Node2->Y, Node3->X, Node3->Y, GrabenList, &XD, &YD, &Lambda, &Meter))
+		if (CalcProfilSchnitt(Node2->X, Node2->Y, Node3->X, Node3->Y, GrabenList, &XD, &YD, &Meter))
 		{
 			long X = (long)(XD + 0.5);
 			long Y = (long)(YD + 0.5);
 
-			if (Node2->X == X && Node2->Y == Y)
+			TNodeList* FoundNodeList = NodeList->FindAllByXY(X, Y, 4);
+
+			bool MustNewElement = true;
+			TNode* Node = 0;
+			if (FoundNodeList->size() > 0)
 			{
-				Node2->Z = GrabenZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird abgesenkt (Lambda = %.5f)\n", Node2->Nr, Lambda);
+				for (TNodeList::iterator i=FoundNodeList->begin(); i != FoundNodeList->end(); i++)
+				{
+					Node = *i;
+
+					if (Node1->X == Node->X && Node1->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+					else if (Node2->X == Node->X && Node2->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+					else if (Node3->X == Node->X && Node3->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+				}
 			}
-			else if (Node3->X == X && Node3->Y == Y)
+
+			if (MustNewElement)
 			{
-				Node3->Z = GrabenZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird erhöht (Lambda = %.5f)\n", Node3->Nr, Lambda);
-			}
-			else
-			{
-				TNode* Node = new TNode(++MaxNodeNr, X, Y, GrabenZ);
-				NodeList->Add(Node);
+				if (FoundNodeList->size() == 1)
+				{
+					Node = *FoundNodeList->begin();
+					Node->Z = GrabenZ;
+				}
+				else
+				{
+					Node = new TNode(++MaxNodeNr, X, Y, GrabenZ);
+					if(false == NodeList->AddWithQuadTree(Node))
+					{
+						dump_error(__FILE__, __LINE__, "Der Knoten (%.2f, %.2f) wurde nicht gefunden und konnte nicht eigefüht werden\n", X / 100.0, Y / 100.0);
+					}
+				}
 
 				NewElement = new TElement(Node2, Node, Node1);
 				push_back(NewElement);
@@ -1230,25 +1378,54 @@
 			write_error(3214, "Knotenabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", Node3->X / 100.0, Node3->Y / 100.0, Node1->X / 100.0, Node1->Y / 100.0);
 		}
 
-		if (CalcProfilSchnitt(Node3->X, Node3->Y, Node1->X, Node1->Y, GrabenList, &XD, &YD, &Lambda, &Meter))
+		if (CalcProfilSchnitt(Node3->X, Node3->Y, Node1->X, Node1->Y, GrabenList, &XD, &YD, &Meter))
 		{
 			long X = (long)(XD + 0.5);
 			long Y = (long)(YD + 0.5);
 
-			if (Node3->X == X && Node3->Y == Y)
+			TNodeList* FoundNodeList = NodeList->FindAllByXY(X, Y, 4);
+
+			bool MustNewElement = true;
+			TNode* Node = 0;
+			if (FoundNodeList->size() > 0)
 			{
-				Node3->Z = GrabenZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird abgesenkt (Lambda = %.5f)\n", Node3->Nr, Lambda);
+				for (TNodeList::iterator i=FoundNodeList->begin(); i != FoundNodeList->end(); i++)
+				{
+					Node = *i;
+
+					if (Node1->X == Node->X && Node1->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+					else if (Node2->X == Node->X && Node2->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+					else if (Node3->X == Node->X && Node3->Y == Node->Y)
+					{
+						Node->Z = GrabenZ;
+						MustNewElement = false;
+					}
+				}
 			}
-			else if (Node1->X == X && Node1->Y == Y)
+
+			if (MustNewElement)
 			{
-				Node1->Z = GrabenZ;
-				if (DebugLevel >= 9) write_fortschritt("Knoten %d wird abgesenkt (Lambda = %.5f)\n", Node1->Nr, Lambda);
-			}
-			else
-			{
-				TNode* Node = new TNode(++MaxNodeNr, X, Y, GrabenZ);
-				NodeList->Add(Node);
+				if (FoundNodeList->size() == 1)
+				{
+					Node = *FoundNodeList->begin();
+					Node->Z = GrabenZ;
+				}
+				else
+				{
+					Node = new TNode(++MaxNodeNr, X, Y, GrabenZ);
+					if(false == NodeList->AddWithQuadTree(Node))
+					{
+						dump_error(__FILE__, __LINE__, "Der Knoten (%.2f, %.2f) wurde nicht gefunden und konnte nicht eigefüht werden\n", X / 100.0, Y / 100.0);
+					}
+				}
 
 				NewElement = new TElement(Node3, Node, Node2);
 				push_back(NewElement);
@@ -1280,9 +1457,6 @@
 //---------------------------------------------------------------------
 TErgebnisPolygon::TErgebnisPolygon(double diff)
 {
-	Gewaesser = "dummy";
-	VonKm = 0.0;
-	BisKm = 0.0;
 	Diff = diff;
 }
 
@@ -1318,10 +1492,6 @@
 
 		TErgebnisPolygon *NewErgebnisPolygon = new TErgebnisPolygon(OldErgebnisPolygon->Diff);
 
-		NewErgebnisPolygon->Gewaesser = OldErgebnisPolygon->Gewaesser;
-		NewErgebnisPolygon->VonKm = OldErgebnisPolygon->VonKm;
-		NewErgebnisPolygon->BisKm = OldErgebnisPolygon->BisKm;
-
 		for (unsigned int j=0; j<OldErgebnisPolygon->size(); j++)
 		{
 			TXY *OldXy = (*OldErgebnisPolygon)[j];
@@ -1579,9 +1749,8 @@
 //---------------------------------------------------------------------
 
 //---------------------------------------------------------------------
-TProfil::TProfil(std::string gewaesser, int station, int wsp)
+TProfil::TProfil(int station, int wsp)
 {
-	Gewaesser = gewaesser;
 	Station = station;
 	Wsp = wsp;
 
@@ -1591,7 +1760,6 @@
 //---------------------------------------------------------------------
 TProfil::TProfil(TProfil *profil)
 {
-	Gewaesser = profil->Gewaesser;
 	Station = profil->Station;
 	Wsp = profil->Wsp;
 
@@ -1845,14 +2013,12 @@
 }
 
 //---------------------------------------------------------------------------
-double TProfil::CalcSchnitt(TGewaesserAchseList *GewaesserAchseList)
+int TProfil::CalcSchnitt(TGewaesserAchseList *GewaesserAchseList)
 {
 	for (TGewaesserAchseList::iterator g=GewaesserAchseList->begin(); g != GewaesserAchseList->end(); g++)
 	{
 		TGewaesserAchse* GewaesserAchse = *g;
 
-		if (Gewaesser != GewaesserAchse->Gewaesser)	continue;
-
 		TPoint* P0 = 0;
 		TPoint* P1 = 0;
 		for (TPointList::iterator p = PointList->begin(); p != PointList->end(); p++)
@@ -1868,21 +2034,21 @@
 				P1 = *p;
 			}
 
-			double P0x = P0->X;
-			double P0y = P0->Y;
-			double P1x = P1->X;
-			double P1y = P1->Y;
+			long P0x = P0->X;
+			long P0y = P0->Y;
+			long P1x = P1->X;
+			long P1y = P1->Y;
 
 			if (P0x < GewaesserAchse->MinX && P1x < GewaesserAchse->MinX)	continue;
 			if (P0x > GewaesserAchse->MaxX && P1x > GewaesserAchse->MaxX)	continue;
 			if (P0y < GewaesserAchse->MinY && P1y < GewaesserAchse->MinY)	continue;
 			if (P0y > GewaesserAchse->MaxY && P1y > GewaesserAchse->MaxY)	continue;
 
-			double PDx = P1x - P0x;
-			double PDy = P1y - P0y;
-			if (fabs(PDx) < 0.00000001 && fabs(PDy) < 0.00000001)
+			long PDx = P1x - P0x;
+			long PDy = P1y - P0y;
+			if (PDx == 0 && PDy == 0)
 			{
-				write_error(3207, "Profil-Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", P0x, P0y, P1x, P1y);
+				write_error(3207, "Profil-Punktabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", P0x / 100.0, P0y / 100.0, P1x / 100.0, P1y / 100.0);
 			}
 
 			// Es heisst hier s für spur und nicht g für gewässerachse
@@ -1902,24 +2068,24 @@
 					S1 = *s;
 				}
 
-				double S0x = S0->X;
-				double S0y = S0->Y;
-				double S1x = S1->X;
-				double S1y = S1->Y;
+				long S0x = S0->X;
+				long S0y = S0->Y;
+				long S1x = S1->X;
+				long S1y = S1->Y;
 
-				double SDx = S1x - S0x;
-				double SDy = S1y - S0y;
-				if (fabs(SDx) < 0.00000001 && fabs(SDy) < 0.00000001)
+				long SDx = S1x - S0x;
+				long SDy = S1y - S0y;
+				if (SDx == 0 && SDy == 0)
 				{
-					write_error(3208, "Gewässerachsen-Stützpunkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", S0x, S0y, S1x, S1y);
+					write_error(3208, "Gewässerachsen-Stützpunkteabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n", S0x / 100.0, S0y / 100.0, S1x / 100.0, S1y / 100.0);
 				}
 
-				double X, Y, LambdaP, LambdaS;
-				bool Found = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y, S1x, S1y, &X, &Y, &LambdaP, &LambdaS);
+				double X, Y;
+				bool Found = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y, S1x, S1y, &X, &Y);
 
 				if (Found)
 				{
-					double Meter = (P0->Meter + P1->Meter) / 2;
+					int Meter = (P0->Meter + P1->Meter) / 2;
 
 					return (Meter);
 				}
@@ -1930,7 +2096,7 @@
 	// Das ist ein wenig gefährlich
 	// Eigentlich sollte es keine negativen Meter geben
 	// Daher bedeutet -1.0 nicht gefunden
-	return (-1.0);
+	return (-1);
 }
 
 //---------------------------------------------------------------------
@@ -1957,13 +2123,13 @@
 }
 
 //---------------------------------------------------------------------
-TProfil* TProfilList::Find(std::string Gewaesser, int Station)
+TProfil* TProfilList::Find(int Station)
 {
 	for (iterator i = begin(); i != end(); i++)
 	{
 		TProfil *Profil = *i;
 
-		if (Gewaesser == Profil->Gewaesser && Station == Profil->Station)
+		if (Station == Profil->Station)
 		{
 			return (Profil);
 		}
@@ -1976,7 +2142,7 @@
 {
 	write_fortschritt("->Interpolation der Profile gestartet\n");
 
-	write_fortschritt("Gewünschter Abstand der Profile: %.4f\n", SollAbstand);
+	write_fortschritt("Gewünschter Abstand der Profile: %.4f\n", SollAbstand / 100.0);
 
 	TProfil *FirstProfil = 0;
 	TProfil *NextProfil = 0;
@@ -2022,7 +2188,7 @@
 			int NewStation = (int)(FirstProfil->Station + j * Abstand + 0.5);
 			int NewWsp = (int)(FirstProfil->Wsp + Prozent * (NextProfil->Wsp - FirstProfil->Wsp) + 0.5);
 
-			TProfil* NewProfil = new TProfil(FirstProfil->Gewaesser, NewStation, NewWsp);
+			TProfil* NewProfil = new TProfil(NewStation, NewWsp);
 			NewProfil->InterpolateProfil(FirstProfilNeu, NextProfilNeu, Prozent);
 
 			NewProfilList->insert(NewProfil);
@@ -2049,8 +2215,6 @@
 {
 	write_fortschritt("->Auffüllen der Profile mit Stützstellen gestartet\n");
 
-	double Abstand = 1.0;
-
 	int Count = 0;
 	for (iterator i = begin(); i != end(); i++)
 	{
@@ -2059,7 +2223,9 @@
 		TPoint* LastPoint = *Profil->PointList->rbegin();
 		double Laenge = LastPoint->Meter;
 
-		if (SollAnz >= 0)
+		double Abstand = 0.0;
+
+		if (SollAnz > 0)
 		{
 			Abstand = Laenge / SollAnz;
 		}
@@ -2104,7 +2270,7 @@
 
 		Count++;
 
-		if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 500 == 0) || (Count > 0 && Count % 5000 == 0))
+		if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 100 == 0) || (Count > 0 && Count % 1000 == 0))
 		{
 			write_fortschritt("Profil %d von %d aufgefüllt\n", Count, size());
 		}
@@ -2116,64 +2282,12 @@
 }
 
 //---------------------------------------------------------------------
-// TBereichsList
-//---------------------------------------------------------------------
-
-//---------------------------------------------------------------------
-TBereichsList::TBereichsList(TProfilList* ProfilList, int AnzBereiche)
-{
-	// An dieser Stelle wird bereits davon ausgegangen das es mindestens 2 Querprofilspuren gibt und
-	// das alle Profile zum selben Gewaesser gehören
-
-	int Anfang = (*ProfilList->begin())->Station;
-	int Ende = (*ProfilList->rbegin())->Station;
-
-	double Diff = (Ende - Anfang) / AnzBereiche;
-
-	TProfilList::iterator Start = ProfilList->begin();
-	TProfilList::iterator P = ProfilList->begin();
-	for (int i=1; i<=AnzBereiche; i++)
-	{
-		int SollStation = (int)(Anfang + i * Diff + 0.5);
-
-		TProfilList::iterator T = P;
-		T++;
-		while (T != ProfilList->end() && (*T)->Station < SollStation)
-		{
-			P++;
-			T++;
-		}
-
-		if (T == ProfilList->end()) dump_error(__FILE__, __LINE__, "Konnte nicht alle Bereiche generieren\n");
-
-		if (P == Start) dump_error(__FILE__, __LINE__, "Bin nicht von der Stelle gekommen\n");
-
-/*
-		if ((*T)->Station - SollStation < SollStation - (*P)->Station)
-		{
-			(*this)[Start] = T;
-			Start = T;
-		}
-		else
-		{
-			(*this)[Start] = P;
-			Start = P;
-		}
-*/
-		(*this)[Start] = T;
-		Start = P;
-	}
-}
-
-//---------------------------------------------------------------------
 // TGewaesserAchse
 //---------------------------------------------------------------------
 
 //---------------------------------------------------------------------
-TGewaesserAchse::TGewaesserAchse(std::string gewaesser, int id)
+TGewaesserAchse::TGewaesserAchse(void)
 {
-	Gewaesser = gewaesser;
-	ID = id;
 	MinX = 999999999;
 	MaxX = -999999999;
 	MinY = 999999999;
@@ -2185,9 +2299,6 @@
 //---------------------------------------------------------------------
 TGewaesserAchse::TGewaesserAchse(TGewaesserAchse *gewaesserAchse)
 {
-	Gewaesser = gewaesserAchse->Gewaesser;
-	ID = gewaesserAchse->ID;
-
 	MinX = 999999999;
 	MaxX = -999999999;
 	MinY = 999999999;
@@ -2415,18 +2526,6 @@
 	clear();
 }
 
-//---------------------------------------------------------------------
-TGewaesserAchse* TGewaesserAchseList::Find(std::string Gewaesser, int ID)
-{
-	for (iterator i = begin(); i != end(); i++)
-	{
-		TGewaesserAchse *GewaesserAchse = *i;
 
-		if (Gewaesser == GewaesserAchse->Gewaesser && ID == GewaesserAchse->ID)
-		{
-			return (GewaesserAchse);
-		}
-	}
-	return (0);
-}
 
+

Modified: trunk/src/xy.h
===================================================================
--- trunk/src/xy.h	2006-06-04 23:49:03 UTC (rev 50)
+++ trunk/src/xy.h	2006-06-09 19:54:01 UTC (rev 51)
@@ -38,6 +38,10 @@
 typedef enum { NO_ELEMENT, TRI, QUAD } TElementTyp;
 typedef enum { NOT_INSIDE, INSIDE, ON_LINE, UNDEFINED } TInsideTyp;
 
+const int NoWsp = -999999;
+const int GrabenZ = -999999;
+const int DammZ = 999999;
+
 //----------------------------------------------------------------------------
 class TXY;
 class TNode;
@@ -116,7 +120,6 @@
 		int  	Z;
 		int  	Meter;
 
-		TPoint(long X, long Y, int Meter);
 		TPoint(long X, long Y, int Z, int Meter);
 		TPoint(TPoint *Point);
 };
@@ -214,20 +217,6 @@
 };
 
 //----------------------------------------------------------------------------
-// Ein spezielles Polygon zum Speichern der Ergebnispolygone der Nass/Trockenberechnung
-//----------------------------------------------------------------------------
-class TErgebnisPolygon : public TXYList
-{
-	public:
-		std::string	Gewaesser;
-		double		VonKm;
-		double		BisKm;
-		double		Diff;
-
-					TErgebnisPolygon(double Diff);
-};
-
-//----------------------------------------------------------------------------
 // TnodeList dient zum Verwalten der Knoten (TNode)
 // Nur TNodeList gibt den Speicher für die Knoten wieder frei
 //----------------------------------------------------------------------------
@@ -250,6 +239,7 @@
 		TNodeList* 			Copy(void);
 
 		void 				Add(TNode *Node);
+		bool 				AddWithQuadTree(TNode *Node);
 		void				SortByXY(void);
 		void				SortByNr(void);
 		TNode*				FindByXY(long X, long Y);
@@ -300,7 +290,7 @@
 		TEdgeVector					EdgeVector;
 
 		unsigned int				Anz;
-		unsigned int				AvgDistance;
+		double						AvgDistance;
 
 		void 						Clear(void); // Wird verwendet, wenn auch die Kanten selbst gelöscht werden sollen
 		void 						Empty(void); // Wird verwendet, wenn es es nur geliehene Kanten waren
@@ -313,6 +303,17 @@
 };
 
 //----------------------------------------------------------------------------
+// Ein spezielles Polygon zum Speichern der Ergebnispolygone der Nass/Trockenberechnung
+//----------------------------------------------------------------------------
+class TErgebnisPolygon : public TXYList
+{
+	public:
+		double		Diff;
+
+					TErgebnisPolygon(double Diff);
+};
+
+//----------------------------------------------------------------------------
 // List von Ergebnispolygonen
 //----------------------------------------------------------------------------
 class TErgebnisPolygonList : public std::vector<TErgebnisPolygon *>
@@ -347,14 +348,13 @@
 class TProfil
 {
 	public:
-		std::string		Gewaesser;
 		int				Station;
 
 		TPointList*		PointList;
 
 		long			Wsp;
 
-						TProfil(std::string Gewaesser, int Station, int Wsp = 0);
+						TProfil(int Station, int Wsp = 0);
 						TProfil(TProfil *Profil);
 						~TProfil(void);
 
@@ -363,7 +363,7 @@
 		bool			GetXY(int Meter, long *X, long *Y);
 		void 			EqualizeProfil(TProfil *Profil);
 		void			InterpolateProfil(TProfil *VorProfil, TProfil *NachProfil, double Prozent);
-		double			CalcSchnitt(TGewaesserAchseList *GewaesserAchseList);
+		int				CalcSchnitt(TGewaesserAchseList *GewaesserAchseList);
 		double  		Length(TPoint *Point1, TPoint *Point2);
 		double  		Length(long X1, long Y1, long X2, long Y2);
 		TPoint*			FindNearest(long X, long Y);
@@ -377,8 +377,6 @@
 	public:
 		bool operator()(TProfil* const &Profil1, TProfil* const &Profil2) const
 		{
-			if (Profil1->Gewaesser < Profil2->Gewaesser)	return (true);
-			if (Profil2->Gewaesser < Profil1->Gewaesser)	return (false);
 			return (Profil1->Station < Profil2->Station);
 		}
 };
@@ -392,53 +390,20 @@
 					~TProfilList(void);
 
 		void		Clear(void);
-		TProfil* 	Find(std::string Gewaesser, int Station);
+		TProfil* 	Find(int Station);
 		void		InterpoliereProfile(double SollAbstand);
 		void		FillProfile(double SollAbstand, int SollAnz, int DebugLevel);
 		double		GetMaxWsp(int DebugLevel);
 };
 
 //----------------------------------------------------------------------------
-// TProfilMap trennt die Profile nach Gewässern und benutzt die
-// Standardsortierung von std::string
-//----------------------------------------------------------------------------
-typedef std::map<std::string, TProfilList *> TProfilMap;
-
-//----------------------------------------------------------------------------
-// Hilfsklasse  für die Sortierung von Bearbeitungsbereichen
-//----------------------------------------------------------------------------
-class TBereichCompStation
-{
-	public:
-		bool operator()(TProfilList::iterator const &Profil1Iter, TProfilList::iterator const &Profil2Iter) const
-		{
-			if ((*Profil1Iter)->Gewaesser < (*Profil2Iter)->Gewaesser)	return (true);
-			if ((*Profil2Iter)->Gewaesser > (*Profil2Iter)->Gewaesser)	return (false);
-			return ((*Profil1Iter)->Station < (*Profil2Iter)->Station);
-		}
-};
-
-//----------------------------------------------------------------------------
-// Hier werden die Profile den Bereich zu geordnet
-//----------------------------------------------------------------------------
-class TBereichsList : public std::map<TProfilList::iterator, TProfilList::iterator, TBereichCompStation>
-{
-	private:
-		TProfilList::iterator FindBestBereich(TProfilList* ProfilList, TProfilList::iterator StartIterator, int AnzBereiche);
-
-	public:
-		TBereichsList(TProfilList* ProfilList, int AnzBereiche);
-};
-
-//----------------------------------------------------------------------------
 // Hier wird eine Gewaesserachse gespeichert
 // Eine Punktliste und ein paar Zusatzinformationen
 //----------------------------------------------------------------------------
 class TGewaesserAchse
 {
 	public:
-		std::string		Gewaesser;
-		int				ID;
+//		int				ID;
 
 		long		 	MinX;
 		long		 	MaxX;
@@ -447,7 +412,7 @@
 
 		TPointList*		PointList;
 
-						TGewaesserAchse(std::string Gewaesser, int ID);
+						TGewaesserAchse(void);
 						TGewaesserAchse(TGewaesserAchse *GewaesserAchse);
 						~TGewaesserAchse(void);
 
@@ -460,29 +425,14 @@
 };
 
 //----------------------------------------------------------------------------
-// Hilfsklasse für das automatische Sortieren der Gewässerachsen
-//----------------------------------------------------------------------------
-class TGewaesserAchseComp
-{
-	public:
-		bool operator()(TGewaesserAchse* const &GewaesserAchse1, TGewaesserAchse* const &GewaesserAchse2) const
-		{
-			if (GewaesserAchse1->Gewaesser < GewaesserAchse2->Gewaesser)	return (true);
-			if (GewaesserAchse2->Gewaesser > GewaesserAchse2->Gewaesser)	return (false);
-			return (GewaesserAchse1->ID < GewaesserAchse2->ID);
-		}
-};
-
-//----------------------------------------------------------------------------
 // Hier werden die Gewässerachsen drin verwaltet
 //----------------------------------------------------------------------------
-class TGewaesserAchseList : public std::set<TGewaesserAchse *, TGewaesserAchseComp>
+class TGewaesserAchseList : public std::vector<TGewaesserAchse *>
 {
 	public:
 										~TGewaesserAchseList(void);
 
 		void							Clear(void);
-		TGewaesserAchse* 				Find(std::string Gewaesser, int ID);
 };
 
 #endif



More information about the Wsplgen-commits mailing list