[Wsplgen-commits] r92 - in trunk: bin bin/test_daten bin/test_daten/dgmtin2 bin/test_results src

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Sun Sep 2 22:13:55 CEST 2007


Author: mrchip
Date: 2007-09-02 22:13:20 +0200 (Sun, 02 Sep 2007)
New Revision: 92

Added:
   trunk/bin/test_daten/achse2.dbf
   trunk/bin/test_daten/achse2.shp
   trunk/bin/test_daten/achse2.shx
   trunk/bin/test_daten/dgm2.2dm
   trunk/bin/test_daten/dgmtin2/
   trunk/bin/test_daten/dgmtin2/tdenv.adf
   trunk/bin/test_daten/dgmtin2/tedg.adf
   trunk/bin/test_daten/dgmtin2/thul.adf
   trunk/bin/test_daten/dgmtin2/tmsk.adf
   trunk/bin/test_daten/dgmtin2/tmsx.adf
   trunk/bin/test_daten/dgmtin2/tnod.adf
   trunk/bin/test_daten/dgmtin2/tnxy.adf
   trunk/bin/test_daten/dgmtin2/tnxy_huelle.dbf
   trunk/bin/test_daten/dgmtin2/tnxy_huelle.shp
   trunk/bin/test_daten/dgmtin2/tnxy_huelle.shx
   trunk/bin/test_daten/dgmtin2/tnz.adf
   trunk/bin/test_daten/ergebnispolygone.dbf
   trunk/bin/test_daten/ergebnispolygone.shp
   trunk/bin/test_daten/ergebnispolygone.shx
   trunk/bin/test_daten/linien2.dbf
   trunk/bin/test_daten/linien2.shp
   trunk/bin/test_daten/linien2.shx
   trunk/bin/test_daten/profile2.dbf
   trunk/bin/test_daten/profile2.shp
   trunk/bin/test_daten/profile2.shx
Modified:
   trunk/bin/test.exe
   trunk/bin/test_results/test.txt
   trunk/bin/wsplgen.exe
   trunk/src/file.cpp
   trunk/src/file.h
   trunk/src/parameter.cpp
   trunk/src/parameter.h
   trunk/src/shape.cpp
   trunk/src/shape.h
   trunk/src/test_file.cpp
   trunk/src/test_tools.cpp
   trunk/src/test_xy.cpp
   trunk/src/tools.cpp
   trunk/src/tools.h
   trunk/src/wsplgen.cpp
   trunk/src/wsplgen.h
   trunk/src/xy.cpp
   trunk/src/xy.h
Log:
Es wurden massive Speicheroptimierungen und diverse Verbesserungen durchgef?\195?\188hrt. Siehe WSPLGEN.h


Modified: trunk/bin/test.exe
===================================================================
(Binary files differ)

Added: trunk/bin/test_daten/achse2.dbf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/achse2.dbf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/achse2.shp
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/achse2.shp
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/achse2.shx
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/achse2.shx
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgm2.2dm
===================================================================
--- trunk/bin/test_daten/dgm2.2dm	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/bin/test_daten/dgm2.2dm	2007-09-02 20:13:20 UTC (rev 92)
@@ -0,0 +1,255 @@
+MESH2D
+E3T      5      1      3      2      1
+E3T      6     36      1      2      1
+E3T      9      3     71      4      1
+E3T     10      2      3      5      1
+E3T     11     36      2     37      1
+E3T     12     38     36     37      1
+E3T     15     71     73     72      1
+E3T     16      4     71     70      1
+E3T     17      3      4      6      1
+E3T     18      5      3      6      1
+E3T     19      2      5     37      1
+E3T     20     38     37     39      1
+E3T     21     40     38     41      1
+E3T     24     72     73     66      1
+E3T     25     71     72     70      1
+E3T     26      4     70     69      1
+E3T     27      6      4     69      1
+E3T     28      5      6      7      1
+E3T     29     37      5      7      1
+E3T     30     39     37      7      1
+E3T     31     38     39     41      1
+E3T     32     40     41     42      1
+E3T     33     44     40     42      1
+E3T     36     73     74     63      1
+E3T     37     66     73     63      1
+E3T     38     72     66     68      1
+E3T     39     70     72     68      1
+E3T     40     69     70     68      1
+E3T     41      6     69     67      1
+E3T     42      7      6      8      1
+E3T     43     39      7      9      1
+E3T     44     41     39     11      1
+E3T     45     42     41     43      1
+E3T     46     44     42     43      1
+E3T     47     48     44     46      1
+E3T     50     74     75     58      1
+E3T     51     63     74     60      1
+E3T     52     66     63     62      1
+E3T     53     68     66     65      1
+E3T     54     69     68     67      1
+E3T     55      6     67      8      1
+E3T     56      7      8      9      1
+E3T     57     39      9     11      1
+E3T     58     41     11     13      1
+E3T     59     43     41     17      1
+E3T     60     44     43     45      1
+E3T     61     46     44     45      1
+E3T     62     48     46     47      1
+E3T     65     75     76     56      1
+E3T     66     58     75     56      1
+E3T     67     74     58     60      1
+E3T     68     63     60     62      1
+E3T     69     66     62     65      1
+E3T     70     68     65     67      1
+E3T     71      8     67     10      1
+E3T     72      9      8     10      1
+E3T     73     11      9     10      1
+E3T     74     13     11     12      1
+E3T     75     41     13     15      1
+E3T     76     17     41     15      1
+E3T     77     43     17     19      1
+E3T     78     45     43     19      1
+E3T     79     46     45     47      1
+E3T     80     48     47     49      1
+E3T     81     50     48     49      1
+E3T     84     76     77     54      1
+E3T     85     56     76     54      1
+E3T     86     58     56     78      1
+E3T     87     60     58     79      1
+E3T     88     62     60     61      1
+E3T     89     65     62     64      1
+E3T     90     67     65     64      1
+E3T     91     10     67     64      1
+E3T     92     11     10     12      1
+E3T     93     13     12     14      1
+E3T     94     15     13     14      1
+E3T     95     17     15     16      1
+E3T     96     19     17     20      1
+E3T     97     45     19     21      1
+E3T     98     47     45     27      1
+E3T     99     49     47     29      1
+E3T    100     50     49     35      1
+E3T    103     77     51     52      1
+E3T    104     54     77     52      1
+E3T    105     56     54     78      1
+E3T    106     58     78     79      1
+E3T    107     60     79     59      1
+E3T    108     61     60     59      1
+E3T    109     62     61     64      1
+E3T    110     10     64     12      1
+E3T    111     14     12     61      1
+E3T    112     15     14     16      1
+E3T    113     17     16     18      1
+E3T    114     20     17     18      1
+E3T    115     19     20     21      1
+E3T    116     45     21     23      1
+E3T    117     27     45     25      1
+E3T    118     47     27     29      1
+E3T    119     49     29     31      1
+E3T    120     35     49     33      1
+E3T    121     51     35     34      1
+E3T    122     52     51     54      1
+E3T    123     78     54     53      1
+E3T    124     79     78     57      1
+E3T    125     59     79     57      1
+E3T    126     61     59     14      1
+E3T    127     64     61     12      1
+E3T    128     16     14     59      1
+E3T    129     18     16     59      1
+E3T    130     20     18     59      1
+E3T    131     21     20     22      1
+E3T    132     23     21     22      1
+E3T    133     45     23     25      1
+E3T    134     27     25     26      1
+E3T    135     29     27     28      1
+E3T    136     31     29     30      1
+E3T    137     49     31     33      1
+E3T    138     35     33     34      1
+E3T    139     51     34     53      1
+E3T    140     54     51     53      1
+E3T    141     78     53     55      1
+E3T    142     57     78     55      1
+E3T    143     59     57     20      1
+E3T    144     22     20     57      1
+E3T    145     23     22     24      1
+E3T    146     25     23     24      1
+E3T    147     26     25     24      1
+E3T    148     27     26     28      1
+E3T    149     29     28     30      1
+E3T    150     31     30     32      1
+E3T    151     33     31     32      1
+E3T    152     34     33     32      1
+E3T    153     53     34     32      1
+E3T    154     55     53     30      1
+E3T    155     57     55     24      1
+E3T    156     22     57     24      1
+E3T    157     26     24     55      1
+E3T    158     28     26     55      1
+E3T    159     30     28     55      1
+E3T    160     32     30     53      1
+ND      1 1.154000000e+01 3.660000000e+01 2.000000000e+01
+ND      2 1.369000000e+01 3.348000000e+01 1.900000000e+01
+ND      3 1.374000000e+01 2.908000000e+01 1.700000000e+01
+ND      4 1.430000000e+01 2.755000000e+01 1.700000000e+01
+ND      5 1.538000000e+01 2.985000000e+01 1.700000000e+01
+ND      6 1.599000000e+01 2.801000000e+01 1.800000000e+01
+ND      7 1.809000000e+01 3.067000000e+01 1.700000000e+01
+ND      8 1.875000000e+01 2.898000000e+01 1.700000000e+01
+ND      9 1.967000000e+01 3.108000000e+01 1.700000000e+01
+ND     10 2.034000000e+01 2.949000000e+01 1.700000000e+01
+ND     11 2.141000000e+01 3.154000000e+01 1.700000000e+01
+ND     12 2.233000000e+01 2.980000000e+01 1.700000000e+01
+ND     13 2.326000000e+01 3.210000000e+01 1.700000000e+01
+ND     14 2.428000000e+01 3.072000000e+01 1.700000000e+01
+ND     15 2.484000000e+01 3.261000000e+01 1.700000000e+01
+ND     16 2.592000000e+01 3.097000000e+01 1.700000000e+01
+ND     17 2.627000000e+01 3.297000000e+01 1.700000000e+01
+ND     18 2.725000000e+01 3.144000000e+01 1.800000000e+01
+ND     19 2.832000000e+01 3.425000000e+01 1.700000000e+01
+ND     20 2.919000000e+01 3.241000000e+01 1.700000000e+01
+ND     21 3.006000000e+01 3.404000000e+01 1.700000000e+01
+ND     22 3.067000000e+01 3.287000000e+01 1.700000000e+01
+ND     23 3.154000000e+01 3.445000000e+01 1.700000000e+01
+ND     24 3.262000000e+01 3.323000000e+01 1.700000000e+01
+ND     25 3.354000000e+01 3.502000000e+01 1.700000000e+01
+ND     26 3.451000000e+01 3.374000000e+01 1.700000000e+01
+ND     27 3.492000000e+01 3.553000000e+01 1.700000000e+01
+ND     28 3.615000000e+01 3.435000000e+01 1.700000000e+01
+ND     29 3.646000000e+01 3.594000000e+01 1.700000000e+01
+ND     30 3.768000000e+01 3.471000000e+01 1.700000000e+01
+ND     31 3.860000000e+01 3.660000000e+01 1.700000000e+01
+ND     32 3.922000000e+01 3.481000000e+01 1.700000000e+01
+ND     33 4.040000000e+01 3.711000000e+01 1.800000000e+01
+ND     34 4.178000000e+01 3.558000000e+01 1.700000000e+01
+ND     35 4.213000000e+01 3.747000000e+01 1.800000000e+01
+ND     36 1.533000000e+01 3.788000000e+01 2.000000000e+01
+ND     37 1.599000000e+01 3.435000000e+01 1.900000000e+01
+ND     38 1.891000000e+01 3.855000000e+01 2.000000000e+01
+ND     39 1.957000000e+01 3.450000000e+01 1.900000000e+01
+ND     40 2.280000000e+01 3.947000000e+01 2.000000000e+01
+ND     41 2.305000000e+01 3.563000000e+01 1.900000000e+01
+ND     42 2.576000000e+01 3.988000000e+01 2.000000000e+01
+ND     43 2.704000000e+01 3.624000000e+01 1.900000000e+01
+ND     44 2.940000000e+01 4.172000000e+01 2.000000000e+01
+ND     45 3.139000000e+01 3.747000000e+01 1.900000000e+01
+ND     46 3.236000000e+01 4.105000000e+01 2.000000000e+01
+ND     47 3.426000000e+01 3.921000000e+01 1.900000000e+01
+ND     48 3.600000000e+01 4.320000000e+01 2.000000000e+01
+ND     49 3.773000000e+01 3.972000000e+01 1.900000000e+01
+ND     50 4.075000000e+01 4.356000000e+01 2.000000000e+01
+ND     51 4.300000000e+01 3.230000000e+01 1.800000000e+01
+ND     52 4.280000000e+01 2.826000000e+01 1.900000000e+01
+ND     53 3.917000000e+01 3.266000000e+01 1.800000000e+01
+ND     54 3.942000000e+01 2.837000000e+01 1.900000000e+01
+ND     55 3.553000000e+01 3.230000000e+01 1.800000000e+01
+ND     56 3.671000000e+01 2.770000000e+01 1.850000000e+01
+ND     57 3.170000000e+01 3.097000000e+01 1.800000000e+01
+ND     58 3.369000000e+01 2.647000000e+01 1.850000000e+01
+ND     59 2.735000000e+01 2.877000000e+01 1.800000000e+01
+ND     60 2.817000000e+01 2.606000000e+01 1.850000000e+01
+ND     61 2.428000000e+01 2.729000000e+01 1.900000000e+01
+ND     62 2.479000000e+01 2.473000000e+01 1.850000000e+01
+ND     63 2.566000000e+01 2.320000000e+01 1.850000000e+01
+ND     64 2.182000000e+01 2.647000000e+01 1.900000000e+01
+ND     65 2.193000000e+01 2.443000000e+01 1.850000000e+01
+ND     66 2.198000000e+01 2.279000000e+01 1.850000000e+01
+ND     67 1.962000000e+01 2.647000000e+01 1.800000000e+01
+ND     68 1.896000000e+01 2.351000000e+01 1.900000000e+01
+ND     69 1.522000000e+01 2.555000000e+01 1.800000000e+01
+ND     70 1.507000000e+01 2.269000000e+01 1.900000000e+01
+ND     71 1.466000000e+01 2.084000000e+01 1.800000000e+01
+ND     72 1.824000000e+01 2.156000000e+01 1.800000000e+01
+ND     73 2.285000000e+01 2.131000000e+01 1.800000000e+01
+ND     74 2.955000000e+01 2.325000000e+01 1.900000000e+01
+ND     75 3.477000000e+01 2.437000000e+01 1.900000000e+01
+ND     76 3.866000000e+01 2.504000000e+01 1.900000000e+01
+ND     77 4.352000000e+01 2.550000000e+01 1.800000000e+01
+ND     78 3.538000000e+01 3.000000000e+01 1.850000000e+01
+ND     79 3.247000000e+01 2.842000000e+01 1.850000000e+01
+BEGPARAMDEF
+GM  HYDRO_AS-2D
+SI  1
+DY  1
+TD  500  20000
+KEY  "hydro_as-2d"
+PD  "Rechenlauf fortsetzen ?"  0  0
+PD  "Zeitintervall SMS [s]"  2  5000
+PD  "Hmin [m]"  2  0.01
+PD  "VELMAX [m/s]"  2  15
+PD  "Amin"  2  1e-015
+PD  "CMUVISC"  2  0.6
+NUME  2
+BD 0  "KUK / Druckabfluss"  1  1 "KUK [m ü NN]"
+BCDISP  0  1  1  0  0  0 0
+BD 0  "Pegelpunkt"  2  0
+BCDISP  0  2  1  0  0  0 0
+BD 1  "Zulauf"  1  2 "Abfluss [m^3/s]" "Richtung CCW °"
+BCDISP  1  1  1  0  255  0 0
+BD 1  "Auslauf / Ie"  2  1 "EL_Gefälle [Promille]"
+BCDISP  1  2  1  0  0  0 255
+BD 1  "Auslauf / W-Q"  3  11 "dQ [m^3/s]" "WSP_0 [m Ü NN]" "WSP_1 [m Ü NN]" "WSP_2 [m Ü NN]" "WSP_3 [m Ü NN]" "WSP_4 [m Ü NN]" "WSP_5 [m Ü NN]" "WSP_6 [m Ü NN]" "WSP_7 [m Ü NN]" "WSP_8 [m Ü NN]" "WSP_9 [m Ü NN]"
+BCDISP  1  3  1  0  0  255 255
+BD 1  "Durchlass / Rechteck"  4  6 "Abflusskoeffizient" "Breite [m]" "Höhe [m]" "Sohlhöhe z1 [m ü NN]" "Sohlhöhe z2 [m ü NN]" "Formel: 0=Poleni / 1=DU_BUAT"
+BCDISP  1  4  1  0  255  255 0
+BD 1  "Durchlass / kreisförmig"  5  5 "Abflusskoeffizient" "Durchmesser [m]" "Sohlhöhe z1 [m ü NN]" "Sohlhöhe z2 [m ü NN]" "Formel: 0=Poleni / 1=DU_BUAT"
+BCDISP  1  5  1  0  128  255 0
+BD 1  "Wehrüberfall"  6  4 "Überfallbeiwert" "Segmentbreite [m]" "Kronenhöhe [m ü NN]" "Formel: 0=Poleni / 1=DU_BUAT"
+BCDISP  1  6  1  0  255  0 255
+BD 1  "Kontrollquerschnitt"  7  0
+BCDISP  1  7  1  0  0  0 0
+MD  2 "Strickler" "Wirbelviskosität"
+ENDPARAMDEF
+BEG2DMBC
+END2DMBC

Added: trunk/bin/test_daten/dgmtin2/tdenv.adf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tdenv.adf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tedg.adf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tedg.adf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/thul.adf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/thul.adf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tmsk.adf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tmsk.adf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tmsx.adf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tmsx.adf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tnod.adf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tnod.adf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tnxy.adf
===================================================================
--- trunk/bin/test_daten/dgmtin2/tnxy.adf	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/bin/test_daten/dgmtin2/tnxy.adf	2007-09-02 20:13:20 UTC (rev 92)
@@ -0,0 +1,3 @@
+À•™!ŸC>†?áS§…O
+?ÚÖµ­kZÖ@Š½Îsœç:@•œ|uøëñ?áS§…O
+?ÚÖµ­kZÖÀŠµ$’I$“?Êž<*xV?çöíÚ??ÊR”¥)JR?×öíÚ??ä8 q@â‚?èB„!B?äB„!B?ט/0^`½?ÙêÃÕ‡«?âô3ègÐ?à‰ÑăL?å"8/œO–?à}æ?è-£]n
æ?àAŒØ¯?ÞÃ8•…|?àhþÑý¤?Û5j,ÔX?Ö:üuøëó?Û"6DlˆÙ?Ö0~M@%$?àPÊ’LŽ?Ö"ñËt?ãÛçÔøÎ\?Öæ¼8*?èó´QÛ?Òž<*xU?å~º%àÚ?Òž<*xU?èU›]Lý?Òž<*xU?ãcÕæ…h?Òž<*xU?Ý2ÖSêÎM?Òž<*xU?ÙÞß07–?Òž<*xT?×ã¼Í¯mÔ
\ No newline at end of file

Added: trunk/bin/test_daten/dgmtin2/tnxy_huelle.dbf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tnxy_huelle.dbf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tnxy_huelle.shp
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tnxy_huelle.shp
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tnxy_huelle.shx
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tnxy_huelle.shx
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/dgmtin2/tnz.adf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/dgmtin2/tnz.adf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/ergebnispolygone.dbf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/ergebnispolygone.dbf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/ergebnispolygone.shp
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/ergebnispolygone.shp
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/ergebnispolygone.shx
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/ergebnispolygone.shx
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/linien2.dbf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/linien2.dbf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/linien2.shp
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/linien2.shp
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/linien2.shx
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/linien2.shx
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/profile2.dbf
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/profile2.dbf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/profile2.shp
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/profile2.shp
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/bin/test_daten/profile2.shx
===================================================================
(Binary files differ)


Property changes on: trunk/bin/test_daten/profile2.shx
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/bin/test_results/test.txt
===================================================================
--- trunk/bin/test_results/test.txt	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/bin/test_results/test.txt	2007-09-02 20:13:20 UTC (rev 92)
@@ -1,8 +1,2757 @@
-10:25:12: ->Erzeugen des Begrenzungspolygons gestartet
-10:25:12: <-Erzeugen des Begrenzungspolygons beendet
-10:25:12: ->Erzeugen des Begrenzungspolygons gestartet
-10:25:12: <-Erzeugen des Begrenzungspolygons beendet
-10:25:12: ->Erzeugen des Begrenzungspolygons gestartet
-10:25:12: <-Erzeugen des Begrenzungspolygons beendet
-10:25:12: ->Erzeugen des Begrenzungspolygons gestartet
-10:25:12: <-Erzeugen des Begrenzungspolygons beendet
+21:48:40: ->Laden des DGM in Datei 'test_daten/dgm2.2dm' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/dgm2.2dm' als 2DM gestartet
+21:48:40:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     Kapazität der Elementliste wurde auf 200000 erhöht
+21:48:40:     140 Elemente und 79 Knoten geladen
+21:48:40:     79 Knoten insgesamt
+21:48:40:   <-Laden des DGM in Datei 'test_daten/dgm2.2dm' als 2DM beendet
+21:48:40:   ->Suche nach doppelten Knoten gestartet
+21:48:40:     79 Knoten und 140 Elemente vorhanden
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:48:40:   <-Suche nach doppelten Knoten beendet
+21:48:40: <-Laden des DGM in Datei 'test_daten/dgm2.2dm' beendet
+21:48:40: ->Laden der Profilspuren gestartet
+21:48:40:   ->Laden der Projektionsdatei zu 'test_daten/profile2.shp' gestartet
+21:48:40:     Projektionsdatei 'test_daten/profile2.Prj' konnte nicht geöffnet werden
+21:48:40:   <-Laden der Projektionsdatei zu 'test_daten/profile2.shp' beendet
+21:48:40:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
+21:48:40:   10 Speicherblöcke wurden angefordert
+21:48:40:   3 von 3 Objekten geladen, 3 Profilspuren im Speicher
+21:48:40: <-Laden der Profilspuren beendet
+21:48:40: ->Ausrichten der Profilspuren gestartet
+21:48:40:   3 von 3 Profilspuren ausgerichtet, 0 gedreht
+21:48:40: <-Ausrichten der Profilspuren beendet
+21:48:40: ->Überprüfung der Profilspuren gestartet
+21:48:40:   3 von 3 Profilspuren überprüft
+21:48:40: <-Überprüfung der Profilspuren beendet
+21:48:40: ->Laden der Gewässerachsen gestartet
+21:48:40:   ->Laden der Projektionsdatei zu 'test_daten/achse2.shp' gestartet
+21:48:40:     Projektionsdatei 'test_daten/achse2.Prj' konnte nicht geöffnet werden
+21:48:40:   <-Laden der Projektionsdatei zu 'test_daten/achse2.shp' beendet
+21:48:40:   10 Speicherblöcke wurden angefordert
+21:48:40:   1 von 1 Objekten gelesen, 1 Gewässerachsen im Speicher
+21:48:40: <-Laden der Gewässerachsen beendet
+21:48:40: ->Zusammenführen von Achsensegmenten gestart
+21:48:40: <-Zusammenführen von Achsensegmenten beendet
+21:48:40: ->Laden der Wasserstände gestartet
+21:48:40:   ->Laden der Wasserstände im DBF-Format gestartet
+21:48:40:     3 von 3 Objekten gelesen, 3 Wasserstände im Speicher
+21:48:40:   <-Laden der Wasserstände im DBF-Format beendet
+21:48:40: <-Laden der Wasserstände beendet
+21:48:40: ->Interpolieren der Wasserstände gestartet
+21:48:40:   Bei Profil 1.0000 konnte der Wasserstand 17.80 übernommen werden
+21:48:40:   Bei Profil 2.0000 konnte der Wasserstand 18.60 übernommen werden
+21:48:40:   Bei Profil 3.0000 konnte der Wasserstand 19.20 übernommen werden
+21:48:40:   3 Profile bearbeitet
+21:48:40: <-Interpolieren der Wasserstände beendet
+21:48:40: 3 Objekte freigegeben
+21:48:40: ->Laden der Linien Strukturen (Sperren, Gräben und Rohre) gestartet
+21:48:40:   ->Laden der Projektionsdatei zu 'test_daten/linien2.shp' gestartet
+21:48:40:     Projektionsdatei 'test_daten/linien2.Prj' konnte nicht geöffnet werden
+21:48:40:   <-Laden der Projektionsdatei zu 'test_daten/linien2.shp' beendet
+21:48:40:   10 Speicherblöcke wurden angefordert
+21:48:40:   2 von 2 Liniensstrukturen geladen, 2 Sperren, 0 Gräben, 0 Rohre Typ 1, 0 Rohre Typ 2
+21:48:40: <-Laden der Linien Strukturen (Sperren, Gräben und Rohre) beendet
+21:48:40: ->Erzeugung der Kanten gestartet
+21:48:40:   ->Löschen des Knoten/Kanten-Index gestartet
+21:48:40:   <-Löschen des Knoten/Kanten-Index beendet
+21:48:40:   Kapazität der Kantenliste wurde auf 281 erhöht
+21:48:40:   140 von 140 Elementen, 218 Kanten erzeugt
+21:48:40:   0 von 218 Kanten getestet
+21:48:40:   218 von 218 Kanten getestet
+21:48:40: <-Erzeugung der Kanten beendet
+21:48:40: ->Löschen des Knoten/Kanten-Index gestartet
+21:48:40: <-Löschen des Knoten/Kanten-Index beendet
+21:48:40: ->Übertragen der Wasserstände gestartet
+21:48:40:   0 von 3 Profilen übertragen, 0 Wasserstände übertragen
+21:48:40:   Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:   Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:   3 von 79 Knoten getestet, 27 Wasserstände übertragen
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: <-Übertragen der Wasserstände beendet
+21:48:40: 2 Objekte freigegeben
+21:48:40: 3 Objekte freigegeben
+21:48:40: 218 Objekte freigegeben
+21:48:40: 140 Objekte freigegeben
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: 79 Objekte freigegeben
+21:48:40: ->Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' als XYZ gestartet
+21:48:40:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:     13 Werte gelesen, 13 von 13 Knoten im Speicher
+21:48:40:   <-Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' als XYZ beendet
+21:48:40:   ->Suche nach doppelten Knoten gestartet
+21:48:40:     13 Knoten und keine Elemente vorhanden
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:48:40:   <-Suche nach doppelten Knoten beendet
+21:48:40: <-Laden des DGM in Datei 'test_daten/test_buildedgelist.xyz' beendet
+21:48:40: ->Triangulierung der Knoten gestartet
+21:48:40:   ->Verschiebung des Koordinatensystems gestartet
+21:48:40:   <-Verschiebung des Koordinatensystems beendet
+21:48:40:   ->Sortieren der Knoten gestartet
+21:48:40:     ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:     <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:   <-Sortieren der Knoten beendet
+21:48:40:   ->Löschen des Knoten/Kanten-Index gestartet
+21:48:40:   <-Löschen des Knoten/Kanten-Index beendet
+21:48:40:   Kapazität der Elementliste wurde auf 37 erhöht
+21:48:40:   Kapazität der Kantenliste wurde auf 82 erhöht
+21:48:40:   ->Freigeben des Speichers der Kanten gestartet
+21:48:40:     58 Objekte freigegeben
+21:48:40:   <-Freigeben des Speichers der Kanten beendet
+21:48:40:   ->Zurückverschiebung des Koordinatensystems gestartet
+21:48:40:   <-Zurückverschiebung des Koordinatensystems beendet
+21:48:40:   ->Löschen der überschüssigen Elemente gestartet
+21:48:40:   <-Löschen der überschüssigen Elemente beendet
+21:48:40: <-Triangulierung der Knoten beendet
+21:48:40: ->Erzeugung der Kanten gestartet
+21:48:40:   ->Löschen des Knoten/Kanten-Index gestartet
+21:48:40:   <-Löschen des Knoten/Kanten-Index beendet
+21:48:40:   Kapazität der Kantenliste wurde auf 57 erhöht
+21:48:40:   17 von 28 Elementen, 29 Kanten erzeugt
+21:48:40:   0 von 29 Kanten getestet
+21:48:40:   29 von 29 Kanten getestet
+21:48:40: <-Erzeugung der Kanten beendet
+21:48:40: 29 Objekte freigegeben
+21:48:40: 28 Objekte freigegeben
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: 17 Objekte freigegeben
+21:48:40: ->Sortieren der Punkte gestartet
+21:48:40: <-Sortieren der Punkte beendet
+21:48:40: ->Beschneiden des Begrenzungspolygon gestartet
+21:48:40:   Beschneidung mit Profil 0.0000
+21:48:40: <-Beschneiden des Begrenzungspolygon beendet
+21:48:40: ->Beschneiden des Begrenzungspolygon gestartet
+21:48:40:   Beschneidung mit Profil 0.0001
+21:48:40: <-Beschneiden des Begrenzungspolygon beendet
+21:48:40: ->Laden der hydraulischen Grenze gestartet
+21:48:40:   ->Laden der Projektionsdatei zu 'test_daten/test1.shp' gestartet
+21:48:40:     Projektionsdatei 'test_daten/test1.Prj' konnte nicht geöffnet werden
+21:48:40:   <-Laden der Projektionsdatei zu 'test_daten/test1.shp' beendet
+21:48:40:   10 Speicherblöcke wurden angefordert
+21:48:40: <-Laden der hydraulischen Grenze beendet
+21:48:40: ->Laden der Profilspuren gestartet
+21:48:40:   ->Laden der Projektionsdatei zu 'test_daten/test1p.shp' gestartet
+21:48:40:     Projektionsdatei 'test_daten/test1p.Prj' konnte nicht geöffnet werden
+21:48:40:   <-Laden der Projektionsdatei zu 'test_daten/test1p.shp' beendet
+21:48:40:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
+21:48:40:   10 Speicherblöcke wurden angefordert
+21:48:40:   5 von 5 Objekten geladen, 5 Profilspuren im Speicher
+21:48:40: <-Laden der Profilspuren beendet
+21:48:40: ->Ausrichten der Profilspuren gestartet
+21:48:40:   5 von 5 Profilspuren ausgerichtet, 3 gedreht
+21:48:40: <-Ausrichten der Profilspuren beendet
+21:48:40: ->Überprüfung der Profilspuren gestartet
+21:48:40:   5 von 5 Profilspuren überprüft
+21:48:40: <-Überprüfung der Profilspuren beendet
+21:48:40: ->Erzeugung des Begrenzungspolygons gestartet
+21:48:40:   ->Erzeugen des Begrenzungspolygons gestartet
+21:48:40:   <-Erzeugen des Begrenzungspolygons beendet
+21:48:40:   7 Begrenzungspunkte erzeugt
+21:48:40: <-Erzeugung des Begrenzungspolygons beendet
+21:48:40: ->Beschneiden des Begrenzungspolygon gestartet
+21:48:40:   Beschneidung mit Profil 0.0000
+21:48:40: <-Beschneiden des Begrenzungspolygon beendet
+21:48:40: 5 Objekte freigegeben
+21:48:40: 6 Objekte freigegeben
+21:48:40: Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40: Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40: Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40: ->Sortieren der Knoten gestartet
+21:48:40: <-Sortieren der Knoten beendet
+21:48:40: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
+21:48:40:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
+21:48:40:       Projektionsdatei 'test_daten/dgm.Prj' konnte nicht geöffnet werden
+21:48:40:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
+21:48:40:     10 Speicherblöcke wurden angefordert
+21:48:40:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
+21:48:40:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
+21:48:40:   ->Suche nach doppelten Knoten gestartet
+21:48:40:     114 Knoten und keine Elemente vorhanden
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:48:40:   <-Suche nach doppelten Knoten beendet
+21:48:40: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
+21:48:40: ->Sortieren der Knoten gestartet
+21:48:40:   ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40: <-Sortieren der Knoten beendet
+21:48:40: 0.01,0.01
+21:48:40: 0.01,0.01
+21:48:40: 0.01,0.02
+21:48:40: 0.02,0.02
+21:48:40: 0.02,0.01
+21:48:40: 0.01,0.01
+21:48:40: 0.01,0.02
+21:48:40: 0.02,0.02
+21:48:40: 0.02,0.01
+21:48:40: 0.01,0.01
+21:48:40: 0.01,0.02
+21:48:40: 0.01,0.03
+21:48:40: 0.02,0.02
+21:48:40: 0.02,0.03
+21:48:40: 0.03,0.02
+21:48:40: 0.03,0.03
+21:48:40: 0.02,0.01
+21:48:40: 0.03,0.01
+21:48:40: 0.01,0.01
+21:48:40: 0.01,0.09
+21:48:40: 0.04,0.09
+21:48:40: 0.03,0.06
+21:48:40: 0.04,0.05
+21:48:40: 0.09,0.09
+21:48:40: 0.07,0.09
+21:48:40: 0.07,0.07
+21:48:40: 0.07,0.06
+21:48:40: 0.09,0.01
+21:48:40: 0.07,0.04
+21:48:40: 0.03,0.04
+21:48:40: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
+21:48:40:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
+21:48:40:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
+21:48:40:   ->Suche nach doppelten Knoten gestartet
+21:48:40:     1126 Knoten und keine Elemente vorhanden
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:48:40:   <-Suche nach doppelten Knoten beendet
+21:48:40: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
+21:48:40: 3501267.49,5872612.21
+21:48:40: 3500741.94,5873010.11
+21:48:40: 3500733.82,5872983.87
+21:48:40: 3500726.79,5873108.23
+21:48:40: 3500727.21,5873257.13
+21:48:40: 3500730.52,5873329.20
+21:48:40: 3500734.91,5873293.44
+21:48:40: 3500685.45,5873261.49
+21:48:40: 3500699.93,5873298.09
+21:48:40: 3500738.07,5873147.90
+21:48:40: 3500691.05,5873185.69
+21:48:40: 3500692.77,5873223.67
+21:48:40: 3500724.99,5873180.90
+21:48:40: 3500730.53,5873216.57
+21:48:40: 3500685.70,5873112.11
+21:48:40: 3500700.42,5873147.47
+21:48:40: 3500733.86,5873038.63
+21:48:40: 3500726.38,5873069.66
+21:48:40: 3500695.85,5873035.94
+21:48:40: 3500695.28,5873076.51
+21:48:40: 3500731.87,5872960.78
+21:48:40: 3500713.94,5873006.84
+21:48:40: 3500710.48,5872981.53
+21:48:40: 3500714.77,5872967.93
+21:48:40: 3500733.58,5872944.56
+21:48:40: 3501269.86,5872816.42
+21:48:40: 3501099.88,5873416.41
+21:48:40: 3501063.99,5873407.92
+21:48:40: 3501022.45,5873411.00
+21:48:40: 3500987.30,5873417.60
+21:48:40: 3500955.14,5873404.00
+21:48:40: 3500922.33,5873416.94
+21:48:40: 3500879.94,5873411.35
+21:48:40: 3500835.30,5873410.84
+21:48:40: 3500797.71,5873412.18
+21:48:40: 3501251.80,5873408.21
+21:48:40: 3501334.15,5873408.58
+21:48:40: 3501410.39,5873416.02
+21:48:40: 3501444.14,5873404.29
+21:48:40: 3501375.52,5873411.84
+21:48:40: 3501213.20,5873407.85
+21:48:40: 3501293.31,5873419.57
+21:48:40: 3501177.16,5873415.15
+21:48:40: 3501136.19,5873411.35
+21:48:40: 3501251.95,5872819.23
+21:48:40: 3501247.91,5873111.14
+21:48:40: 3501177.23,5873257.77
+21:48:40: 3501147.48,5873340.62
+21:48:40: 3501142.70,5873374.43
+21:48:40: 3501183.79,5873333.72
+21:48:40: 3501180.31,5873373.97
+21:48:40: 3501217.95,5873373.52
+21:48:40: 3501213.19,5873304.01
+21:48:40: 3501184.45,5873293.37
+21:48:40: 3501136.62,5873261.72
+21:48:40: 3501145.77,5873302.23
+21:48:40: 3501263.50,5873260.93
+21:48:40: 3501259.17,5873331.73
+21:48:40: 3501256.42,5873367.06
+21:48:40: 3501224.98,5873337.01
+21:48:40: 3501296.42,5873339.25
+21:48:40: 3501293.05,5873382.51
+21:48:40: 3501298.37,5873266.32
+21:48:40: 3501284.76,5873299.04
+21:48:40: 3501221.67,5873264.43
+21:48:40: 3501247.43,5873298.09
+21:48:40: 3501288.19,5873113.25
+21:48:40: 3501256.03,5873186.16
+21:48:40: 3501248.53,5873224.43
+21:48:40: 3501293.02,5873187.36
+21:48:40: 3501289.61,5873226.83
+21:48:40: 3501300.28,5873152.80
+21:48:40: 3501262.38,5873148.08
+21:48:40: 3501221.72,5873152.04
+21:48:40: 3501210.24,5873111.86
+21:48:40: 3501147.05,5873190.51
+21:48:40: 3501142.62,5873224.06
+21:48:40: 3501217.82,5873192.87
+21:48:40: 3501180.39,5873216.01
+21:48:40: 3501212.35,5873229.77
+21:48:40: 3501181.50,5873177.77
+21:48:40: 3501177.08,5873105.90
+21:48:40: 3501180.06,5873140.75
+21:48:40: 3501139.21,5873112.89
+21:48:40: 3501142.94,5873156.09
+21:48:40: 3501326.44,5873107.03
+21:48:40: 3501331.45,5873253.41
+21:48:40: 3501335.30,5873331.59
+21:48:40: 3501330.44,5873366.95
+21:48:40: 3501369.03,5873336.90
+21:48:40: 3501368.22,5873374.38
+21:48:40: 3501405.85,5873336.38
+21:48:40: 3501367.01,5873268.75
+21:48:40: 3501363.40,5873303.35
+21:48:40: 3501403.28,5873295.62
+21:48:40: 3501401.10,5873257.08
+21:48:40: 3501325.99,5873295.48
+21:48:40: 3501440.19,5873265.38
+21:48:40: 3501443.83,5873343.78
+21:48:40: 3501407.30,5873377.34
+21:48:40: 3501443.41,5873374.10
+21:48:40: 3501442.85,5873306.61
+21:48:40: 3501410.28,5873227.36
+21:48:40: 3501364.60,5873113.67
+21:48:40: 3501330.36,5873176.63
+21:48:40: 3501330.04,5873215.80
+21:48:40: 3501363.44,5873191.14
+21:48:40: 3501371.23,5873226.76
+21:48:40: 3501405.96,5873185.52
+21:48:40: 3501402.31,5873106.54
+21:48:40: 3501369.06,5873156.21
+21:48:40: 3501405.50,5873141.20
+21:48:40: 3501331.89,5873138.57
+21:48:40: 3501323.29,5872851.93
+21:48:40: 3501322.72,5872961.19
+21:48:40: 3501329.42,5873027.24
+21:48:40: 3501334.53,5873069.66
+21:48:40: 3501362.75,5873041.40
+21:48:40: 3501375.73,5873073.47
+21:48:40: 3501364.72,5872965.28
+21:48:40: 3501368.01,5873006.17
+21:48:40: 3501335.84,5872992.78
+21:48:40: 3501332.60,5872865.63
+21:48:40: 3501330.76,5872887.44
+21:48:40: 3501335.29,5872925.67
+21:48:40: 3501290.05,5872816.47
+21:48:40: 3501147.89,5872960.56
+21:48:40: 3501137.56,5873041.01
+21:48:40: 3501150.96,5873073.29
+21:48:40: 3501214.91,5873038.09
+21:48:40: 3501188.50,5873072.32
+21:48:40: 3501173.03,5873035.24
+21:48:40: 3501180.24,5872961.77
+21:48:40: 3501183.47,5872996.92
+21:48:40: 3501210.46,5872961.30
+21:48:40: 3501140.95,5873001.24
+21:48:40: 3501284.89,5872962.09
+21:48:40: 3501255.33,5873027.33
+21:48:40: 3501223.54,5873077.76
+21:48:40: 3501259.03,5873069.47
+21:48:40: 3501292.63,5873043.39
+21:48:40: 3501297.30,5873077.96
+21:48:40: 3501296.77,5873002.29
+21:48:40: 3501247.70,5872961.39
+21:48:40: 3501226.84,5872999.13
+21:48:40: 3501262.40,5872991.16
+21:48:40: 3501233.71,5872816.50
+21:48:40: 3501239.10,5872876.42
+21:48:40: 3501221.78,5872925.08
+21:48:40: 3501259.53,5872925.33
+21:48:40: 3501256.06,5872889.47
+21:48:40: 3501237.33,5872898.41
+21:48:40: 3501274.61,5872876.44
+21:48:40: 3501297.60,5872925.39
+21:48:40: 3501293.36,5872888.43
+21:48:40: 3501312.18,5872897.81
+21:48:40: 3501274.47,5872898.46
+21:48:40: 3501310.44,5872816.53
+21:48:40: 3501273.70,5872858.16
+21:48:40: 3501298.49,5872855.04
+21:48:40: 3501291.41,5872868.26
+21:48:40: 3501312.06,5872872.11
+21:48:40: 3501308.56,5872835.82
+21:48:40: 3501267.74,5872835.91
+21:48:40: 3501287.18,5872837.17
+21:48:40: 3501245.66,5872835.10
+21:48:40: 3501231.54,5872851.41
+21:48:40: 3501224.10,5872864.38
+21:48:40: 3501260.98,5872849.75
+21:48:40: 3501248.90,5872861.27
+21:48:40: 3501258.31,5872869.82
+21:48:40: 3501247.51,5872851.07
+21:48:40: 3501224.15,5872834.64
+21:48:40: 3501210.50,5872814.37
+21:48:40: 3501142.37,5872889.76
+21:48:40: 3501142.36,5872919.79
+21:48:40: 3501162.30,5872894.94
+21:48:40: 3501125.47,5872894.52
+21:48:40: 3501218.32,5872886.87
+21:48:40: 3501180.42,5872927.13
+21:48:40: 3501199.62,5872896.32
+21:48:40: 3501182.02,5872888.23
+21:48:40: 3501187.96,5872817.11
+21:48:40: 3501185.26,5872853.86
+21:48:40: 3501174.50,5872870.61
+21:48:40: 3501208.65,5872851.45
+21:48:40: 3501199.30,5872867.49
+21:48:40: 3501214.97,5872870.87
+21:48:40: 3501205.55,5872832.66
+21:48:40: 3501187.15,5872835.82
+21:48:40: 3501166.84,5872816.82
+21:48:40: 3501146.79,5872851.56
+21:48:40: 3501129.24,5872860.15
+21:48:40: 3501165.39,5872857.58
+21:48:40: 3501149.71,5872873.72
+21:48:40: 3501165.59,5872837.46
+21:48:40: 3501146.76,5872815.84
+21:48:40: 3501128.45,5872819.34
+21:48:40: 3501144.14,5872833.69
+21:48:40: 3501107.18,5872815.07
+21:48:40: 3500912.76,5873116.86
+21:48:40: 3500840.35,5873264.82
+21:48:40: 3500767.75,5873344.49
+21:48:40: 3500767.78,5873381.38
+21:48:40: 3500807.89,5873333.43
+21:48:40: 3500805.86,5873373.64
+21:48:40: 3500838.21,5873303.01
+21:48:40: 3500805.11,5873291.43
+21:48:40: 3500800.94,5873256.04
+21:48:40: 3500767.07,5873268.41
+21:48:40: 3500768.94,5873307.67
+21:48:40: 3500913.32,5873265.15
+21:48:40: 3500876.57,5873340.25
+21:48:40: 3500845.54,5873372.09
+21:48:40: 3500885.10,5873370.29
+21:48:40: 3500847.14,5873332.02
+21:48:40: 3500916.54,5873336.09
+21:48:40: 3500917.84,5873381.57
+21:48:40: 3500922.64,5873294.86
+21:48:40: 3500879.77,5873254.67
+21:48:40: 3500880.51,5873298.62
+21:48:40: 3500926.60,5873149.37
+21:48:40: 3500879.61,5873193.06
+21:48:40: 3500849.25,5873223.58
+21:48:40: 3500880.80,5873223.73
+21:48:40: 3500913.31,5873181.35
+21:48:40: 3500919.01,5873223.93
+21:48:40: 3500876.98,5873107.08
+21:48:40: 3500847.98,5873143.55
+21:48:40: 3500883.38,5873151.96
+21:48:40: 3500834.23,5873110.17
+21:48:40: 3500760.19,5873186.29
+21:48:40: 3500770.45,5873227.14
+21:48:40: 3500839.62,5873182.20
+21:48:40: 3500813.51,5873223.01
+21:48:40: 3500797.99,5873187.01
+21:48:40: 3500813.75,5873148.92
+21:48:40: 3500796.43,5873110.44
+21:48:40: 3500776.41,5873148.75
+21:48:40: 3500762.14,5873115.93
+21:48:40: 3501098.09,5873109.81
+21:48:40: 3501000.29,5873260.77
+21:48:40: 3500955.63,5873336.67
+21:48:40: 3500955.20,5873366.47
+21:48:40: 3500994.13,5873337.42
+21:48:40: 3500993.10,5873380.95
+21:48:40: 3501022.86,5873298.52
+21:48:40: 3500987.23,5873294.02
+21:48:40: 3500955.67,5873261.70
+21:48:40: 3500955.47,5873305.97
+21:48:40: 3501105.69,5873261.31
+21:48:40: 3501064.19,5873340.74
+21:48:40: 3501032.54,5873371.46
+21:48:40: 3501073.24,5873369.69
+21:48:40: 3501034.48,5873331.90
+21:48:40: 3501105.70,5873335.98
+21:48:40: 3501105.46,5873381.14
+21:48:40: 3501105.34,5873293.22
+21:48:40: 3501074.61,5873261.24
+21:48:40: 3501065.41,5873301.97
+21:48:40: 3501038.47,5873261.35
+21:48:40: 3501062.38,5873115.47
+21:48:40: 3501064.09,5873182.03
+21:48:40: 3501064.90,5873220.27
+21:48:40: 3501105.11,5873186.61
+21:48:40: 3501104.79,5873229.40
+21:48:40: 3501110.44,5873143.84
+21:48:40: 3501076.58,5873149.19
+21:48:40: 3501037.63,5873148.04
+21:48:40: 3501026.69,5873107.74
+21:48:40: 3500951.62,5873188.63
+21:48:40: 3500954.81,5873224.11
+21:48:40: 3501030.10,5873186.27
+21:48:40: 3500985.27,5873224.11
+21:48:40: 3501023.11,5873223.69
+21:48:40: 3500992.60,5873186.29
+21:48:40: 3500984.92,5873110.95
+21:48:40: 3501001.35,5873147.88
+21:48:40: 3500949.26,5873110.68
+21:48:40: 3500963.93,5873149.18
+21:48:40: 3501124.15,5872838.14
+21:48:40: 3501025.76,5872962.80
+21:48:40: 3500956.03,5873027.96
+21:48:40: 3500957.26,5873069.06
+21:48:40: 3501026.72,5873031.73
+21:48:40: 3500997.39,5873078.42
+21:48:40: 3501031.11,5873065.63
+21:48:40: 3500992.65,5873043.10
+21:48:40: 3500989.14,5872962.66
+21:48:40: 3500996.81,5873002.11
+21:48:40: 3500950.22,5872962.71
+21:48:40: 3500960.82,5872994.52
+21:48:40: 3501109.08,5872963.52
+21:48:40: 3501065.72,5873040.07
+21:48:40: 3501067.86,5873080.47
+21:48:40: 3501105.27,5873028.74
+21:48:40: 3501108.66,5873070.37
+21:48:40: 3501101.44,5872993.67
+21:48:40: 3501067.75,5872963.78
+21:48:40: 3501038.13,5872998.98
+21:48:40: 3501072.08,5873003.81
+21:48:40: 3501101.81,5872836.95
+21:48:40: 3501042.01,5872875.95
+21:48:40: 3501049.13,5872935.85
+21:48:40: 3501068.33,5872925.32
+21:48:40: 3501075.31,5872883.06
+21:48:40: 3501066.74,5872902.35
+21:48:40: 3501065.34,5872889.34
+21:48:40: 3501050.51,5872886.17
+21:48:40: 3501033.08,5872903.34
+21:48:40: 3501049.64,5872911.19
+21:48:40: 3501124.91,5872876.83
+21:48:40: 3501089.36,5872932.76
+21:48:40: 3501116.95,5872935.34
+21:48:40: 3501109.02,5872887.71
+21:48:40: 3501108.76,5872909.18
+21:48:40: 3501100.11,5872879.94
+21:48:40: 3501084.77,5872907.14
+21:48:40: 3501093.11,5872891.98
+21:48:40: 3501086.13,5872821.18
+21:48:40: 3501082.61,5872839.63
+21:48:40: 3501079.70,5872871.28
+21:48:40: 3501090.27,5872858.11
+21:48:40: 3501110.25,5872853.02
+21:48:40: 3501109.41,5872869.13
+21:48:40: 3501068.00,5872814.42
+21:48:40: 3501042.65,5872857.60
+21:48:40: 3501065.35,5872853.75
+21:48:40: 3501060.70,5872872.06
+21:48:40: 3501064.53,5872833.30
+21:48:40: 3501047.52,5872817.09
+21:48:40: 3501044.11,5872837.33
+21:48:40: 3501023.73,5872817.36
+21:48:40: 3500976.12,5872895.51
+21:48:40: 3500956.28,5872926.96
+21:48:40: 3500938.25,5872914.04
+21:48:40: 3500974.87,5872914.20
+21:48:40: 3500973.99,5872936.29
+21:48:40: 3500964.72,5872878.32
+21:48:40: 3500958.83,5872907.54
+21:48:40: 3500951.32,5872898.62
+21:48:40: 3501025.72,5872889.28
+21:48:40: 3500993.38,5872926.09
+21:48:40: 3501030.67,5872925.41
+21:48:40: 3501011.42,5872935.20
+21:48:40: 3501012.50,5872909.90
+21:48:40: 3501006.08,5872877.51
+21:48:40: 3500992.09,5872905.90
+21:48:40: 3501000.92,5872892.40
+21:48:40: 3500986.33,5872876.32
+21:48:40: 3501026.19,5872839.59
+21:48:40: 3501000.81,5872857.91
+21:48:40: 3501020.57,5872854.31
+21:48:40: 3501023.76,5872870.61
+21:48:40: 3501001.25,5872814.92
+21:48:40: 3501004.85,5872835.50
+21:48:40: 3500982.32,5872817.64
+21:48:40: 3500957.59,5872858.04
+21:48:40: 3500942.94,5872874.58
+21:48:40: 3500983.78,5872837.83
+21:48:40: 3500978.29,5872857.54
+21:48:40: 3500965.97,5872841.75
+21:48:40: 3500961.93,5872821.83
+21:48:40: 3500940.00,5872815.40
+21:48:40: 3500947.10,5872836.70
+21:48:40: 3500937.49,5872855.01
+21:48:40: 3500841.93,5872957.06
+21:48:40: 3500770.03,5873039.00
+21:48:40: 3500765.42,5873077.17
+21:48:40: 3500840.16,5873040.20
+21:48:40: 3500808.78,5873070.45
+21:48:40: 3500801.01,5873031.95
+21:48:40: 3500816.97,5872973.22
+21:48:40: 3500809.91,5873002.22
+21:48:40: 3500789.69,5872970.41
+21:48:40: 3500770.53,5872997.97
+21:48:40: 3500769.28,5872963.04
+21:48:40: 3500750.76,5872969.58
+21:48:40: 3500751.90,5872950.19
+21:48:40: 3500913.32,5872962.89
+21:48:40: 3500880.41,5873027.26
+21:48:40: 3500847.20,5873077.54
+21:48:40: 3500880.99,5873065.10
+21:48:40: 3500918.91,5873044.15
+21:48:40: 3500917.47,5873080.60
+21:48:40: 3500921.53,5873002.66
+21:48:40: 3500876.00,5872962.78
+21:48:40: 3500848.17,5872998.34
+21:48:40: 3500886.12,5872994.25
+21:48:40: 3500937.36,5872892.10
+21:48:40: 3500883.43,5872926.01
+21:48:40: 3500862.10,5872931.81
+21:48:40: 3500882.18,5872895.73
+21:48:40: 3500876.93,5872907.96
+21:48:40: 3500877.64,5872877.13
+21:48:40: 3500852.13,5872911.07
+21:48:40: 3500862.37,5872894.75
+21:48:40: 3500855.33,5872877.12
+21:48:40: 3500936.74,5872935.56
+21:48:40: 3500900.25,5872934.30
+21:48:40: 3500920.39,5872929.76
+21:48:40: 3500915.48,5872914.84
+21:48:40: 3500926.52,5872901.73
+21:48:40: 3500922.77,5872880.33
+21:48:40: 3500912.77,5872892.31
+21:48:40: 3500901.73,5872904.85
+21:48:40: 3500896.40,5872890.05
+21:48:40: 3500917.25,5872817.03
+21:48:40: 3500905.58,5872837.85
+21:48:40: 3500901.20,5872873.38
+21:48:40: 3500898.20,5872854.69
+21:48:40: 3500918.99,5872859.22
+21:48:40: 3500925.41,5872836.61
+21:48:40: 3500896.30,5872817.09
+21:48:40: 3500875.50,5872817.45
+21:48:40: 3500859.20,5872857.55
+21:48:40: 3500879.92,5872857.92
+21:48:40: 3500884.79,5872837.31
+21:48:40: 3500855.15,5872816.69
+21:48:40: 3500863.69,5872837.35
+21:48:40: 3500842.46,5872927.13
+21:48:40: 3500788.09,5872946.59
+21:48:40: 3500770.46,5872940.66
+21:48:40: 3500755.77,5872933.07
+21:48:40: 3500757.95,5872913.49
+21:48:40: 3500787.86,5872928.78
+21:48:40: 3500777.96,5872921.57
+21:48:40: 3500794.25,5872897.66
+21:48:40: 3500781.43,5872911.91
+21:48:40: 3500777.30,5872878.18
+21:48:40: 3500772.67,5872896.66
+21:48:40: 3500823.51,5872930.12
+21:48:40: 3500809.91,5872947.81
+21:48:40: 3500802.53,5872917.30
+21:48:40: 3500803.36,5872929.93
+21:48:40: 3500827.33,5872914.18
+21:48:40: 3500839.00,5872894.88
+21:48:40: 3500815.41,5872897.61
+21:48:40: 3500818.54,5872878.10
+21:48:40: 3500797.60,5872878.09
+21:48:40: 3500836.45,5872874.95
+21:48:40: 3500818.43,5872857.50
+21:48:40: 3500800.61,5872860.50
+21:48:40: 3500819.00,5872838.01
+21:48:40: 3500839.00,5872857.09
+21:48:40: 3500836.52,5872814.29
+21:48:40: 3500840.94,5872835.88
+21:48:40: 3500818.63,5872817.37
+21:48:40: 3500800.95,5872820.10
+21:48:40: 3500796.28,5872839.60
+21:48:40: 3500772.62,5872837.50
+21:48:40: 3500782.20,5872857.64
+21:48:40: 3500782.21,5872817.07
+21:48:40: 3500758.25,5872815.41
+21:48:40: 3501270.00,5872629.60
+21:48:40: 3501122.32,5872634.24
+21:48:40: 3500920.58,5872543.15
+21:48:40: 3500829.46,5872657.27
+21:48:40: 3500775.86,5872737.11
+21:48:40: 3500752.90,5872775.57
+21:48:40: 3500759.85,5872793.77
+21:48:40: 3500776.55,5872778.50
+21:48:40: 3500776.04,5872799.11
+21:48:40: 3500780.52,5872758.67
+21:48:40: 3500753.50,5872736.52
+21:48:40: 3500761.61,5872756.10
+21:48:40: 3500835.29,5872735.63
+21:48:40: 3500818.23,5872780.39
+21:48:40: 3500797.68,5872796.19
+21:48:40: 3500798.40,5872772.36
+21:48:40: 3500836.01,5872773.44
+21:48:40: 3500820.87,5872799.15
+21:48:40: 3500841.36,5872794.51
+21:48:40: 3500843.44,5872755.12
+21:48:40: 3500820.43,5872757.97
+21:48:40: 3500816.02,5872737.94
+21:48:40: 3500798.14,5872751.41
+21:48:40: 3500798.14,5872731.31
+21:48:40: 3500805.93,5872665.68
+21:48:40: 3500798.83,5872695.26
+21:48:40: 3500817.26,5872716.74
+21:48:40: 3500820.10,5872696.38
+21:48:40: 3500839.67,5872694.61
+21:48:40: 3500838.95,5872715.10
+21:48:40: 3500822.62,5872677.10
+21:48:40: 3500843.03,5872671.82
+21:48:40: 3500803.40,5872680.06
+21:48:40: 3500777.26,5872653.82
+21:48:40: 3500757.68,5872699.44
+21:48:40: 3500758.04,5872717.86
+21:48:40: 3500778.26,5872695.59
+21:48:40: 3500777.64,5872716.40
+21:48:40: 3500795.80,5872712.66
+21:48:40: 3500782.39,5872674.09
+21:48:40: 3500761.30,5872668.45
+21:48:40: 3500758.86,5872682.49
+21:48:40: 3500897.89,5872651.18
+21:48:40: 3500877.56,5872737.67
+21:48:40: 3500855.41,5872775.99
+21:48:40: 3500863.79,5872796.29
+21:48:40: 3500875.34,5872776.16
+21:48:40: 3500884.94,5872796.92
+21:48:40: 3500884.56,5872756.12
+21:48:40: 3500857.78,5872733.39
+21:48:40: 3500864.05,5872755.62
+21:48:40: 3500922.89,5872733.79
+21:48:40: 3500896.06,5872776.82
+21:48:40: 3500905.37,5872797.16
+21:48:40: 3500917.45,5872776.54
+21:48:40: 3500925.86,5872796.41
+21:48:40: 3500921.55,5872755.51
+21:48:40: 3500899.20,5872736.77
+21:48:40: 3500903.53,5872758.44
+21:48:40: 3500917.39,5872656.45
+21:48:40: 3500898.72,5872695.92
+21:48:40: 3500903.21,5872717.77
+21:48:40: 3500922.34,5872692.44
+21:48:40: 3500919.04,5872712.09
+21:48:40: 3500924.13,5872671.82
+21:48:40: 3500902.94,5872673.91
+21:48:40: 3500863.65,5872659.67
+21:48:40: 3500855.96,5872691.76
+21:48:40: 3500860.35,5872710.50
+21:48:40: 3500876.05,5872695.88
+21:48:40: 3500882.04,5872716.91
+21:48:40: 3500882.92,5872659.10
+21:48:40: 3500881.72,5872676.90
+21:48:40: 3500863.28,5872677.84
+21:48:40: 3500932.76,5872579.75
+21:48:40: 3500850.35,5872578.79
+21:48:40: 3500864.11,5872627.62
+21:48:40: 3500853.00,5872648.86
+21:48:40: 3500887.29,5872617.03
+21:48:40: 3500876.53,5872640.46
+21:48:40: 3500870.71,5872605.35
+21:48:40: 3500928.58,5872611.24
+21:48:40: 3500900.07,5872632.05
+21:48:40: 3500909.95,5872639.29
+21:48:40: 3500923.60,5872623.64
+21:48:40: 3500925.70,5872640.40
+21:48:40: 3500891.48,5872577.00
+21:48:40: 3500909.44,5872608.12
+21:48:40: 3500899.53,5872505.24
+21:48:40: 3500886.12,5872537.71
+21:48:40: 3500853.71,5872543.18
+21:48:40: 3500856.95,5872502.88
+21:48:40: 3500820.23,5872548.97
+21:48:40: 3500774.30,5872576.19
+21:48:40: 3500756.75,5872646.65
+21:48:40: 3500778.43,5872614.65
+21:48:40: 3500796.74,5872647.50
+21:48:40: 3500810.24,5872582.64
+21:48:40: 3500815.22,5872620.62
+21:48:40: 3500817.46,5872647.41
+21:48:40: 3500841.29,5872635.38
+21:48:40: 3500842.84,5872608.02
+21:48:40: 3500817.21,5872513.96
+21:48:40: 3500782.56,5872540.34
+21:48:40: 3501121.81,5872598.65
+21:48:40: 3501019.35,5872654.55
+21:48:40: 3500979.76,5872733.04
+21:48:40: 3500960.15,5872778.46
+21:48:40: 3500944.33,5872794.53
+21:48:40: 3500939.44,5872774.38
+21:48:40: 3500981.33,5872778.05
+21:48:40: 3500963.88,5872799.18
+21:48:40: 3500962.34,5872739.70
+21:48:40: 3500962.37,5872760.17
+21:48:40: 3500944.53,5872732.39
+21:48:40: 3500941.67,5872751.87
+21:48:40: 3501024.02,5872734.91
+21:48:40: 3501002.68,5872772.57
+21:48:40: 3500985.20,5872798.95
+21:48:40: 3501005.18,5872794.70
+21:48:40: 3501023.44,5872776.30
+21:48:40: 3501025.93,5872794.89
+21:48:40: 3501021.79,5872758.07
+21:48:40: 3500999.64,5872735.39
+21:48:40: 3500984.41,5872754.54
+21:48:40: 3501005.83,5872752.74
+21:48:40: 3501025.85,5872675.02
+21:48:40: 3501006.54,5872694.40
+21:48:40: 3500985.24,5872716.77
+21:48:40: 3501003.58,5872714.96
+21:48:40: 3501023.70,5872694.34
+21:48:40: 3501024.09,5872711.88
+21:48:40: 3500999.00,5872653.89
+21:48:40: 3500985.41,5872671.67
+21:48:40: 3501003.29,5872674.51
+21:48:40: 3500978.44,5872653.61
+21:48:40: 3500958.75,5872694.55
+21:48:40: 3500939.98,5872713.54
+21:48:40: 3500941.39,5872694.44
+21:48:40: 3500982.65,5872694.61
+21:48:40: 3500963.86,5872715.98
+21:48:40: 3500966.44,5872674.88
+21:48:40: 3500959.29,5872656.97
+21:48:40: 3500943.85,5872675.41
+21:48:40: 3500940.14,5872653.50
+21:48:40: 3501124.54,5872713.13
+21:48:40: 3501062.87,5872732.89
+21:48:40: 3501042.20,5872778.44
+21:48:40: 3501044.10,5872797.35
+21:48:40: 3501063.19,5872777.58
+21:48:40: 3501062.28,5872798.81
+21:48:40: 3501066.70,5872754.34
+21:48:40: 3501046.54,5872738.13
+21:48:40: 3501042.91,5872757.62
+21:48:40: 3501124.38,5872757.75
+21:48:40: 3501084.77,5872776.09
+21:48:40: 3501083.68,5872798.76
+21:48:40: 3501124.81,5872798.41
+21:48:40: 3501103.24,5872794.15
+21:48:40: 3501108.10,5872774.75
+21:48:40: 3501110.30,5872735.44
+21:48:40: 3501103.32,5872752.88
+21:48:40: 3501085.20,5872735.50
+21:48:40: 3501087.59,5872758.25
+21:48:40: 3501107.74,5872655.44
+21:48:40: 3501083.39,5872692.30
+21:48:40: 3501087.50,5872712.39
+21:48:40: 3501106.21,5872698.61
+21:48:40: 3501103.19,5872718.29
+21:48:40: 3501106.11,5872678.25
+21:48:40: 3501083.07,5872652.54
+21:48:40: 3501088.43,5872671.12
+21:48:40: 3501061.08,5872655.24
+21:48:40: 3501040.37,5872694.44
+21:48:40: 3501045.80,5872716.46
+21:48:40: 3501060.57,5872694.50
+21:48:40: 3501069.11,5872714.57
+21:48:40: 3501069.37,5872673.58
+21:48:40: 3501039.44,5872655.25
+21:48:40: 3501048.44,5872674.05
+21:48:40: 3501115.29,5872578.40
+21:48:40: 3501072.16,5872604.47
+21:48:40: 3501042.90,5872621.64
+21:48:40: 3501047.12,5872638.76
+21:48:40: 3501063.65,5872616.36
+21:48:40: 3501066.31,5872634.53
+21:48:40: 3501057.54,5872591.37
+21:48:40: 3501047.34,5872607.37
+21:48:40: 3501037.96,5872597.83
+21:48:40: 3501040.42,5872577.91
+21:48:40: 3501109.16,5872615.97
+21:48:40: 3501086.08,5872618.17
+21:48:40: 3501085.36,5872634.95
+21:48:40: 3501102.06,5872635.09
+21:48:40: 3501099.55,5872590.34
+21:48:40: 3501084.08,5872595.98
+21:48:40: 3501096.98,5872601.56
+21:48:40: 3501078.23,5872579.53
+21:48:40: 3501117.18,5872538.63
+21:48:40: 3501097.28,5872569.03
+21:48:40: 3501078.77,5872546.75
+21:48:40: 3501111.32,5872501.40
+21:48:40: 3501075.10,5872509.26
+21:48:40: 3501040.94,5872538.96
+21:48:40: 3501059.49,5872568.87
+21:48:40: 3501036.13,5872501.02
+21:48:40: 3501000.21,5872540.43
+21:48:40: 3500966.11,5872584.15
+21:48:40: 3500948.06,5872619.02
+21:48:40: 3500941.10,5872634.03
+21:48:40: 3500972.88,5872616.09
+21:48:40: 3500962.34,5872636.44
+21:48:40: 3501022.52,5872610.28
+21:48:40: 3500997.70,5872613.19
+21:48:40: 3500985.70,5872633.81
+21:48:40: 3501006.78,5872634.11
+21:48:40: 3501028.24,5872636.30
+21:48:40: 3501019.38,5872620.14
+21:48:40: 3501018.89,5872590.18
+21:48:40: 3500996.17,5872597.86
+21:48:40: 3501002.82,5872504.66
+21:48:40: 3500993.51,5872570.39
+21:48:40: 3501021.62,5872568.54
+21:48:40: 3500960.32,5872544.50
+21:48:40: 3500969.85,5872510.23
+21:48:40: 3500938.44,5872507.21
+21:48:40: 3501124.90,5872469.44
+21:48:40: 3501010.66,5872468.95
+21:48:40: 3500967.61,5872469.72
+21:48:40: 3500960.00,5872426.24
+21:48:40: 3500995.84,5872432.90
+21:48:40: 3501011.33,5872393.41
+21:48:40: 3501000.95,5872353.37
+21:48:40: 3500974.22,5872393.15
+21:48:40: 3500961.63,5872360.89
+21:48:40: 3501086.22,5872469.19
+21:48:40: 3501050.00,5872468.05
+21:48:40: 3501075.11,5872428.77
+21:48:40: 3501033.83,5872432.08
+21:48:40: 3501110.97,5872436.38
+21:48:40: 3501113.65,5872397.35
+21:48:40: 3501119.99,5872353.74
+21:48:40: 3501084.17,5872361.10
+21:48:40: 3501074.74,5872389.75
+21:48:40: 3501045.74,5872398.81
+21:48:40: 3501043.45,5872359.11
+21:48:40: 3501115.81,5872311.04
+21:48:40: 3501041.63,5872319.47
+21:48:40: 3501074.73,5872285.20
+21:48:40: 3501033.93,5872280.15
+21:48:40: 3501079.03,5872326.51
+21:48:40: 3501111.12,5872275.51
+21:48:40: 3501124.82,5872244.39
+21:48:40: 3501086.06,5872243.80
+21:48:40: 3501109.72,5872211.91
+21:48:40: 3501048.90,5872244.38
+21:48:40: 3501074.92,5872202.83
+21:48:40: 3501036.06,5872212.33
+21:48:40: 3501008.37,5872314.87
+21:48:40: 3500969.06,5872322.43
+21:48:40: 3500963.12,5872278.45
+21:48:40: 3500997.83,5872285.43
+21:48:40: 3501003.58,5872244.52
+21:48:40: 3501007.92,5872201.54
+21:48:40: 3500961.78,5872238.88
+21:48:40: 3500973.90,5872206.31
+21:48:40: 3500923.76,5872475.45
+21:48:40: 3500816.62,5872479.09
+21:48:40: 3500779.10,5872499.54
+21:48:40: 3500779.96,5872459.99
+21:48:40: 3500815.38,5872439.43
+21:48:40: 3500813.62,5872399.18
+21:48:40: 3500821.37,5872362.92
+21:48:40: 3500777.95,5872422.73
+21:48:40: 3500773.13,5872387.98
+21:48:40: 3500786.31,5872356.18
+21:48:40: 3500928.16,5872438.87
+21:48:40: 3500886.82,5872466.21
+21:48:40: 3500848.88,5872463.97
+21:48:40: 3500855.02,5872427.59
+21:48:40: 3500896.12,5872428.30
+21:48:40: 3500928.40,5872393.15
+21:48:40: 3500887.33,5872398.52
+21:48:40: 3500888.67,5872359.68
+21:48:40: 3500851.89,5872386.38
+21:48:40: 3500929.24,5872349.43
+21:48:40: 3500890.00,5872290.11
+21:48:40: 3500850.64,5872349.88
+21:48:40: 3500856.65,5872314.33
+21:48:40: 3500930.28,5872310.92
+21:48:40: 3500895.97,5872324.49
+21:48:40: 3500924.45,5872276.70
+21:48:40: 3500928.54,5872243.07
+21:48:40: 3500931.49,5872202.39
+21:48:40: 3500892.61,5872214.33
+21:48:40: 3500889.81,5872250.70
+21:48:40: 3500852.39,5872272.75
+21:48:40: 3500853.62,5872235.57
+21:48:40: 3500815.42,5872326.63
+21:48:40: 3500776.58,5872315.36
+21:48:40: 3500816.70,5872289.28
+21:48:40: 3500816.74,5872251.90
+21:48:40: 3500815.84,5872214.07
+21:48:40: 3500778.79,5872273.93
+21:48:40: 3500778.32,5872235.27
+21:48:40: 3501268.36,5872651.95
+21:48:40: 3501273.15,5872673.37
+21:48:40: 3501206.84,5872652.17
+21:48:40: 3501167.57,5872735.36
+21:48:40: 3501147.20,5872772.03
+21:48:40: 3501128.97,5872779.53
+21:48:40: 3501167.38,5872776.57
+21:48:40: 3501148.91,5872795.04
+21:48:40: 3501171.45,5872796.38
+21:48:40: 3501165.70,5872754.56
+21:48:40: 3501150.83,5872735.34
+21:48:40: 3501144.10,5872753.21
+21:48:40: 3501130.40,5872735.15
+21:48:40: 3501205.11,5872732.35
+21:48:40: 3501189.78,5872777.25
+21:48:40: 3501190.31,5872799.48
+21:48:40: 3501213.01,5872776.02
+21:48:40: 3501205.77,5872793.33
+21:48:40: 3501206.44,5872754.65
+21:48:40: 3501186.51,5872737.79
+21:48:40: 3501185.49,5872758.31
+21:48:40: 3501212.00,5872673.73
+21:48:40: 3501189.91,5872696.99
+21:48:40: 3501187.52,5872714.94
+21:48:40: 3501206.30,5872691.87
+21:48:40: 3501210.65,5872712.82
+21:48:40: 3501183.73,5872653.67
+21:48:40: 3501189.75,5872675.30
+21:48:40: 3501163.20,5872653.46
+21:48:40: 3501144.34,5872696.90
+21:48:40: 3501146.94,5872714.93
+21:48:40: 3501126.51,5872689.86
+21:48:40: 3501167.28,5872694.24
+21:48:40: 3501167.71,5872718.18
+21:48:40: 3501169.69,5872671.83
+21:48:40: 3501149.03,5872676.32
+21:48:40: 3501144.43,5872656.58
+21:48:40: 3501126.33,5872670.15
+21:48:40: 3501128.73,5872650.84
+21:48:40: 3501270.19,5872694.10
+21:48:40: 3501244.83,5872735.84
+21:48:40: 3501233.49,5872775.89
+21:48:40: 3501223.68,5872796.70
+21:48:40: 3501252.38,5872778.98
+21:48:40: 3501247.19,5872799.54
+21:48:40: 3501251.37,5872756.84
+21:48:40: 3501224.29,5872735.89
+21:48:40: 3501228.82,5872755.92
+21:48:40: 3501268.13,5872734.01
+21:48:40: 3501269.92,5872776.05
+21:48:40: 3501269.96,5872796.88
+21:48:40: 3501287.77,5872773.87
+21:48:40: 3501292.04,5872794.99
+21:48:40: 3501309.00,5872778.76
+21:48:40: 3501290.72,5872735.69
+21:48:40: 3501294.92,5872755.97
+21:48:40: 3501273.90,5872755.56
+21:48:40: 3501267.86,5872712.83
+21:48:40: 3501289.02,5872713.12
+21:48:40: 3501246.92,5872651.20
+21:48:40: 3501229.01,5872694.63
+21:48:40: 3501231.16,5872717.20
+21:48:40: 3501251.37,5872696.43
+21:48:40: 3501249.43,5872715.24
+21:48:40: 3501249.95,5872674.10
+21:48:40: 3501228.69,5872657.13
+21:48:40: 3501229.44,5872674.50
+21:48:40: 3501249.38,5872633.13
+21:48:40: 3501249.74,5872614.46
+21:48:40: 3501228.59,5872638.46
+21:48:40: 3501227.10,5872617.03
+21:48:40: 3501253.84,5872596.37
+21:48:40: 3501245.91,5872584.12
+21:48:40: 3501233.91,5872598.50
+21:48:40: 3501221.09,5872587.02
+21:48:40: 3501229.17,5872566.01
+21:48:40: 3501235.75,5872537.12
+21:48:40: 3501221.53,5872504.89
+21:48:40: 3501208.92,5872628.63
+21:48:40: 3501168.87,5872632.40
+21:48:40: 3501145.49,5872636.07
+21:48:40: 3501130.61,5872615.00
+21:48:40: 3501149.72,5872617.40
+21:48:40: 3501166.18,5872610.15
+21:48:40: 3501171.45,5872592.84
+21:48:40: 3501154.94,5872577.85
+21:48:40: 3501146.63,5872595.74
+21:48:40: 3501215.25,5872598.93
+21:48:40: 3501190.90,5872636.44
+21:48:40: 3501186.70,5872618.93
+21:48:40: 3501204.96,5872609.52
+21:48:40: 3501196.27,5872589.93
+21:48:40: 3501185.64,5872601.20
+21:48:40: 3501200.73,5872573.39
+21:48:40: 3501175.15,5872570.49
+21:48:40: 3501198.38,5872544.26
+21:48:40: 3501185.98,5872511.14
+21:48:40: 3501157.49,5872542.35
+21:48:40: 3501134.63,5872572.55
+21:48:40: 3501149.75,5872502.63
+21:48:40: 3501313.28,5872798.83
+21:48:40: 3501190.54,5872476.55
+21:48:40: 3501158.30,5872464.89
+21:48:40: 3501146.03,5872431.03
+21:48:40: 3501188.70,5872434.92
+21:48:40: 3501191.42,5872395.80
+21:48:40: 3501197.21,5872360.71
+21:48:40: 3501153.26,5872393.92
+21:48:40: 3501161.53,5872356.63
+21:48:40: 3501228.07,5872468.26
+21:48:40: 3501149.64,5872322.94
+21:48:40: 3501151.77,5872285.31
+21:48:40: 3501186.94,5872320.54
+21:48:40: 3501161.56,5872244.95
+21:48:40: 3501145.72,5872206.68
+21:48:40: 3500854.22,5872197.56
+21:48:40: 3500927.33,5872161.12
+21:48:40: 3500816.58,5872175.26
+21:48:40: 3500778.68,5872198.44
+21:48:40: 3500779.77,5872160.21
+21:48:40: 3500778.74,5872129.13
+21:48:40: 3500815.96,5872127.14
+21:48:40: 3500815.54,5872069.75
+21:48:40: 3500778.23,5872088.68
+21:48:40: 3500891.58,5872175.92
+21:48:40: 3500853.63,5872160.36
+21:48:40: 3500853.43,5872129.54
+21:48:40: 3500928.83,5872130.70
+21:48:40: 3500891.12,5872129.13
+21:48:40: 3500931.36,5872094.45
+21:48:40: 3500889.75,5872079.02
+21:48:40: 3500852.79,5872090.85
+21:48:40: 3500920.49,5872045.31
+21:48:40: 3500854.99,5872024.70
+21:48:40: 3500905.33,5871992.51
+21:48:40: 3500922.91,5871936.17
+21:48:40: 3500777.28,5872008.56
+21:48:40: 3500840.99,5871944.30
+21:48:40: 3500768.58,5871929.93
+21:48:40: 3501114.99,5872177.32
+21:48:40: 3501000.39,5872163.85
+21:48:40: 3500961.83,5872173.37
+21:48:40: 3500964.61,5872134.63
+21:48:40: 3501003.83,5872123.68
+21:48:40: 3501004.68,5872085.01
+21:48:40: 3501003.75,5872053.96
+21:48:40: 3500970.68,5872097.71
+21:48:40: 3500966.41,5872054.34
+21:48:40: 3501078.10,5872161.09
+21:48:40: 3501041.10,5872176.30
+21:48:40: 3501041.03,5872139.33
+21:48:40: 3501117.52,5872138.91
+21:48:40: 3501078.55,5872122.63
+21:48:40: 3501116.03,5872100.44
+21:48:40: 3501078.56,5872085.16
+21:48:40: 3501078.32,5872054.46
+21:48:40: 3501041.31,5872100.06
+21:48:40: 3501040.97,5872051.99
+21:48:40: 3501077.72,5872015.58
+21:48:40: 3501040.56,5871994.57
+21:48:40: 3501079.95,5871949.46
+21:48:40: 3501003.24,5872013.49
+21:48:40: 3500961.04,5871998.43
+21:48:40: 3501002.28,5871933.36
+21:48:40: 3500993.59,5871854.72
+21:48:40: 3501009.73,5871783.70
+21:48:40: 3500995.69,5871708.12
+21:48:40: 3500861.08,5871875.95
+21:48:40: 3500793.26,5871863.77
+21:48:40: 3500762.15,5871794.93
+21:48:40: 3500928.45,5871864.52
+21:48:40: 3500926.18,5871790.29
+21:48:40: 3500847.80,5871798.46
+21:48:40: 3500855.74,5871717.74
+21:48:40: 3500927.97,5871716.56
+21:48:40: 3500788.08,5871729.94
+21:48:40: 3500746.73,5872548.92
+21:48:40: 3500741.50,5872515.34
+21:48:40: 3500554.52,5872536.05
+21:48:40: 3500553.66,5872655.76
+21:48:40: 3500514.07,5872737.50
+21:48:40: 3500557.26,5872742.45
+21:48:40: 3500523.52,5872766.56
+21:48:40: 3500547.05,5872758.16
+21:48:40: 3500550.10,5872691.87
+21:48:40: 3500542.43,5872723.04
+21:48:40: 3500520.03,5872661.30
+21:48:40: 3500510.78,5872695.85
+21:48:40: 3500557.04,5872578.11
+21:48:40: 3500512.85,5872622.81
+21:48:40: 3500553.08,5872618.96
+21:48:40: 3500521.05,5872586.92
+21:48:40: 3500521.06,5872511.64
+21:48:40: 3500512.49,5872548.24
+21:48:40: 3500740.71,5872581.44
+21:48:40: 3500625.25,5872653.51
+21:48:40: 3500594.12,5872741.34
+21:48:40: 3500570.58,5872749.75
+21:48:40: 3500617.65,5872732.94
+21:48:40: 3500652.04,5872779.45
+21:48:40: 3500639.07,5872740.47
+21:48:40: 3500653.76,5872759.24
+21:48:40: 3500613.07,5872743.49
+21:48:40: 3500631.11,5872753.51
+21:48:40: 3500644.85,5872684.21
+21:48:40: 3500622.57,5872708.21
+21:48:40: 3500647.70,5872706.55
+21:48:40: 3500641.19,5872724.53
+21:48:40: 3500617.00,5872682.26
+21:48:40: 3500589.07,5872654.43
+21:48:40: 3500572.74,5872723.89
+21:48:40: 3500586.97,5872692.10
+21:48:40: 3500596.78,5872722.05
+21:48:40: 3500703.36,5872658.44
+21:48:40: 3500697.32,5872737.95
+21:48:40: 3500673.33,5872774.86
+21:48:40: 3500679.06,5872796.81
+21:48:40: 3500692.57,5872778.51
+21:48:40: 3500698.80,5872794.78
+21:48:40: 3500694.37,5872758.01
+21:48:40: 3500657.48,5872737.33
+21:48:40: 3500673.09,5872754.41
+21:48:40: 3500676.93,5872736.94
+21:48:40: 3500732.62,5872736.91
+21:48:40: 3500711.90,5872776.04
+21:48:40: 3500718.17,5872798.99
+21:48:40: 3500731.92,5872776.60
+21:48:40: 3500740.66,5872797.00
+21:48:40: 3500740.88,5872756.05
+21:48:40: 3500714.23,5872734.19
+21:48:40: 3500717.99,5872754.77
+21:48:40: 3500736.14,5872669.34
+21:48:40: 3500711.79,5872699.31
+21:48:40: 3500720.38,5872716.36
+21:48:40: 3500735.33,5872690.90
+21:48:40: 3500740.00,5872720.23
+21:48:40: 3500735.93,5872703.47
+21:48:40: 3500712.63,5872682.28
+21:48:40: 3500665.69,5872652.65
+21:48:40: 3500666.67,5872691.00
+21:48:40: 3500666.91,5872707.30
+21:48:40: 3500664.72,5872716.12
+21:48:40: 3500688.26,5872707.71
+21:48:40: 3500682.40,5872721.75
+21:48:40: 3500700.68,5872718.41
+21:48:40: 3500687.42,5872683.86
+21:48:40: 3500737.44,5872615.10
+21:48:40: 3500697.67,5872619.98
+21:48:40: 3500661.45,5872614.15
+21:48:40: 3500665.40,5872581.10
+21:48:40: 3500703.43,5872581.99
+21:48:40: 3500729.43,5872643.94
+21:48:40: 3500711.01,5872543.86
+21:48:40: 3500700.87,5872502.87
+21:48:40: 3500674.94,5872544.30
+21:48:40: 3500662.87,5872511.75
+21:48:40: 3500636.71,5872544.82
+21:48:40: 3500595.33,5872586.04
+21:48:40: 3500590.02,5872618.88
+21:48:40: 3500627.80,5872580.06
+21:48:40: 3500628.60,5872619.05
+21:48:40: 3500625.04,5872504.51
+21:48:40: 3500595.65,5872548.26
+21:48:40: 3500585.02,5872512.61
+21:48:40: 3500740.12,5872477.95
+21:48:40: 3500633.41,5872464.78
+21:48:40: 3500594.14,5872472.82
+21:48:40: 3500586.26,5872435.47
+21:48:40: 3500621.32,5872431.77
+21:48:40: 3500629.55,5872394.19
+21:48:40: 3500631.67,5872354.02
+21:48:40: 3500591.61,5872401.83
+21:48:40: 3500591.30,5872363.83
+21:48:40: 3500741.41,5872438.62
+21:48:40: 3500702.79,5872461.27
+21:48:40: 3500667.06,5872476.86
+21:48:40: 3500663.34,5872434.95
+21:48:40: 3500738.26,5872397.28
+21:48:40: 3500703.37,5872424.36
+21:48:40: 3500703.49,5872394.22
+21:48:40: 3500744.17,5872353.91
+21:48:40: 3500704.88,5872362.83
+21:48:40: 3500667.89,5872391.45
+21:48:40: 3500671.33,5872351.55
+21:48:40: 3500740.91,5872319.59
+21:48:40: 3500658.64,5872318.54
+21:48:40: 3500671.37,5872286.53
+21:48:40: 3500741.22,5872288.53
+21:48:40: 3500703.30,5872319.13
+21:48:40: 3500741.27,5872251.42
+21:48:40: 3500704.23,5872274.00
+21:48:40: 3500739.28,5872210.16
+21:48:40: 3500703.76,5872205.92
+21:48:40: 3500703.07,5872236.08
+21:48:40: 3500665.88,5872250.36
+21:48:40: 3500666.09,5872204.34
+21:48:40: 3500623.55,5872313.96
+21:48:40: 3500590.65,5872327.99
+21:48:40: 3500592.06,5872288.78
+21:48:40: 3500631.62,5872277.10
+21:48:40: 3500628.41,5872236.08
+21:48:40: 3500628.42,5872204.88
+21:48:40: 3500591.72,5872250.62
+21:48:40: 3500590.94,5872202.42
+21:48:40: 3500552.66,5872496.27
+21:48:40: 3500552.76,5872460.53
+21:48:40: 3500513.01,5872471.98
+21:48:40: 3500516.07,5872432.57
+21:48:40: 3500553.45,5872423.76
+21:48:40: 3500523.29,5872394.52
+21:48:40: 3500558.79,5872388.63
+21:48:40: 3500550.62,5872352.44
+21:48:40: 3500511.11,5872362.02
+21:48:40: 3500553.05,5872311.19
+21:48:40: 3500514.04,5872285.62
+21:48:40: 3500516.25,5872326.35
+21:48:40: 3500553.70,5872273.28
+21:48:40: 3500520.54,5872248.16
+21:48:40: 3500554.69,5872235.29
+21:48:40: 3500553.69,5872204.37
+21:48:40: 3500516.18,5872204.69
+21:48:40: 3500481.36,5872244.86
+21:48:40: 3500745.65,5872172.94
+21:48:40: 3500552.45,5872083.72
+21:48:40: 3500397.99,5872087.39
+21:48:40: 3500396.78,5872167.26
+21:48:40: 3500455.14,5872143.54
+21:48:40: 3500553.23,5872163.90
+21:48:40: 3500510.96,5872149.13
+21:48:40: 3500469.87,5872195.85
+21:48:40: 3500472.20,5872085.07
+21:48:40: 3500543.58,5872005.13
+21:48:40: 3500477.48,5872015.71
+21:48:40: 3500560.21,5871934.17
+21:48:40: 3500488.57,5871951.37
+21:48:40: 3500402.48,5872016.05
+21:48:40: 3500411.44,5871936.00
+21:48:40: 3500706.36,5872169.66
+21:48:40: 3500629.99,5872099.90
+21:48:40: 3500590.54,5872144.97
+21:48:40: 3500627.78,5872166.07
+21:48:40: 3500741.40,5872129.51
+21:48:40: 3500664.75,5872154.22
+21:48:40: 3500736.04,5872073.62
+21:48:40: 3500695.48,5872120.52
+21:48:40: 3500680.32,5872067.71
+21:48:40: 3500697.90,5872011.37
+21:48:40: 3500703.18,5871939.50
+21:48:40: 3500615.99,5872019.51
+21:48:40: 3500636.02,5871950.86
+21:48:40: 3500708.26,5871858.66
+21:48:40: 3500623.89,5871873.10
+21:48:40: 3500637.94,5871805.31
+21:48:40: 3500689.98,5871777.60
+21:48:40: 3500712.05,5871710.13
+21:48:40: 3500621.23,5871727.03
+21:48:40: 3500640.64,5871658.27
+21:48:40: 3500545.81,5871858.97
+21:48:40: 3500392.05,5871856.69
+21:48:40: 3500409.63,5871797.55
+21:48:40: 3500470.74,5871877.22
+21:48:40: 3500562.22,5871786.24
+21:48:40: 3500480.84,5871795.79
+21:48:40: 3500546.42,5871710.56
+21:48:40: 3500478.48,5871721.86
+21:48:40: 3500328.59,5872089.91
+21:48:40: 3500325.72,5872016.30
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: 1126 Objekte freigegeben
+21:48:40: ->Speichern der Ergebnispolygone gestartet
+21:48:40:   Keine Projektionsinformationen vorhanden
+21:48:40:   ->Löschen der zu kleinen Ringe gestartet
+21:48:40:     1 von 3 Polygonen, 0 Polygone gelöscht
+21:48:40:     2 von 3 Polygonen, 0 Polygone gelöscht
+21:48:40:     3 von 3 Polygonen, 0 Polygone gelöscht
+21:48:40:     0 Ringe gelöscht
+21:48:40:     kleinste Ringfläche: 5000.000
+21:48:40:   <-Löschen der zu kleinen Ringe beendet
+21:48:40:   10 Speicherblöcke wurden angefordert
+21:48:40:   10 Speicherblöcke wurden angefordert
+21:48:40:   100.00 100.00
+21:48:40:   300.00 100.00
+21:48:40:   300.00 300.00
+21:48:40:   100.00 300.00
+21:48:40:   100.00 100.00
+21:48:40:   150.00 150.00
+21:48:40:   250.00 150.00
+21:48:40:   250.00 250.00
+21:48:40:   150.00 250.00
+21:48:40:   200.00 200.00
+21:48:40:   150.00 150.00
+21:48:40:   450.00 250.00
+21:48:40:   550.00 250.00
+21:48:40:   550.00 150.00
+21:48:40:   450.00 250.00
+21:48:40:   1. Ergebnispolygon (Wassertiefe 0.00, 3 Ringe, 15 Stützstellen)
+21:48:40: <-Speichern der Ergebnispolygone beendet
+21:48:40: ->Auswertung der Kommandozeilen-Parameter gestartet
+21:48:40:   Parameterdatei: 'test_daten\test.par'
+21:48:40:   ->Laden der Parameterdatei 'test_daten\test.par' gestartet
+21:48:40:   <-Laden der Parameterdatei 'test_daten\test.par' beendet
+21:48:40:   DGM-Datei: 'egal.shp'
+21:48:40:   Profillagen-Datei: 'egal.shp'
+21:48:40:   WSP-Datei: 'egal.shp'
+21:48:40:   WSP-Bezeichner: 'HQ(100a) '
+21:48:40:   Gewässerachse: 'egal.shp'
+21:48:40:   Hydraulische Grenze: 'total egal.shp'
+21:48:40:   Bruch- und Sperr-Datei: 'egal.shp'
+21:48:40:   Gelände wirkt als Sperre
+21:48:40:   Delta: Von = 0.00 Bis = 1.00 Diff = 0.23
+21:48:40:   Strecke: Von = 123.340 km, Bis = 123.780 km
+21:48:40:   Triangulation wird gespeichert
+21:48:40:   Ausgabe-Datei: 'egal.shp'
+21:48:40: <-Auswertung der Kommandozeilen-Parameter beendet
+21:48:40: ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN gestartet
+21:48:40:     ->Laden der Umhüllung gestartet
+21:48:40:       8 Stützstellen gelesen
+21:48:40:       ->Speichern des Begrenzungspolygons gestartet
+21:48:40:         Keine Projektionsinformationen vorhanden
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         9 von 9 Stützstellen gespeichert
+21:48:40:       <-Speichern des Begrenzungspolygons beendet
+21:48:40:     <-Laden der Umhüllung beendet
+21:48:40:     ->Laden der Elemente gestartet
+21:48:40:       Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:       Kapazität der Elementliste wurde auf 200000 erhöht
+21:48:40:       218 von 230 Elementen im Speicher
+21:48:40:     <-Laden der Elemente beendet
+21:48:40:   <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN beendet
+21:48:40:   ->Suche nach doppelten Knoten gestartet
+21:48:40:     114 Knoten und 218 Elemente vorhanden
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:48:40:   <-Suche nach doppelten Knoten beendet
+21:48:40: <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' beendet
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: 114 Objekte freigegeben
+21:48:40: 218 Objekte freigegeben
+21:48:40: ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN gestartet
+21:48:40:     ->Laden der Umhüllung gestartet
+21:48:40:       8 Stützstellen gelesen
+21:48:40:       ->Speichern des Begrenzungspolygons gestartet
+21:48:40:         Keine Projektionsinformationen vorhanden
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         9 von 9 Stützstellen gespeichert
+21:48:40:       <-Speichern des Begrenzungspolygons beendet
+21:48:40:     <-Laden der Umhüllung beendet
+21:48:40:     ->Laden der Elemente gestartet
+21:48:40:       Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:       Kapazität der Elementliste wurde auf 200000 erhöht
+21:48:40:       110 von 230 Elementen im Speicher
+21:48:40:     <-Laden der Elemente beendet
+21:48:40:   <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' als TIN beendet
+21:48:40:   ->Suche nach doppelten Knoten gestartet
+21:48:40:     71 Knoten und 110 Elemente vorhanden
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:48:40:   <-Suche nach doppelten Knoten beendet
+21:48:40: <-Laden des DGM in Datei 'test_daten/dgmtin/tnxy.adf' beendet
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: 71 Objekte freigegeben
+21:48:40: 110 Objekte freigegeben
+21:48:40: ->Laden des DGM in Datei 'test_daten/dgmtin2/tnxy.adf' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/dgmtin2/tnxy.adf' als TIN gestartet
+21:48:40:     ->Laden der Umhüllung gestartet
+21:48:40:       8 Stützstellen gelesen
+21:48:40:       ->Speichern des Begrenzungspolygons gestartet
+21:48:40:         Keine Projektionsinformationen vorhanden
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         9 von 9 Stützstellen gespeichert
+21:48:40:       <-Speichern des Begrenzungspolygons beendet
+21:48:40:     <-Laden der Umhüllung beendet
+21:48:40:     ->Laden der Elemente gestartet
+21:48:40:       Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:       Kapazität der Elementliste wurde auf 200000 erhöht
+21:48:40:       28 von 40 Elementen im Speicher
+21:48:40:     <-Laden der Elemente beendet
+21:48:40:   <-Laden des DGM in Datei 'test_daten/dgmtin2/tnxy.adf' als TIN beendet
+21:48:40:   ->Suche nach doppelten Knoten gestartet
+21:48:40:     19 Knoten und 28 Elemente vorhanden
+21:48:40:     ->Sortieren der Knoten gestartet
+21:48:40:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:48:40:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:48:40:     <-Sortieren der Knoten beendet
+21:48:40:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:48:40:   <-Suche nach doppelten Knoten beendet
+21:48:40: <-Laden des DGM in Datei 'test_daten/dgmtin2/tnxy.adf' beendet
+21:48:40: ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40: <-Löschen des Suchbaumes der Knoten beendet
+21:48:40: 19 Objekte freigegeben
+21:48:40: 28 Objekte freigegeben
+21:48:40: ->Laden des DGM in Datei 'test_daten/dgmtin3/tnxy.adf' gestartet
+21:48:40:   ->Löschen des Suchbaumes der Knoten gestartet
+21:48:40:   <-Löschen des Suchbaumes der Knoten beendet
+21:48:40:   ->Laden des DGM in Datei 'test_daten/dgmtin3/tnxy.adf' als TIN gestartet
+21:48:40:     ->Laden der Umhüllung gestartet
+21:48:40:       100 Stützstellen gelesen
+21:48:40:       200 Stützstellen gelesen
+21:48:40:       300 Stützstellen gelesen
+21:48:40:       400 Stützstellen gelesen
+21:48:40:       500 Stützstellen gelesen
+21:48:40:       600 Stützstellen gelesen
+21:48:40:       700 Stützstellen gelesen
+21:48:40:       800 Stützstellen gelesen
+21:48:40:       900 Stützstellen gelesen
+21:48:40:       1000 Stützstellen gelesen
+21:48:40:       1100 Stützstellen gelesen
+21:48:40:       1200 Stützstellen gelesen
+21:48:40:       1300 Stützstellen gelesen
+21:48:40:       1400 Stützstellen gelesen
+21:48:40:       1500 Stützstellen gelesen
+21:48:40:       1600 Stützstellen gelesen
+21:48:40:       1700 Stützstellen gelesen
+21:48:40:       1800 Stützstellen gelesen
+21:48:40:       1900 Stützstellen gelesen
+21:48:40:       2000 Stützstellen gelesen
+21:48:40:       2100 Stützstellen gelesen
+21:48:40:       2200 Stützstellen gelesen
+21:48:40:       2300 Stützstellen gelesen
+21:48:40:       2400 Stützstellen gelesen
+21:48:40:       2500 Stützstellen gelesen
+21:48:40:       2600 Stützstellen gelesen
+21:48:40:       2700 Stützstellen gelesen
+21:48:40:       2800 Stützstellen gelesen
+21:48:40:       2900 Stützstellen gelesen
+21:48:40:       3000 Stützstellen gelesen
+21:48:40:       3100 Stützstellen gelesen
+21:48:40:       3200 Stützstellen gelesen
+21:48:40:       3300 Stützstellen gelesen
+21:48:40:       3400 Stützstellen gelesen
+21:48:40:       3500 Stützstellen gelesen
+21:48:40:       3600 Stützstellen gelesen
+21:48:40:       3700 Stützstellen gelesen
+21:48:40:       3800 Stützstellen gelesen
+21:48:40:       3900 Stützstellen gelesen
+21:48:40:       4000 Stützstellen gelesen
+21:48:40:       4100 Stützstellen gelesen
+21:48:40:       4200 Stützstellen gelesen
+21:48:40:       4300 Stützstellen gelesen
+21:48:40:       4400 Stützstellen gelesen
+21:48:40:       4500 Stützstellen gelesen
+21:48:40:       4600 Stützstellen gelesen
+21:48:40:       4700 Stützstellen gelesen
+21:48:40:       4800 Stützstellen gelesen
+21:48:40:       4900 Stützstellen gelesen
+21:48:40:       5000 Stützstellen gelesen
+21:48:40:       5100 Stützstellen gelesen
+21:48:40:       5200 Stützstellen gelesen
+21:48:40:       5300 Stützstellen gelesen
+21:48:40:       5400 Stützstellen gelesen
+21:48:40:       5500 Stützstellen gelesen
+21:48:40:       5600 Stützstellen gelesen
+21:48:40:       5700 Stützstellen gelesen
+21:48:40:       5800 Stützstellen gelesen
+21:48:40:       5900 Stützstellen gelesen
+21:48:40:       6000 Stützstellen gelesen
+21:48:40:       6100 Stützstellen gelesen
+21:48:40:       6200 Stützstellen gelesen
+21:48:40:       6300 Stützstellen gelesen
+21:48:40:       6400 Stützstellen gelesen
+21:48:40:       6500 Stützstellen gelesen
+21:48:40:       6600 Stützstellen gelesen
+21:48:40:       6700 Stützstellen gelesen
+21:48:40:       6800 Stützstellen gelesen
+21:48:40:       6900 Stützstellen gelesen
+21:48:40:       7000 Stützstellen gelesen
+21:48:40:       7100 Stützstellen gelesen
+21:48:40:       7200 Stützstellen gelesen
+21:48:40:       7300 Stützstellen gelesen
+21:48:40:       7400 Stützstellen gelesen
+21:48:40:       7500 Stützstellen gelesen
+21:48:40:       7600 Stützstellen gelesen
+21:48:40:       7700 Stützstellen gelesen
+21:48:40:       7800 Stützstellen gelesen
+21:48:40:       7900 Stützstellen gelesen
+21:48:40:       8000 Stützstellen gelesen
+21:48:40:       8100 Stützstellen gelesen
+21:48:40:       8200 Stützstellen gelesen
+21:48:40:       8300 Stützstellen gelesen
+21:48:40:       8400 Stützstellen gelesen
+21:48:40:       8500 Stützstellen gelesen
+21:48:40:       8600 Stützstellen gelesen
+21:48:40:       8700 Stützstellen gelesen
+21:48:40:       8800 Stützstellen gelesen
+21:48:40:       8900 Stützstellen gelesen
+21:48:40:       9000 Stützstellen gelesen
+21:48:40:       9100 Stützstellen gelesen
+21:48:40:       9200 Stützstellen gelesen
+21:48:40:       9300 Stützstellen gelesen
+21:48:40:       9400 Stützstellen gelesen
+21:48:40:       9500 Stützstellen gelesen
+21:48:40:       9600 Stützstellen gelesen
+21:48:40:       9700 Stützstellen gelesen
+21:48:40:       9800 Stützstellen gelesen
+21:48:40:       9900 Stützstellen gelesen
+21:48:40:       10000 Stützstellen gelesen
+21:48:40:       10100 Stützstellen gelesen
+21:48:40:       10200 Stützstellen gelesen
+21:48:40:       10300 Stützstellen gelesen
+21:48:40:       10400 Stützstellen gelesen
+21:48:40:       10500 Stützstellen gelesen
+21:48:40:       10600 Stützstellen gelesen
+21:48:40:       10700 Stützstellen gelesen
+21:48:40:       10800 Stützstellen gelesen
+21:48:40:       10900 Stützstellen gelesen
+21:48:40:       11000 Stützstellen gelesen
+21:48:40:       11100 Stützstellen gelesen
+21:48:40:       11197 Stützstellen gelesen
+21:48:40:       ->Speichern des Begrenzungspolygons gestartet
+21:48:40:         Keine Projektionsinformationen vorhanden
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         1000 von 11198 Stützstellen gespeichert
+21:48:40:         2000 von 11198 Stützstellen gespeichert
+21:48:40:         3000 von 11198 Stützstellen gespeichert
+21:48:40:         4000 von 11198 Stützstellen gespeichert
+21:48:40:         5000 von 11198 Stützstellen gespeichert
+21:48:40:         6000 von 11198 Stützstellen gespeichert
+21:48:40:         7000 von 11198 Stützstellen gespeichert
+21:48:40:         8000 von 11198 Stützstellen gespeichert
+21:48:40:         9000 von 11198 Stützstellen gespeichert
+21:48:40:         10000 von 11198 Stützstellen gespeichert
+21:48:40:         11000 von 11198 Stützstellen gespeichert
+21:48:40:         10 Speicherblöcke wurden angefordert
+21:48:40:         11198 von 11198 Stützstellen gespeichert
+21:48:40:       <-Speichern des Begrenzungspolygons beendet
+21:48:40:     <-Laden der Umhüllung beendet
+21:48:40:     ->Laden der Elemente gestartet
+21:48:40:       Kapazität der Knotenliste wurde auf 100000 erhöht
+21:48:40:       Kapazität der Elementliste wurde auf 200000 erhöht
+21:48:40:       9 von 5000 Elementen im Speicher
+21:48:41:       15 von 10000 Elementen im Speicher
+21:48:41:       19 von 15000 Elementen im Speicher
+21:48:41:       24 von 20000 Elementen im Speicher
+21:48:42:       24 von 25000 Elementen im Speicher
+21:48:42:       24 von 30000 Elementen im Speicher
+21:48:42:       24 von 35000 Elementen im Speicher
+21:48:43:       24 von 40000 Elementen im Speicher
+21:48:43:       98 von 45000 Elementen im Speicher
+21:48:43:       596 von 50000 Elementen im Speicher
+21:48:44:       1142 von 55000 Elementen im Speicher
+21:48:44:       1694 von 60000 Elementen im Speicher
+21:48:45:       2454 von 65000 Elementen im Speicher
+21:48:45:       3097 von 70000 Elementen im Speicher
+21:48:46:       3795 von 75000 Elementen im Speicher
+21:48:47:       4569 von 80000 Elementen im Speicher
+21:48:47:       5219 von 85000 Elementen im Speicher
+21:48:48:       6005 von 90000 Elementen im Speicher
+21:48:48:       6849 von 95000 Elementen im Speicher
+21:48:49:       7567 von 100000 Elementen im Speicher
+21:48:49:       8359 von 105000 Elementen im Speicher
+21:48:50:       9210 von 110000 Elementen im Speicher
+21:48:50:       9750 von 115000 Elementen im Speicher
+21:48:50:       10118 von 120000 Elementen im Speicher
+21:48:51:       10511 von 125000 Elementen im Speicher
+21:48:51:       10933 von 130000 Elementen im Speicher
+21:48:52:       11496 von 135000 Elementen im Speicher
+21:48:52:       12088 von 140000 Elementen im Speicher
+21:48:53:       12645 von 145000 Elementen im Speicher
+21:48:53:       13379 von 150000 Elementen im Speicher
+21:48:54:       14218 von 155000 Elementen im Speicher
+21:48:54:       15012 von 160000 Elementen im Speicher
+21:48:55:       15677 von 165000 Elementen im Speicher
+21:48:55:       16292 von 170000 Elementen im Speicher
+21:48:56:       16871 von 175000 Elementen im Speicher
+21:48:56:       17498 von 180000 Elementen im Speicher
+21:48:57:       18445 von 185000 Elementen im Speicher
+21:48:57:       19305 von 190000 Elementen im Speicher
+21:48:58:       20154 von 195000 Elementen im Speicher
+21:48:58:       20877 von 200000 Elementen im Speicher
+21:48:59:       21861 von 205000 Elementen im Speicher
+21:48:59:       22869 von 210000 Elementen im Speicher
+21:49:00:       23809 von 215000 Elementen im Speicher
+21:49:00:       24807 von 220000 Elementen im Speicher
+21:49:01:       25839 von 225000 Elementen im Speicher
+21:49:02:       26924 von 230000 Elementen im Speicher
+21:49:02:       27978 von 235000 Elementen im Speicher
+21:49:03:       28763 von 240000 Elementen im Speicher
+21:49:03:       29402 von 245000 Elementen im Speicher
+21:49:04:       30937 von 250000 Elementen im Speicher
+21:49:04:       32969 von 255000 Elementen im Speicher
+21:49:05:       37927 von 260000 Elementen im Speicher
+21:49:06:       42914 von 265000 Elementen im Speicher
+21:49:07:       47905 von 270000 Elementen im Speicher
+21:49:08:       52889 von 275000 Elementen im Speicher
+21:49:09:       57018 von 280000 Elementen im Speicher
+21:49:09:       61922 von 285000 Elementen im Speicher
+21:49:10:       66843 von 290000 Elementen im Speicher
+21:49:11:       71778 von 295000 Elementen im Speicher
+21:49:12:       76682 von 300000 Elementen im Speicher
+21:49:13:       81587 von 305000 Elementen im Speicher
+21:49:13:       86489 von 310000 Elementen im Speicher
+21:49:14:       91397 von 315000 Elementen im Speicher
+21:49:15:       96308 von 320000 Elementen im Speicher
+21:49:16:       101228 von 325000 Elementen im Speicher
+21:49:16:       105966 von 330000 Elementen im Speicher
+21:49:17:       110966 von 335000 Elementen im Speicher
+21:49:18:       115966 von 340000 Elementen im Speicher
+21:49:18:       Kapazität der Knotenliste wurde auf 210000 erhöht
+21:49:18:       120966 von 345000 Elementen im Speicher
+21:49:19:       125966 von 350000 Elementen im Speicher
+21:49:20:       130966 von 355000 Elementen im Speicher
+21:49:21:       135966 von 360000 Elementen im Speicher
+21:49:21:       140966 von 365000 Elementen im Speicher
+21:49:22:       145966 von 370000 Elementen im Speicher
+21:49:23:       149970 von 375000 Elementen im Speicher
+21:49:23:       151874 von 380000 Elementen im Speicher
+21:49:24:       156441 von 385000 Elementen im Speicher
+21:49:25:       161022 von 390000 Elementen im Speicher
+21:49:25:       165584 von 395000 Elementen im Speicher
+21:49:26:       170167 von 400000 Elementen im Speicher
+21:49:27:       174729 von 405000 Elementen im Speicher
+21:49:27:       179301 von 410000 Elementen im Speicher
+21:49:28:       183879 von 415000 Elementen im Speicher
+21:49:29:       188450 von 420000 Elementen im Speicher
+21:49:29:       192941 von 425000 Elementen im Speicher
+21:49:30:       193719 von 430000 Elementen im Speicher
+21:49:31:       198718 von 435000 Elementen im Speicher
+21:49:31:       Kapazität der Elementliste wurde auf 420000 erhöht
+21:49:32:       203540 von 440000 Elementen im Speicher
+21:49:32:       208367 von 445000 Elementen im Speicher
+21:49:33:       213268 von 450000 Elementen im Speicher
+21:49:34:       218119 von 455000 Elementen im Speicher
+21:49:35:       222846 von 460000 Elementen im Speicher
+21:49:36:       227695 von 465000 Elementen im Speicher
+21:49:36:       Kapazität der Knotenliste wurde auf 331000 erhöht
+21:49:37:       232655 von 470000 Elementen im Speicher
+21:49:37:       237639 von 475000 Elementen im Speicher
+21:49:38:       242610 von 480000 Elementen im Speicher
+21:49:39:       247486 von 485000 Elementen im Speicher
+21:49:40:       252364 von 490000 Elementen im Speicher
+21:49:41:       257247 von 495000 Elementen im Speicher
+21:49:41:       262128 von 500000 Elementen im Speicher
+21:49:42:       267017 von 505000 Elementen im Speicher
+21:49:43:       271899 von 510000 Elementen im Speicher
+21:49:44:       276787 von 515000 Elementen im Speicher
+21:49:45:       281669 von 520000 Elementen im Speicher
+21:49:45:       286551 von 525000 Elementen im Speicher
+21:49:46:       291415 von 530000 Elementen im Speicher
+21:49:47:       296281 von 535000 Elementen im Speicher
+21:49:48:       301158 von 540000 Elementen im Speicher
+21:49:48:       306042 von 545000 Elementen im Speicher
+21:49:49:       310924 von 550000 Elementen im Speicher
+21:49:50:       315811 von 555000 Elementen im Speicher
+21:49:51:       320690 von 560000 Elementen im Speicher
+21:49:52:       325568 von 565000 Elementen im Speicher
+21:49:52:       330448 von 570000 Elementen im Speicher
+21:49:53:       335331 von 575000 Elementen im Speicher
+21:49:54:       340212 von 580000 Elementen im Speicher
+21:49:55:       345000 von 585000 Elementen im Speicher
+21:49:55:       349767 von 590000 Elementen im Speicher
+21:49:56:       354532 von 595000 Elementen im Speicher
+21:49:57:       359282 von 600000 Elementen im Speicher
+21:49:58:       364060 von 605000 Elementen im Speicher
+21:49:59:       368808 von 610000 Elementen im Speicher
+21:49:59:       373563 von 615000 Elementen im Speicher
+21:50:00:       378307 von 620000 Elementen im Speicher
+21:50:01:       383054 von 625000 Elementen im Speicher
+21:50:02:       387828 von 630000 Elementen im Speicher
+21:50:03:       392624 von 635000 Elementen im Speicher
+21:50:03:       397489 von 640000 Elementen im Speicher
+21:50:04:       402347 von 645000 Elementen im Speicher
+21:50:05:       407226 von 650000 Elementen im Speicher
+21:50:06:       412102 von 655000 Elementen im Speicher
+21:50:07:       416968 von 660000 Elementen im Speicher
+21:50:07:       Kapazität der Elementliste wurde auf 662000 erhöht
+21:50:07:       421832 von 665000 Elementen im Speicher
+21:50:08:       426746 von 670000 Elementen im Speicher
+21:50:09:       431621 von 675000 Elementen im Speicher
+21:50:10:       436483 von 680000 Elementen im Speicher
+21:50:10:       441448 von 685000 Elementen im Speicher
+21:50:11:       446448 von 690000 Elementen im Speicher
+21:50:12:       451448 von 695000 Elementen im Speicher
+21:50:13:       456448 von 700000 Elementen im Speicher
+21:50:14:       461448 von 705000 Elementen im Speicher
+21:50:14:       466448 von 710000 Elementen im Speicher
+21:50:15:       471448 von 715000 Elementen im Speicher
+21:50:16:       476448 von 720000 Elementen im Speicher
+21:50:17:       481448 von 725000 Elementen im Speicher
+21:50:17:       486448 von 730000 Elementen im Speicher
+21:50:18:       491433 von 735000 Elementen im Speicher
+21:50:19:       496433 von 740000 Elementen im Speicher
+21:50:20:       501433 von 745000 Elementen im Speicher
+21:50:20:       506433 von 750000 Elementen im Speicher
+21:50:21:       511433 von 755000 Elementen im Speicher
+21:50:22:       516433 von 760000 Elementen im Speicher
+21:50:22:       521433 von 765000 Elementen im Speicher
+21:50:23:       526433 von 770000 Elementen im Speicher
+21:50:24:       531433 von 775000 Elementen im Speicher
+21:50:24:       536424 von 780000 Elementen im Speicher
+21:50:25:       541241 von 785000 Elementen im Speicher
+21:50:26:       546241 von 790000 Elementen im Speicher
+21:50:27:       551241 von 795000 Elementen im Speicher
+21:50:27:       556240 von 800000 Elementen im Speicher
+21:50:27:       Kapazität der Knotenliste wurde auf 464100 erhöht
+21:50:28:       561240 von 805000 Elementen im Speicher
+21:50:29:       566240 von 810000 Elementen im Speicher
+21:50:29:       571237 von 815000 Elementen im Speicher
+21:50:30:       576237 von 820000 Elementen im Speicher
+21:50:31:       581237 von 825000 Elementen im Speicher
+21:50:32:       586235 von 830000 Elementen im Speicher
+21:50:32:       591227 von 835000 Elementen im Speicher
+21:50:33:       596201 von 840000 Elementen im Speicher
+21:50:34:       600990 von 845000 Elementen im Speicher
+21:50:35:       605568 von 850000 Elementen im Speicher
+21:50:36:       610543 von 855000 Elementen im Speicher
+21:50:37:       615527 von 860000 Elementen im Speicher
+21:50:37:       620514 von 865000 Elementen im Speicher
+21:50:38:       625502 von 870000 Elementen im Speicher
+21:50:39:       630489 von 875000 Elementen im Speicher
+21:50:40:       635489 von 880000 Elementen im Speicher
+21:50:41:       640489 von 885000 Elementen im Speicher
+21:50:41:       645489 von 890000 Elementen im Speicher
+21:50:42:       650489 von 895000 Elementen im Speicher
+21:50:43:       655369 von 900000 Elementen im Speicher
+21:50:44:       660111 von 905000 Elementen im Speicher
+21:50:44:       Kapazität der Elementliste wurde auf 928200 erhöht
+21:50:45:       664848 von 910000 Elementen im Speicher
+21:50:45:       669580 von 915000 Elementen im Speicher
+21:50:46:       674312 von 920000 Elementen im Speicher
+21:50:47:       679037 von 925000 Elementen im Speicher
+21:50:48:       683756 von 930000 Elementen im Speicher
+21:50:49:       688494 von 935000 Elementen im Speicher
+21:50:49:       693218 von 940000 Elementen im Speicher
+21:50:50:       697933 von 945000 Elementen im Speicher
+21:50:51:       701874 von 950000 Elementen im Speicher
+21:50:52:       706708 von 955000 Elementen im Speicher
+21:50:53:       711694 von 960000 Elementen im Speicher
+21:50:54:       716678 von 965000 Elementen im Speicher
+21:50:54:       721655 von 970000 Elementen im Speicher
+21:50:55:       726629 von 975000 Elementen im Speicher
+21:50:56:       731603 von 980000 Elementen im Speicher
+21:50:57:       736590 von 985000 Elementen im Speicher
+21:50:58:       741575 von 990000 Elementen im Speicher
+21:50:59:       746572 von 995000 Elementen im Speicher
+21:50:59:       751572 von 1000000 Elementen im Speicher
+21:51:00:       756572 von 1005000 Elementen im Speicher
+21:51:01:       761572 von 1010000 Elementen im Speicher
+21:51:02:       766572 von 1015000 Elementen im Speicher
+21:51:03:       771572 von 1020000 Elementen im Speicher
+21:51:04:       776572 von 1025000 Elementen im Speicher
+21:51:04:       781572 von 1030000 Elementen im Speicher
+21:51:05:       786572 von 1035000 Elementen im Speicher
+21:51:06:       791569 von 1040000 Elementen im Speicher
+21:51:07:       796559 von 1045000 Elementen im Speicher
+21:51:08:       801552 von 1050000 Elementen im Speicher
+21:51:09:       806552 von 1055000 Elementen im Speicher
+21:51:09:       811552 von 1060000 Elementen im Speicher
+21:51:10:       816552 von 1065000 Elementen im Speicher
+21:51:11:       821552 von 1070000 Elementen im Speicher
+21:51:11:       826552 von 1075000 Elementen im Speicher
+21:51:12:       831552 von 1080000 Elementen im Speicher
+21:51:13:       836552 von 1085000 Elementen im Speicher
+21:51:14:       841552 von 1090000 Elementen im Speicher
+21:51:14:       846552 von 1095000 Elementen im Speicher
+21:51:15:       851552 von 1100000 Elementen im Speicher
+21:51:16:       Kapazität der Knotenliste wurde auf 610510 erhöht
+21:51:16:       856552 von 1105000 Elementen im Speicher
+21:51:17:       861552 von 1110000 Elementen im Speicher
+21:51:17:       866552 von 1115000 Elementen im Speicher
+21:51:18:       871552 von 1120000 Elementen im Speicher
+21:51:19:       876552 von 1125000 Elementen im Speicher
+21:51:20:       881552 von 1130000 Elementen im Speicher
+21:51:20:       886552 von 1135000 Elementen im Speicher
+21:51:21:       891552 von 1140000 Elementen im Speicher
+21:51:22:       896552 von 1145000 Elementen im Speicher
+21:51:23:       901552 von 1150000 Elementen im Speicher
+21:51:23:       906552 von 1155000 Elementen im Speicher
+21:51:24:       911552 von 1160000 Elementen im Speicher
+21:51:25:       916552 von 1165000 Elementen im Speicher
+21:51:26:       921552 von 1170000 Elementen im Speicher
+21:51:26:       926552 von 1175000 Elementen im Speicher
+21:51:27:       Kapazität der Elementliste wurde auf 1221020 erhöht
+21:51:27:       931552 von 1180000 Elementen im Speicher
+21:51:28:       936552 von 1185000 Elementen im Speicher
+21:51:29:       941552 von 1190000 Elementen im Speicher
+21:51:29:       946552 von 1195000 Elementen im Speicher
+21:51:30:       951552 von 1200000 Elementen im Speicher
+21:51:31:       956552 von 1205000 Elementen im Speicher
+21:51:32:       961552 von 1210000 Elementen im Speicher
+21:51:33:       966552 von 1215000 Elementen im Speicher
+21:51:33:       971552 von 1220000 Elementen im Speicher
+21:51:34:       976552 von 1225000 Elementen im Speicher
+21:51:35:       981552 von 1230000 Elementen im Speicher
+21:51:36:       986552 von 1235000 Elementen im Speicher
+21:51:37:       991552 von 1240000 Elementen im Speicher
+21:51:37:       996552 von 1245000 Elementen im Speicher
+21:51:38:       1000092 von 1250000 Elementen im Speicher
+21:51:39:       1002140 von 1255000 Elementen im Speicher
+21:51:39:       1004180 von 1260000 Elementen im Speicher
+21:51:40:       1006180 von 1265000 Elementen im Speicher
+21:51:40:       1008212 von 1270000 Elementen im Speicher
+21:51:41:       1012725 von 1275000 Elementen im Speicher
+21:51:42:       1017598 von 1280000 Elementen im Speicher
+21:51:42:       1022468 von 1285000 Elementen im Speicher
+21:51:43:       1027362 von 1290000 Elementen im Speicher
+21:51:44:       1032241 von 1295000 Elementen im Speicher
+21:51:45:       1037118 von 1300000 Elementen im Speicher
+21:51:45:       1041999 von 1305000 Elementen im Speicher
+21:51:46:       1046878 von 1310000 Elementen im Speicher
+21:51:47:       1051757 von 1315000 Elementen im Speicher
+21:51:48:       1054964 von 1320000 Elementen im Speicher
+21:51:48:       1057098 von 1325000 Elementen im Speicher
+21:51:49:       1061978 von 1330000 Elementen im Speicher
+21:51:50:       1066850 von 1335000 Elementen im Speicher
+21:51:51:       1071722 von 1340000 Elementen im Speicher
+21:51:52:       1076602 von 1345000 Elementen im Speicher
+21:51:52:       1081474 von 1350000 Elementen im Speicher
+21:51:53:       1086354 von 1355000 Elementen im Speicher
+21:51:54:       1091227 von 1360000 Elementen im Speicher
+21:51:55:       1096099 von 1365000 Elementen im Speicher
+21:51:56:       1100979 von 1370000 Elementen im Speicher
+21:51:56:       1105573 von 1375000 Elementen im Speicher
+21:51:57:       1110409 von 1380000 Elementen im Speicher
+21:51:58:       1115305 von 1385000 Elementen im Speicher
+21:51:59:       1120305 von 1390000 Elementen im Speicher
+21:51:59:       1125305 von 1395000 Elementen im Speicher
+21:52:00:       1130305 von 1400000 Elementen im Speicher
+21:52:01:       1135305 von 1405000 Elementen im Speicher
+21:52:02:       1140305 von 1410000 Elementen im Speicher
+21:52:02:       1145305 von 1415000 Elementen im Speicher
+21:52:03:       1150305 von 1420000 Elementen im Speicher
+21:52:04:       1155305 von 1425000 Elementen im Speicher
+21:52:05:       1160305 von 1430000 Elementen im Speicher
+21:52:05:       Kapazität der Knotenliste wurde auf 771561 erhöht
+21:52:05:       1165305 von 1435000 Elementen im Speicher
+21:52:06:       1170305 von 1440000 Elementen im Speicher
+21:52:07:       1175305 von 1445000 Elementen im Speicher
+21:52:08:       1180305 von 1450000 Elementen im Speicher
+21:52:08:       1185305 von 1455000 Elementen im Speicher
+21:52:09:       1190305 von 1460000 Elementen im Speicher
+21:52:10:       1195305 von 1465000 Elementen im Speicher
+21:52:11:       1200305 von 1470000 Elementen im Speicher
+21:52:12:       1205305 von 1475000 Elementen im Speicher
+21:52:12:       1210305 von 1480000 Elementen im Speicher
+21:52:13:       1215305 von 1485000 Elementen im Speicher
+21:52:14:       1220305 von 1490000 Elementen im Speicher
+21:52:14:       Kapazität der Elementliste wurde auf 1543122 erhöht
+21:52:15:       1225305 von 1495000 Elementen im Speicher
+21:52:15:       1228240 von 1500000 Elementen im Speicher
+21:52:16:       1228241 von 1505000 Elementen im Speicher
+21:52:16:       1228246 von 1510000 Elementen im Speicher
+21:52:16:       1228256 von 1515000 Elementen im Speicher
+21:52:17:       1228267 von 1520000 Elementen im Speicher
+21:52:17:       1228271 von 1525000 Elementen im Speicher
+21:52:17:       1228275 von 1530000 Elementen im Speicher
+21:52:18:       1228607 von 1535000 Elementen im Speicher
+21:52:18:       1228607 von 1540000 Elementen im Speicher
+21:52:19:       1228607 von 1545000 Elementen im Speicher
+21:52:19:       1228607 von 1550000 Elementen im Speicher
+21:52:19:       1228607 von 1555000 Elementen im Speicher
+21:52:20:       1228607 von 1560000 Elementen im Speicher
+21:52:20:       1228607 von 1565000 Elementen im Speicher
+21:52:21:       1228607 von 1570000 Elementen im Speicher
+21:52:21:       1228607 von 1575000 Elementen im Speicher
+21:52:22:       1228607 von 1580000 Elementen im Speicher
+21:52:22:       1228607 von 1585000 Elementen im Speicher
+21:52:22:       1228607 von 1590000 Elementen im Speicher
+21:52:23:       1228607 von 1595000 Elementen im Speicher
+21:52:23:       1228607 von 1600000 Elementen im Speicher
+21:52:24:       1228607 von 1605000 Elementen im Speicher
+21:52:24:       1228607 von 1610000 Elementen im Speicher
+21:52:24:       1228607 von 1615000 Elementen im Speicher
+21:52:25:       1228607 von 1620000 Elementen im Speicher
+21:52:25:       1228607 von 1625000 Elementen im Speicher
+21:52:26:       1228607 von 1630000 Elementen im Speicher
+21:52:26:       1228607 von 1635000 Elementen im Speicher
+21:52:26:       1228607 von 1640000 Elementen im Speicher
+21:52:27:       1228607 von 1645000 Elementen im Speicher
+21:52:27:       1228607 von 1650000 Elementen im Speicher
+21:52:27:       1228607 von 1655000 Elementen im Speicher
+21:52:28:       1228607 von 1660000 Elementen im Speicher
+21:52:28:       1228607 von 1665000 Elementen im Speicher
+21:52:28:       1228607 von 1670000 Elementen im Speicher
+21:52:28:       1228607 von 1675000 Elementen im Speicher
+21:52:29:       1228607 von 1680000 Elementen im Speicher
+21:52:29:       1228607 von 1685000 Elementen im Speicher
+21:52:29:       1229988 von 1690000 Elementen im Speicher
+21:52:30:       1234988 von 1695000 Elementen im Speicher
+21:52:31:       1239988 von 1700000 Elementen im Speicher
+21:52:32:       1244988 von 1705000 Elementen im Speicher
+21:52:33:       1249988 von 1710000 Elementen im Speicher
+21:52:33:       1254988 von 1715000 Elementen im Speicher
+21:52:34:       1259988 von 1720000 Elementen im Speicher
+21:52:35:       1263581 von 1725000 Elementen im Speicher
+21:52:35:       1263581 von 1730000 Elementen im Speicher
+21:52:35:       1263581 von 1735000 Elementen im Speicher
+21:52:36:       1263581 von 1740000 Elementen im Speicher
+21:52:36:       1263581 von 1745000 Elementen im Speicher
+21:52:36:       1266115 von 1750000 Elementen im Speicher
+21:52:37:       1271115 von 1755000 Elementen im Speicher
+21:52:37:       1272929 von 1760000 Elementen im Speicher
+21:52:38:       1277161 von 1765000 Elementen im Speicher
+21:52:39:       1282161 von 1770000 Elementen im Speicher
+21:52:40:       1287161 von 1775000 Elementen im Speicher
+21:52:41:       1292161 von 1780000 Elementen im Speicher
+21:52:42:       1297161 von 1785000 Elementen im Speicher
+21:52:42:       1300570 von 1790000 Elementen im Speicher
+21:52:43:       1305278 von 1795000 Elementen im Speicher
+21:52:44:       1310278 von 1800000 Elementen im Speicher
+21:52:45:       1314804 von 1805000 Elementen im Speicher
+21:52:45:       1317515 von 1810000 Elementen im Speicher
+21:52:46:       1322515 von 1815000 Elementen im Speicher
+21:52:47:       1324832 von 1820000 Elementen im Speicher
+21:52:48:       1324832 von 1825000 Elementen im Speicher
+21:52:48:       1324832 von 1830000 Elementen im Speicher
+21:52:48:       1324832 von 1835000 Elementen im Speicher
+21:52:49:       1326186 von 1840000 Elementen im Speicher
+21:52:50:       1331186 von 1845000 Elementen im Speicher
+21:52:50:       1332191 von 1850000 Elementen im Speicher
+21:52:51:       1335400 von 1855000 Elementen im Speicher
+21:52:52:       1340150 von 1860000 Elementen im Speicher
+21:52:53:       1343480 von 1865000 Elementen im Speicher
+21:52:53:       1345306 von 1870000 Elementen im Speicher
+21:52:54:       1350197 von 1875000 Elementen im Speicher
+21:52:55:       1354515 von 1880000 Elementen im Speicher
+21:52:56:       1359402 von 1885000 Elementen im Speicher
+21:52:57:       1364402 von 1890000 Elementen im Speicher
+21:52:58:       1369388 von 1895000 Elementen im Speicher
+21:52:58:       1373609 von 1900000 Elementen im Speicher
+21:52:59:       1375894 von 1905000 Elementen im Speicher
+21:53:00:       1380802 von 1910000 Elementen im Speicher
+21:53:01:       1385694 von 1915000 Elementen im Speicher
+21:53:02:       1390566 von 1920000 Elementen im Speicher
+21:53:03:       1395419 von 1925000 Elementen im Speicher
+21:53:03:       1400278 von 1930000 Elementen im Speicher
+21:53:04:       1405144 von 1935000 Elementen im Speicher
+21:53:05:       1410013 von 1940000 Elementen im Speicher
+21:53:06:       1414861 von 1945000 Elementen im Speicher
+21:53:07:       1419733 von 1950000 Elementen im Speicher
+21:53:07:       1423085 von 1955000 Elementen im Speicher
+21:53:08:       1424820 von 1960000 Elementen im Speicher
+21:53:08:       1426682 von 1965000 Elementen im Speicher
+21:53:09:       1428522 von 1970000 Elementen im Speicher
+21:53:09:       1430294 von 1975000 Elementen im Speicher
+21:53:10:       1432089 von 1980000 Elementen im Speicher
+21:53:10:       1433918 von 1985000 Elementen im Speicher
+21:53:11:       1435802 von 1990000 Elementen im Speicher
+21:53:11:       1437588 von 1995000 Elementen im Speicher
+21:53:12:       1439467 von 2000000 Elementen im Speicher
+21:53:12:       1441298 von 2005000 Elementen im Speicher
+21:53:13:       1442179 von 2010000 Elementen im Speicher
+21:53:13:       1444107 von 2015000 Elementen im Speicher
+21:53:14:       1445956 von 2020000 Elementen im Speicher
+21:53:14:       1447837 von 2025000 Elementen im Speicher
+21:53:15:       1449768 von 2030000 Elementen im Speicher
+21:53:15:       1451584 von 2035000 Elementen im Speicher
+21:53:16:       1453497 von 2040000 Elementen im Speicher
+21:53:16:       1455398 von 2045000 Elementen im Speicher
+21:53:17:       1457237 von 2050000 Elementen im Speicher
+21:53:18:       1459170 von 2055000 Elementen im Speicher
+21:53:18:       1462347 von 2060000 Elementen im Speicher
+21:53:19:       1467201 von 2065000 Elementen im Speicher
+21:53:20:       1472201 von 2070000 Elementen im Speicher
+21:53:21:       1475964 von 2075000 Elementen im Speicher
+21:53:21:       Kapazität der Knotenliste wurde auf 948717 erhöht
+21:53:21:       1480935 von 2080000 Elementen im Speicher
+21:53:22:       1485907 von 2085000 Elementen im Speicher
+21:53:23:       1490886 von 2090000 Elementen im Speicher
+21:53:24:       1495866 von 2095000 Elementen im Speicher
+21:53:24:       1500840 von 2100000 Elementen im Speicher
+21:53:25:       1505822 von 2105000 Elementen im Speicher
+21:53:26:       1510804 von 2110000 Elementen im Speicher
+21:53:27:       1515778 von 2115000 Elementen im Speicher
+21:53:28:       1520753 von 2120000 Elementen im Speicher
+21:53:28:       1525741 von 2125000 Elementen im Speicher
+21:53:29:       1530741 von 2130000 Elementen im Speicher
+21:53:30:       1535741 von 2135000 Elementen im Speicher
+21:53:31:       1540741 von 2140000 Elementen im Speicher
+21:53:31:       Kapazität der Elementliste wurde auf 1897434 erhöht
+21:53:31:       1545741 von 2145000 Elementen im Speicher
+21:53:32:       1550741 von 2150000 Elementen im Speicher
+21:53:33:       1555741 von 2155000 Elementen im Speicher
+21:53:33:       1560741 von 2160000 Elementen im Speicher
+21:53:34:       1565741 von 2165000 Elementen im Speicher
+21:53:35:       1570741 von 2170000 Elementen im Speicher
+21:53:36:       1575679 von 2175000 Elementen im Speicher
+21:53:36:       1580303 von 2180000 Elementen im Speicher
+21:53:37:       1583798 von 2185000 Elementen im Speicher
+21:53:38:       1585401 von 2190000 Elementen im Speicher
+21:53:38:       1586563 von 2195000 Elementen im Speicher
+21:53:39:       1587723 von 2200000 Elementen im Speicher
+21:53:39:       1587909 von 2205000 Elementen im Speicher
+21:53:40:       1589644 von 2210000 Elementen im Speicher
+21:53:40:       1592893 von 2215000 Elementen im Speicher
+21:53:41:       1592893 von 2220000 Elementen im Speicher
+21:53:41:       1592893 von 2225000 Elementen im Speicher
+21:53:41:       1592893 von 2230000 Elementen im Speicher
+21:53:41:       1592893 von 2235000 Elementen im Speicher
+21:53:41:       1592893 von 2240000 Elementen im Speicher
+21:53:42:       1593959 von 2245000 Elementen im Speicher
+21:53:43:       1596620 von 2250000 Elementen im Speicher
+21:53:43:       1598842 von 2255000 Elementen im Speicher
+21:53:44:       1601000 von 2260000 Elementen im Speicher
+21:53:45:       1603158 von 2265000 Elementen im Speicher
+21:53:46:       1604949 von 2269246 Elementen im Speicher
+21:53:46:     <-Laden der Elemente beendet
+21:53:46:   <-Laden des DGM in Datei 'test_daten/dgmtin3/tnxy.adf' als TIN beendet
+21:53:46:   ->Suche nach doppelten Knoten gestartet
+21:53:46:     808064 Knoten und 1604949 Elemente vorhanden
+21:53:46:     ->Sortieren der Knoten gestartet
+21:53:46:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:46:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:46:     <-Sortieren der Knoten beendet
+21:53:46:     10000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     20000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     30000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     40000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     50000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     60000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     70000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     80000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     90000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     100000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     110000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     120000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     130000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     140000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     150000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     160000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     170000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     180000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     190000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     200000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     210000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     220000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:46:     230000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     240000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     250000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     260000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     270000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     280000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     290000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     300000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     310000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     320000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     330000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     340000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     350000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     360000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     370000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     380000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     390000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     400000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     410000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     420000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     430000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     440000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     450000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     460000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     470000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     480000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     490000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     500000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     510000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     520000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     530000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     540000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     550000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     560000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     570000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     580000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     590000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     600000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     610000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     620000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     630000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     640000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     650000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     660000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     670000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     680000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     690000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     700000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     710000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     720000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     730000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     740000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     750000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     760000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     770000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     780000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     790000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     800000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     810000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     820000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     830000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     840000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     850000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     860000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     870000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     880000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     890000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     900000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     910000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     920000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     930000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     940000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     950000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     960000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     970000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     980000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     990000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1000000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1010000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1020000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1030000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1040000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1050000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1060000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1070000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1080000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1090000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1100000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1110000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1120000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1130000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1140000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1150000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1160000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1170000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1180000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1190000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1200000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1210000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1220000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1230000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1240000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1250000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1260000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1270000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1280000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1290000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1300000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1310000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1320000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1330000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1340000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1350000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1360000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1370000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1380000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1390000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1400000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1410000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1420000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1430000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1440000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1450000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1460000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1470000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1480000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1490000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1500000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1510000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1520000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1530000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1540000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1550000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1560000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1570000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1580000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1590000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     1600000 von 1604949 Elementen, 0 doppelte Knoten gefunden
+21:53:47:     10000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     20000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     30000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     40000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     50000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     60000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     70000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     80000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     90000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     100000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     110000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     120000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     130000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     140000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     150000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     160000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     170000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     180000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     190000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     200000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     210000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     220000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     230000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     240000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     250000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     260000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     270000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     280000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     290000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     300000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     310000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     320000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     330000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     340000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     350000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     360000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     370000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     380000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     390000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     400000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     410000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     420000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     430000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     440000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     450000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     460000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     470000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     480000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     490000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     500000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     510000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     520000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     530000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     540000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     550000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     560000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     570000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     580000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     590000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     600000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     610000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     620000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     630000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     640000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     650000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     660000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     670000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     680000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     690000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     700000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     710000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     720000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     730000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     740000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     750000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     760000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     770000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     780000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     790000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     800000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     810000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     820000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     830000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     840000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     850000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     860000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     870000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     880000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     890000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     900000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     910000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     920000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     930000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     940000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     950000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     960000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     970000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     980000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     990000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1000000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1010000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1020000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1030000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1040000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1050000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1060000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1070000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1080000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1090000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1100000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1110000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1120000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1130000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1140000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1150000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1160000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1170000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1180000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1190000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1200000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1210000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1220000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1230000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1240000 von 1604949 Elementen, 0 Elemente gelöscht
+21:53:47:     1250000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1260000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1270000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1280000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1290000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1300000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1310000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1320000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1330000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1340000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1350000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1360000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1370000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1380000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1390000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1400000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1410000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1420000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1430000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1440000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1450000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1460000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1470000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1480000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1490000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1500000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1510000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1520000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1530000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1540000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1550000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1560000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1570000 von 1604949 Elementen, 1 Elemente gelöscht
+21:53:47:     1580000 von 1604949 Elementen, 3 Elemente gelöscht
+21:53:47:     1590000 von 1604949 Elementen, 3 Elemente gelöscht
+21:53:47:     1600000 von 1604949 Elementen, 17 Elemente gelöscht
+21:53:47:     0 Knoten gelöscht, 20 Elemente gelöscht
+21:53:47:   <-Suche nach doppelten Knoten beendet
+21:53:47: <-Laden des DGM in Datei 'test_daten/dgmtin3/tnxy.adf' beendet
+21:53:47: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:47: <-Löschen des Suchbaumes der Knoten beendet
+21:53:47: 100000 von 808064 Objekte freigegeben
+21:53:47: 200000 von 808064 Objekte freigegeben
+21:53:47: 300000 von 808064 Objekte freigegeben
+21:53:47: 400000 von 808064 Objekte freigegeben
+21:53:48: 500000 von 808064 Objekte freigegeben
+21:53:48: 600000 von 808064 Objekte freigegeben
+21:53:48: 700000 von 808064 Objekte freigegeben
+21:53:48: 800000 von 808064 Objekte freigegeben
+21:53:48: 808064 Objekte freigegeben
+21:53:48: 100000 von 1604949 Objekte freigegeben
+21:53:48: 200000 von 1604949 Objekte freigegeben
+21:53:48: 300000 von 1604949 Objekte freigegeben
+21:53:48: 400000 von 1604949 Objekte freigegeben
+21:53:48: 500000 von 1604949 Objekte freigegeben
+21:53:48: 600000 von 1604949 Objekte freigegeben
+21:53:48: 700000 von 1604949 Objekte freigegeben
+21:53:48: 800000 von 1604949 Objekte freigegeben
+21:53:48: 900000 von 1604949 Objekte freigegeben
+21:53:48: 1000000 von 1604949 Objekte freigegeben
+21:53:48: 1100000 von 1604949 Objekte freigegeben
+21:53:48: 1200000 von 1604949 Objekte freigegeben
+21:53:48: 1300000 von 1604949 Objekte freigegeben
+21:53:48: 1400000 von 1604949 Objekte freigegeben
+21:53:48: 1500000 von 1604949 Objekte freigegeben
+21:53:48: 1600000 von 1604949 Objekte freigegeben
+21:53:48: 1604949 Objekte freigegeben
+21:53:48: ->Laden des DGM in Datei 'test_daten/dgm.grd' gestartet
+21:53:48:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:48:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:48:   ->Laden des DGM in Datei 'test_daten/dgm.grd' als GRD gestartet
+21:53:48:     10000 von 71250 Werten gelesen, 0 von 0 Knoten im Speicher
+21:53:48:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:48:     20000 von 71250 Werten gelesen, 5130 von 5130 Knoten im Speicher
+21:53:48:     30000 von 71250 Werten gelesen, 11135 von 11135 Knoten im Speicher
+21:53:48:     40000 von 71250 Werten gelesen, 17145 von 17145 Knoten im Speicher
+21:53:48:     50000 von 71250 Werten gelesen, 23155 von 23155 Knoten im Speicher
+21:53:48:     60000 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
+21:53:48:     70000 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
+21:53:48:     71250 von 71250 Werten gelesen, 24624 von 24624 Knoten im Speicher
+21:53:48:   <-Laden des DGM in Datei 'test_daten/dgm.grd' als GRD beendet
+21:53:48:   ->Suche nach doppelten Knoten gestartet
+21:53:48:     24624 Knoten und keine Elemente vorhanden
+21:53:48:     ->Sortieren der Knoten gestartet
+21:53:48:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:48:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:48:     <-Sortieren der Knoten beendet
+21:53:48:     10000 von 24624 Knoten, 0 Knoten gelöscht
+21:53:48:     20000 von 24624 Knoten, 0 Knoten gelöscht
+21:53:48:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:48:   <-Suche nach doppelten Knoten beendet
+21:53:48: <-Laden des DGM in Datei 'test_daten/dgm.grd' beendet
+21:53:48: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:48: <-Löschen des Suchbaumes der Knoten beendet
+21:53:48: 24624 Objekte freigegeben
+21:53:48: ->Laden des DGM in Datei 'test_daten/dgm.xyz' gestartet
+21:53:48:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:48:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:48:   ->Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ gestartet
+21:53:48:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:48:     10 Werte gelesen, 10 von 10 Knoten im Speicher
+21:53:48:   <-Laden des DGM in Datei 'test_daten/dgm.xyz' als XYZ beendet
+21:53:48:   ->Suche nach doppelten Knoten gestartet
+21:53:48:     10 Knoten und keine Elemente vorhanden
+21:53:48:     ->Sortieren der Knoten gestartet
+21:53:48:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:48:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:48:     <-Sortieren der Knoten beendet
+21:53:48:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:48:   <-Suche nach doppelten Knoten beendet
+21:53:48: <-Laden des DGM in Datei 'test_daten/dgm.xyz' beendet
+21:53:48: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:48: <-Löschen des Suchbaumes der Knoten beendet
+21:53:48: 10 Objekte freigegeben
+21:53:48: ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' gestartet
+21:53:48:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:48:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:48:   ->Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ gestartet
+21:53:48:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:48:     1126 Werte gelesen, 1126 von 1126 Knoten im Speicher
+21:53:48:   <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' als XYZ beendet
+21:53:48:   ->Suche nach doppelten Knoten gestartet
+21:53:48:     1126 Knoten und keine Elemente vorhanden
+21:53:48:     ->Sortieren der Knoten gestartet
+21:53:48:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:48:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:48:     <-Sortieren der Knoten beendet
+21:53:48:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:48:   <-Suche nach doppelten Knoten beendet
+21:53:48: <-Laden des DGM in Datei 'test_daten/dgm_gross.xyz' beendet
+21:53:48: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:48: <-Löschen des Suchbaumes der Knoten beendet
+21:53:48: 1126 Objekte freigegeben
+21:53:48: ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' gestartet
+21:53:48:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:48:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:48:   ->Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ gestartet
+21:53:48:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:48:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
+21:53:48:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
+21:53:49:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
+21:53:49:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
+21:53:49:     43332 Werte gelesen, 43332 von 43332 Knoten im Speicher
+21:53:49:   <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' als XYZ beendet
+21:53:49:   ->Suche nach doppelten Knoten gestartet
+21:53:49:     43332 Knoten und keine Elemente vorhanden
+21:53:49:     ->Sortieren der Knoten gestartet
+21:53:49:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:49:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:49:     <-Sortieren der Knoten beendet
+21:53:49:     10000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:49:     20000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:49:     30000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:49:     40000 von 43332 Knoten, 0 Knoten gelöscht
+21:53:49:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:49:   <-Suche nach doppelten Knoten beendet
+21:53:49: <-Laden des DGM in Datei 'test_daten/dgm_ziemlich_gross.xyz' beendet
+21:53:49: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:49: <-Löschen des Suchbaumes der Knoten beendet
+21:53:49: 43332 Objekte freigegeben
+21:53:49: ->Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' gestartet
+21:53:49:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:49:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:49:   ->Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' als XYZ gestartet
+21:53:49:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:49:     10000 Werte gelesen, 9999 von 9999 Knoten im Speicher
+21:53:49:     20000 Werte gelesen, 19999 von 19999 Knoten im Speicher
+21:53:49:     30000 Werte gelesen, 29999 von 29999 Knoten im Speicher
+21:53:49:     40000 Werte gelesen, 39999 von 39999 Knoten im Speicher
+21:53:49:     50000 Werte gelesen, 49999 von 49999 Knoten im Speicher
+21:53:49:     60000 Werte gelesen, 59999 von 59999 Knoten im Speicher
+21:53:50:     70000 Werte gelesen, 69999 von 69999 Knoten im Speicher
+21:53:50:     80000 Werte gelesen, 79999 von 79999 Knoten im Speicher
+21:53:50:     90000 Werte gelesen, 89999 von 89999 Knoten im Speicher
+21:53:50:     98636 Werte gelesen, 98636 von 98636 Knoten im Speicher
+21:53:50:   <-Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' als XYZ beendet
+21:53:50:   ->Suche nach doppelten Knoten gestartet
+21:53:50:     98636 Knoten und keine Elemente vorhanden
+21:53:50:     ->Sortieren der Knoten gestartet
+21:53:50:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:50:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:50:     <-Sortieren der Knoten beendet
+21:53:50:     10000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     20000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     30000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     40000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     50000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     60000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     70000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     80000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     90000 von 98636 Knoten, 0 Knoten gelöscht
+21:53:50:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:50:   <-Suche nach doppelten Knoten beendet
+21:53:50: <-Laden des DGM in Datei 'test_daten/dgm_sehr_gross.xyz' beendet
+21:53:50: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:50: <-Löschen des Suchbaumes der Knoten beendet
+21:53:50: 98636 Objekte freigegeben
+21:53:50: ->Laden des DGM in Datei 'test_daten/dgm.shp' gestartet
+21:53:50:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:50:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:50:   ->Laden des DGM in Datei 'test_daten/dgm.shp' als SHP gestartet
+21:53:50:     ->Laden der Projektionsdatei zu 'test_daten/dgm.shp' gestartet
+21:53:50:       Projektionsdatei 'test_daten/dgm.Prj' konnte nicht geöffnet werden
+21:53:50:     <-Laden der Projektionsdatei zu 'test_daten/dgm.shp' beendet
+21:53:50:     10 Speicherblöcke wurden angefordert
+21:53:50:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:50:     114 von 114 Objekten gelesen, 114 von 114 Knoten im Speicher
+21:53:50:   <-Laden des DGM in Datei 'test_daten/dgm.shp' als SHP beendet
+21:53:50:   ->Suche nach doppelten Knoten gestartet
+21:53:50:     114 Knoten und keine Elemente vorhanden
+21:53:50:     ->Sortieren der Knoten gestartet
+21:53:50:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:50:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:50:     <-Sortieren der Knoten beendet
+21:53:50:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:50:   <-Suche nach doppelten Knoten beendet
+21:53:50: <-Laden des DGM in Datei 'test_daten/dgm.shp' beendet
+21:53:50: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:50: <-Löschen des Suchbaumes der Knoten beendet
+21:53:50: 114 Objekte freigegeben
+21:53:50: ->Laden des DGM in Datei 'test_daten/dgm2.shp' gestartet
+21:53:50:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:50:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:50:   ->Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP gestartet
+21:53:50:     ->Laden der Projektionsdatei zu 'test_daten/dgm2.shp' gestartet
+21:53:50:       Projektionsdatei 'test_daten/dgm2.Prj' konnte nicht geöffnet werden
+21:53:50:     <-Laden der Projektionsdatei zu 'test_daten/dgm2.shp' beendet
+21:53:50:     10 Speicherblöcke wurden angefordert
+21:53:50:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:50:     10000 von 156249 Objekten gelesen, 9247 von 9247 Knoten im Speicher
+21:53:50:     20000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:50:     30000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:50:     40000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:50:     50000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:51:     60000 von 156249 Objekten gelesen, 11875 von 11875 Knoten im Speicher
+21:53:51:     70000 von 156249 Objekten gelesen, 12088 von 12088 Knoten im Speicher
+21:53:51:     80000 von 156249 Objekten gelesen, 13793 von 13793 Knoten im Speicher
+21:53:51:     90000 von 156249 Objekten gelesen, 15747 von 15747 Knoten im Speicher
+21:53:51:     100000 von 156249 Objekten gelesen, 17727 von 17727 Knoten im Speicher
+21:53:51:     110000 von 156249 Objekten gelesen, 19707 von 19707 Knoten im Speicher
+21:53:51:     120000 von 156249 Objekten gelesen, 21687 von 21687 Knoten im Speicher
+21:53:51:     130000 von 156249 Objekten gelesen, 23667 von 23667 Knoten im Speicher
+21:53:51:     140000 von 156249 Objekten gelesen, 25482 von 25482 Knoten im Speicher
+21:53:51:     150000 von 156249 Objekten gelesen, 27462 von 27462 Knoten im Speicher
+21:53:51:     156249 von 156249 Objekten gelesen, 28287 von 28287 Knoten im Speicher
+21:53:51:   <-Laden des DGM in Datei 'test_daten/dgm2.shp' als SHP beendet
+21:53:51:   ->Suche nach doppelten Knoten gestartet
+21:53:51:     28287 Knoten und keine Elemente vorhanden
+21:53:51:     ->Sortieren der Knoten gestartet
+21:53:51:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:51:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:51:     <-Sortieren der Knoten beendet
+21:53:51:     10000 von 28287 Knoten, 0 Knoten gelöscht
+21:53:51:     20000 von 28287 Knoten, 0 Knoten gelöscht
+21:53:51:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:51:   <-Suche nach doppelten Knoten beendet
+21:53:51: <-Laden des DGM in Datei 'test_daten/dgm2.shp' beendet
+21:53:51: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:51: <-Löschen des Suchbaumes der Knoten beendet
+21:53:51: 28287 Objekte freigegeben
+21:53:51: ->Laden des DGM in Datei 'test_daten/dgm.2dm' gestartet
+21:53:51:   ->Löschen des Suchbaumes der Knoten gestartet
+21:53:51:   <-Löschen des Suchbaumes der Knoten beendet
+21:53:51:   ->Laden des DGM in Datei 'test_daten/dgm.2dm' als 2DM gestartet
+21:53:51:     Kapazität der Knotenliste wurde auf 100000 erhöht
+21:53:51:     ->Sortieren der Knoten gestartet
+21:53:51:     <-Sortieren der Knoten beendet
+21:53:51:     Kapazität der Elementliste wurde auf 200000 erhöht
+21:53:51:     2225 Elemente und 1126 Knoten geladen
+21:53:51:     1126 Knoten insgesamt
+21:53:51:   <-Laden des DGM in Datei 'test_daten/dgm.2dm' als 2DM beendet
+21:53:51:   ->Suche nach doppelten Knoten gestartet
+21:53:51:     1126 Knoten und 2225 Elemente vorhanden
+21:53:51:     ->Sortieren der Knoten gestartet
+21:53:51:       ->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet
+21:53:51:       <-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet
+21:53:51:     <-Sortieren der Knoten beendet
+21:53:51:     0 Knoten gelöscht, 0 Elemente gelöscht
+21:53:51:   <-Suche nach doppelten Knoten beendet
+21:53:51: <-Laden des DGM in Datei 'test_daten/dgm.2dm' beendet
+21:53:51: ->Löschen des Suchbaumes der Knoten gestartet
+21:53:51: <-Löschen des Suchbaumes der Knoten beendet
+21:53:51: 1126 Objekte freigegeben
+21:53:51: 2225 Objekte freigegeben
+21:53:51: ->Laden der Profilspuren gestartet
+21:53:51:   ->Laden der Projektionsdatei zu 'test_daten/profile.shp' gestartet
+21:53:51:     Projektionsdatei 'test_daten/profile.Prj' konnte nicht geöffnet werden
+21:53:51:   <-Laden der Projektionsdatei zu 'test_daten/profile.shp' beendet
+21:53:51:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
+21:53:51:   10 Speicherblöcke wurden angefordert
+21:53:51:   8 von 8 Objekten geladen, 8 Profilspuren im Speicher
+21:53:51: <-Laden der Profilspuren beendet
+21:53:51: ->Ausrichten der Profilspuren gestartet
+21:53:51:   8 von 8 Profilspuren ausgerichtet, 3 gedreht
+21:53:51: <-Ausrichten der Profilspuren beendet
+21:53:51: ->Überprüfung der Profilspuren gestartet
+21:53:51:   8 von 8 Profilspuren überprüft
+21:53:51: <-Überprüfung der Profilspuren beendet
+21:53:51: 8 Objekte freigegeben
+21:53:51: ->Laden der Profilspuren gestartet
+21:53:51:   ->Laden der Projektionsdatei zu 'test_daten/profilez.shp' gestartet
+21:53:51:     Projektionsdatei 'test_daten/profilez.Prj' konnte nicht geöffnet werden
+21:53:51:   <-Laden der Projektionsdatei zu 'test_daten/profilez.shp' beendet
+21:53:51:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
+21:53:51:   10 Speicherblöcke wurden angefordert
+21:53:51:   5 von 5 Objekten geladen, 5 Profilspuren im Speicher
+21:53:51: <-Laden der Profilspuren beendet
+21:53:51: ->Ausrichten der Profilspuren gestartet
+21:53:51:   5 von 5 Profilspuren ausgerichtet, 0 gedreht
+21:53:51: <-Ausrichten der Profilspuren beendet
+21:53:51: ->Überprüfung der Profilspuren gestartet
+21:53:51:   5 von 5 Profilspuren überprüft
+21:53:51: <-Überprüfung der Profilspuren beendet
+21:53:51: 5 Objekte freigegeben
+21:53:51: ->Laden der Gewässerachsen gestartet
+21:53:51:   ->Laden der Projektionsdatei zu 'test_daten/achse.shp' gestartet
+21:53:51:     Projektionsdatei 'test_daten/achse.Prj' konnte nicht geöffnet werden
+21:53:51:   <-Laden der Projektionsdatei zu 'test_daten/achse.shp' beendet
+21:53:51:   10 Speicherblöcke wurden angefordert
+21:53:51:   10 von 14 Objekten gelesen, 10 Gewässerachsen im Speicher
+21:53:51:   14 von 14 Objekten gelesen, 14 Gewässerachsen im Speicher
+21:53:51: <-Laden der Gewässerachsen beendet
+21:53:51: ->Zusammenführen von Achsensegmenten gestart
+21:53:51:   Teste Segment 0 (1774) von 9 Segmenten mit 4 (490)
+21:53:51:   Teste Segment 0 (1850) von 7 Segmenten mit 4 (479)
+21:53:51:   Teste Segment 0 (2834) von 5 Segmenten mit 3 (490)
+21:53:52: <-Zusammenführen von Achsensegmenten beendet
+21:53:52: ->Laden der Profilspuren gestartet
+21:53:52:   ->Laden der Projektionsdatei zu 'test_daten/profile_dreh.shp' gestartet
+21:53:52:     Projektionsdatei 'test_daten/profile_dreh.Prj' konnte nicht geöffnet werden
+21:53:52:   <-Laden der Projektionsdatei zu 'test_daten/profile_dreh.shp' beendet
+21:53:52:   Nur Profile mit einer Station kleiner als 9999.9000 werden geladen
+->Fehler (2201)
+Konnte 'test_daten/profile_dreh.shp' nicht zum Lesen öffnen
+<-Fehler (2201)
+21:53:52: Fehler wurde korrekt abgefangen
+21:53:52: Programmabbruch

Modified: trunk/bin/wsplgen.exe
===================================================================
(Binary files differ)

Modified: trunk/src/file.cpp
===================================================================
--- trunk/src/file.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/file.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -159,59 +159,42 @@
 		write_error(1222, "Ungültige Dateinamenserweiterung '%s' beim Dateinamen '%s' für den Parameter -DGM\nErlaubt sind nur ADF, GRD, ASC, 2DM, XYZ, TXT oder SHP\n", ToUpperCase(Ext).c_str(), FileName.c_str());
 	}
 
-	if (BegrenzungsPolygon)
-	{
-		write_fortschritt("->Löschen aussenliegender Kanten gestartet\n");
+	write_fortschritt("<-Laden des DGM in Datei '%s' beendet\n", FileName.c_str());
 
-		int Count = 0;
-		for (TElementList::iterator i=ElementList->begin(); i != ElementList->end(); i++)
-		{
-			TElement *Element = *i;
+	return (true);
+}
 
-			TNode* Node1 = Element->Node1;
-			TNode* Node2 = Element->Node2;
-			TNode* Node3 = Element->Node3;
+//---------------------------------------------------------------------------
+bool LoadXYZ(FILE* fhtnxy, FILE* fhtnz, int Nr, long* XL, long* YL, int* ZI)
+{
+	double X = 0.0;
+	double Y = 0.0;
+	float Z = (float)0.0;
 
-			long X12 = (Node1->X + Node2->X) / 2;
-			long Y12 = (Node1->Y + Node2->Y) / 2;
+	fseek (fhtnxy, (Nr-1) * (sizeof(X) + sizeof (Y)), SEEK_SET);
 
-			if (!BegrenzungsPolygon->IsInsideXYList(X12, Y12))
-			{
-				Element->Typ = NO_ELEMENT;
-				continue;
-			}
+	if (1 != fread(&X, sizeof(X), 1, fhtnxy) || 1 != fread(&Y, sizeof(Y), 1, fhtnxy))
+	{
+		write_error(8888, "Konnte keine X/Y-Werte für den Knoten %d lesen\n", Nr);
+	}
 
-			long X23 = (Node2->X + Node3->X) / 2;
-			long Y23 = (Node2->Y + Node3->Y) / 2;
+	fseek (fhtnz, (Nr-1) * sizeof(Z), SEEK_SET);
 
-			if (!BegrenzungsPolygon->IsInsideXYList(X23, Y23))
-			{
-				Element->Typ = NO_ELEMENT;
-				continue;
-			}
+	if (1 != fread(&Z, sizeof(Z), 1, fhtnz))
+	{
+		write_error(8888, "Konnte keinen Z-Wert für den Knoten %d lesen\n", Nr);
+	}
 
-			long X31 = (Node3->X + Node1->X) / 2;
-			long Y31 = (Node3->Y + Node1->Y) / 2;
+	Swap8Bytes(&X);
+	Swap8Bytes(&Y);
+	Swap4Bytes(&Z);
 
-			if (!BegrenzungsPolygon->IsInsideXYList(X31, Y31))
-			{
-				Element->Typ = NO_ELEMENT;
-				continue;
-			}
+	if (Z > 1e30 || Z < -1e30)	return (false);
 
-			Count++;
+	*XL = (long)(X * 100.0 + 0.5);
+	*YL = (long)(Y * 100.0 + 0.5);
+	*ZI = (long)(Z * 100.0 + 0.5);
 
-			if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count % 50000 == 0))
-			{
-				write_fortschritt("%d von %d Elementen überprüft\n", Count, ElementList->size());
-			}
-		}
-
-		write_fortschritt("<-Löschen aussenliegender Kanten beendet\n");
-	}
-
-	write_fortschritt("<-Laden des DGM in Datei '%s' beendet\n", FileName.c_str());
-
 	return (true);
 }
 
@@ -220,275 +203,219 @@
 {
 	write_fortschritt("->Laden des DGM in Datei '%s' als TIN gestartet\n", FileName.c_str());
 
+	std::string ThulFileName = GetFilePath(FileName) + "thul.adf";
 	std::string TnxyFileName = GetFilePath(FileName) + "tnxy.adf";
 	std::string TnzFileName = GetFilePath(FileName) + "tnz.adf";
 	std::string TnodFileName = GetFilePath(FileName) + "tnod.adf";
-	std::string TedgFileName = GetFilePath(FileName) + "tedg.adf";
-	std::string ThulFileName = GetFilePath(FileName) + "thul.adf";
+//	std::string TedgFileName = GetFilePath(FileName) + "tedg.adf";
 
+	FILE *fhthul = 0;
 	FILE *fhtnxy = 0;
+	FILE *fhtnod = 0;
 	FILE *fhtnz = 0;
-	FILE *fhtnod = 0;
-	FILE *fhtedg = 0;
-	FILE *fhthul = 0;
+//	FILE *fhtedg = 0;
 
-	try
-	{
-		write_fortschritt("->Laden der Umhüllung gestartet\n");
+	fhthul = fopen(ThulFileName.c_str(), "rb");
+	if (fhthul == 0)	write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", ThulFileName.c_str());
 
-		TXYList Huelle;
+	fhtnxy = fopen(TnxyFileName.c_str(), "rb");
+	if (fhtnxy == 0)	write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TnxyFileName.c_str());
 
-		fhthul = fopen(ThulFileName.c_str(), "rb");
+	fhtnod = fopen(TnodFileName.c_str(), "rb");
+	if (fhtnod == 0)	write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TnodFileName.c_str());
 
-		if (fhthul == 0)
-		{
-			write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", ThulFileName.c_str());
-		}
+	fhtnz = fopen(TnzFileName.c_str(), "rb");
+	if (fhtnz == 0)	write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TnzFileName.c_str());
 
-		fhtnxy = fopen(TnxyFileName.c_str(), "rb");
 
-		if (fhtnxy == 0)
-		{
-			write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TnxyFileName.c_str());
-		}
 
-		int Nr = 0;
 
-		// Zuerst kommt scheinbar die Umhüllung aller Knoten
-		// Also auch oder besser gesagt genau der Wächterknoten
-		do
-		{
-			fread(&Nr, sizeof(Nr), 1, fhthul);
-			Swap4Bytes(&Nr);
-		} while (Nr > 0);
+	write_fortschritt("->Laden der Umhüllung gestartet\n");
 
-		// Jetzt die eigentlichen Knoten
+	TXYList Huelle;
 
-		unsigned int AnzHul = 0;
+	int Nr = 0;
 
-		while (1 == fread(&Nr, sizeof(Nr), 1, fhthul))
-		{
-			Swap4Bytes(&Nr);
+	// Zuerst kommt scheinbar die Umhüllung aller Knoten
+	// Also auch oder besser gesagt genau der Wächterknoten
+	do
+	{
+		fread(&Nr, sizeof(Nr), 1, fhthul);
+		Swap4Bytes(&Nr);
+	} while (Nr > 0);
 
-			AnzHul++;
+	// Jetzt die eigentlichen Knoten
 
-			double X = 0.0;
-			double Y = 0.0;
+	unsigned int AnzHul = 0;
 
-			fseek (fhtnxy, (Nr-1) * (sizeof(X) + sizeof (Y)), SEEK_SET);
+	while (1 == fread(&Nr, sizeof(Nr), 1, fhthul))
+	{
+		Swap4Bytes(&Nr);
 
-			if (1 != fread(&X, sizeof(X), 1, fhtnxy) || 1 != fread(&Y, sizeof(Y), 1, fhtnxy))
-            {
-				write_error(8888, "Konnte keine 2 Werte für den Knoten %d lesen\n", Nr);
-            }
+		AnzHul++;
 
-			Swap8Bytes(&X);
-			Swap8Bytes(&Y);
+		double X = 0.0;
+		double Y = 0.0;
 
-			long XL = (long)(X * 100.0 + 0.5);
-			long YL = (long)(Y * 100.0 + 0.5);
+		fseek (fhtnxy, (Nr-1) * (sizeof(X) + sizeof (Y)), SEEK_SET);
 
-			Huelle.Add(XL, YL);
-
-			if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzHul % 100 == 0) || (AnzHul > 0 && AnzHul % 1000 == 0))
-			{
-				write_fortschritt("%d Stütztellen gelesen\n", AnzHul);
-			}
+		if (1 != fread(&X, sizeof(X), 1, fhtnxy) || 1 != fread(&Y, sizeof(Y), 1, fhtnxy))
+		{
+			write_error(8888, "Konnte keine 2 Werte für den Knoten %d lesen\n", Nr);
 		}
 
-		write_fortschritt("%d Stützstellen gelesen\n", AnzHul);
+		Swap8Bytes(&X);
+		Swap8Bytes(&Y);
 
-		fclose(fhtnxy);
-		fclose(fhthul);
+		long XL = (long)(X * 100.0 + 0.5);
+		long YL = (long)(Y * 100.0 + 0.5);
 
-		write_fortschritt("<-Laden der Umhüllung beendet\n");
+		Huelle.Add(XL, YL);
 
-		// SavePolygon("Huelle.shp", &Huelle, 8);
+		if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzHul % 100 == 0) || (AnzHul > 0 && AnzHul % 1000 == 0))
+		{
+			write_fortschritt("%d Stützstellen gelesen\n", AnzHul);
+		}
+	}
 
-		write_fortschritt("->Laden der Knoten gestartet\n");
+	write_fortschritt("%d Stützstellen gelesen\n", AnzHul);
 
-		fhtnxy = fopen(TnxyFileName.c_str(), "rb");
-		fhtnz = fopen(TnzFileName.c_str(), "rb");
+	fclose(fhthul);
 
-		if (fhtnxy == 0)
-		{
-			write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TnxyFileName.c_str());
-		}
+	if (DebugLevel >= 8)
+	{
+		std::string HuelleFileName = ExchangeFileExt(FileName, "_huelle.shp");
+		SavePolygon(HuelleFileName, &Huelle, DebugLevel);
+	}
 
-		if (fhtnz == 0)
-		{
-			write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TnzFileName.c_str());
-		}
+	write_fortschritt("<-Laden der Umhüllung beendet\n");
 
-		int AnzKnoten = 0;
-		int AnzWerte = 0;
 
-		double X = 0.0;
-		double Y = 0.0;
-		float Z = (float)0.0;
 
-		while (1 == fread(&X, sizeof(X), 1, fhtnxy) && fread(&Y, sizeof(Y), 1, fhtnxy) && 1 == fread(&Z, sizeof(Z), 1, fhtnz))
-		{
-			Swap8Bytes(&X);
-			Swap8Bytes(&Y);
-			Swap4Bytes(&Z);
 
-			AnzWerte++;
+	write_fortschritt("->Laden der Elemente gestartet\n");
 
-			if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzWerte % 10000 == 0) || (AnzWerte > 0 && AnzWerte % 100000 == 0))
-			{
-				write_fortschritt("%d Werten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, NodeList->size(), AnzKnoten);
-			}
 
-			if (Z < 1e30 && Z > -1e30)
-			{
-				long XL = (long)(X * 100.0 + 0.5);
-				long YL = (long)(Y * 100.0 + 0.5);
-				int ZI = (long)(Z * 100.0 + 0.5);
+	bool IsSetBegrenzung = false;
+	if (Begrenzung && Begrenzung->size() > 0)	IsSetBegrenzung = true;
 
-				TInsideTyp InsideBegrenzung = INSIDE;
-				if (Begrenzung) InsideBegrenzung = Begrenzung->IsInsideXYList(XL, YL);
-				if (InsideBegrenzung == INSIDE || InsideBegrenzung == ON_LINE)
-				{
-					TInsideTyp InsideHuelle = Huelle.IsInsideXYList(XL, YL);
-    	            if (InsideHuelle != NOT_INSIDE)
-        	        {
-						AnzKnoten++;
+	// Nur so funktioniert später AddWithQuadTree
 
-						TNode *Node = new TNode(AnzWerte, XL, YL, ZI);
-						NodeList->Add(Node);
-                    }
-				}
-			}
-		}
-		write_fortschritt("%d Werten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, NodeList->size(), AnzKnoten);
+	NodeList->CreateQuadTree(Huelle.MinX, Huelle.MinY, Huelle.MaxX, Huelle.MaxY);
 
-		fclose(fhtnxy);
-		fclose(fhtnz);
+	int Nr1 = -1;
+	int Nr2 = -1;
+	int Nr3 = -1;
 
-		write_fortschritt("<-Laden der Knoten beendet\n");
+//	int Ei1 = -1;
+//	int Ei2 = -1;
+//	int Ei3 = -1;
 
-		write_fortschritt("->Laden der Elemente gestartet\n");
+	int AnzElements = 0;
+//	while (1 == fread(&Nr1, sizeof(Nr1), 1, fhtnod) && fread(&Nr2, sizeof(Nr2), 1, fhtnod) && 1 == fread(&Nr3, sizeof(Nr3), 1, fhtnod) && 1 == fread(&Ei1, sizeof(Ei1), 1, fhtedg) && fread(&Ei2, sizeof(Ei2), 1, fhtedg) && 1 == fread(&Ei3, sizeof(Ei3), 1, fhtedg))
+	while (1 == fread(&Nr1, sizeof(Nr1), 1, fhtnod) && fread(&Nr2, sizeof(Nr2), 1, fhtnod) && 1 == fread(&Nr3, sizeof(Nr3), 1, fhtnod))
+	{
+		Swap4Bytes((byte *)&Nr1);
+		Swap4Bytes((byte *)&Nr2);
+		Swap4Bytes((byte *)&Nr3);
+//		Swap4Bytes((byte *)&Ei1);
+//		Swap4Bytes((byte *)&Ei2);
+//		Swap4Bytes((byte *)&Ei3);
 
-		fhtnod = fopen(TnodFileName.c_str(), "rb");
-		fhtedg = fopen(TedgFileName.c_str(), "rb");
+		AnzElements++;
 
-		if (fhtnod == 0)
+		if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzElements % 5000 == 0) || (AnzElements > 0 && AnzElements % 50000 == 0))
 		{
-			write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TnodFileName.c_str());
+			write_fortschritt("%d von %d Elementen im Speicher\n", ElementList->size(), AnzElements);
 		}
 
+/*
+		TTinTyp TinTyp = TTREGULAR;
 
-		if (fhtedg == 0)
+		if (Ei1 < 0)
 		{
-			write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", TedgFileName.c_str());
+			Ei1 = -Ei1;
+			int Typ = Ei1 & 0x40000000;
+
+			if (Typ == 0x00000000)	TinTyp = TTSOFT;
+			else					TinTyp = TTHARD;
 		}
 
+		if (Ei2 < 0)
+		{
+			Ei2 = -Ei2;
+			int Typ = Ei2 & 0x40000000;
 
-		int Nr1 = -1;
-		int Nr2 = -1;
-		int Nr3 = -1;
+			if (Typ == 0x00000000)	TinTyp = TTSOFT;
+			else 					TinTyp = TTHARD;
+		}
 
-		int Ei1 = -1;
-		int Ei2 = -1;
-		int Ei3 = -1;
-
-		int AnzElements = 0;
-		while (1 == fread(&Nr1, sizeof(Nr1), 1, fhtnod) && fread(&Nr2, sizeof(Nr2), 1, fhtnod) && 1 == fread(&Nr3, sizeof(Nr3), 1, fhtnod) && 1 == fread(&Ei1, sizeof(Ei1), 1, fhtedg) && fread(&Ei2, sizeof(Ei2), 1, fhtedg) && 1 == fread(&Ei3, sizeof(Ei3), 1, fhtedg))
-//		while (1 == fread(&Nr1, sizeof(Nr1), 1, fhtnod) && fread(&Nr2, sizeof(Nr2), 1, fhtnod) && 1 == fread(&Nr3, sizeof(Nr3), 1, fhtnod))
+		if (Ei3 < 0)
 		{
-			Swap4Bytes((byte *)&Nr1);
-			Swap4Bytes((byte *)&Nr2);
-			Swap4Bytes((byte *)&Nr3);
-			Swap4Bytes((byte *)&Ei1);
-			Swap4Bytes((byte *)&Ei2);
-			Swap4Bytes((byte *)&Ei3);
+			Ei3 = -Ei3;
+			int Typ = Ei3 & 0x40000000;
 
-			AnzElements++;
+			if (Typ == 0x00000000)	TinTyp = TTSOFT;
+			else					TinTyp = TTHARD;
+		}
+*/
 
-			if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzElements % 10000 == 0) || (AnzElements > 0 && AnzElements % 100000 == 0))
-			{
-				write_fortschritt("%d von %d Elementen im Speicher\n", ElementList->size(), AnzElements);
-			}
+		long X1 = 0;
+		long Y1 = 0;
+		int Z1 = 0;
+		long X2 = 0;
+		long Y2 = 0;
+		int Z2 = 0;
+		long X3 = 0;
+		long Y3 = 0;
+		int Z3 = 0;
 
-			TTinTyp TinTyp = TTREGULAR;
+		if (false == LoadXYZ(fhtnxy, fhtnz, Nr1, &X1, &Y1, &Z1)) continue;
+		if (false == LoadXYZ(fhtnxy, fhtnz, Nr2, &X2, &Y2, &Z2)) continue;
+		if (false == LoadXYZ(fhtnxy, fhtnz, Nr3, &X3, &Y3, &Z3)) continue;
 
-            if (Ei1 < 0)
-            {
-	            Ei1 = -Ei1;
-				int Typ = Ei1 & 0x40000000;
+		long Xm = (long)(X1 / 3.0 + X2 / 3.0 + X3 / 3.0);
+		long Ym = (long)(Y1 / 3.0 + Y2 / 3.0 + Y3 / 3.0);
 
-				if (Typ == 0x00000000)	TinTyp = TTSOFT;
-				else					TinTyp = TTHARD;
-			}
+		TInsideTyp InsideBegrenzung = INSIDE;
+		if (IsSetBegrenzung) InsideBegrenzung = Begrenzung->IsInsideXYList(Xm, Ym);
+		if (InsideBegrenzung == NOT_INSIDE)	continue;
+		TInsideTyp InsideHuelle = Huelle.IsInsideXYList(Xm, Ym);
+		if (InsideHuelle == NOT_INSIDE)	continue;
 
-			if (Ei2 < 0)
-			{
-				Ei2 = -Ei2;
-				int Typ = Ei2 & 0x40000000;
+		TNode *Node1 = NodeList->FindByXY(X1, Y1);
+		if (0 == Node1)
+		{
+			Node1 = new TNode(Nr1, X1, Y1, Z1);
+			NodeList->AddWithQuadTree(Node1);
+		}
 
-				if (Typ == 0x00000000)	TinTyp = TTSOFT;
-				else 					TinTyp = TTHARD;
-			}
+		TNode *Node2 = NodeList->FindByXY(X2, Y2);
+		if (0 == Node2)
+		{
+			Node2 = new TNode(Nr2, X2, Y2, Z2);
+			NodeList->AddWithQuadTree(Node2);
+		}
 
-			if (Ei3 < 0)
-			{
-				Ei3 = -Ei3;
-				int Typ = Ei3 & 0x40000000;
-
-				if (Typ == 0x00000000)	TinTyp = TTSOFT;
-				else					TinTyp = TTHARD;
-			}
-
-			TNode *Node1 = NodeList->FindByNr(Nr1);
-			TNode *Node2 = NodeList->FindByNr(Nr2);
-			TNode *Node3 = NodeList->FindByNr(Nr3);
-
-			if (Node1 && Node2 && Node3)
-			{
-	            long X12 = (Node1->X + Node2->X) / 2;
-    	        long Y12 = (Node1->Y + Node2->Y) / 2;
-        	    long X23 = (Node2->X + Node3->X) / 2;
-            	long Y23 = (Node2->Y + Node3->Y) / 2;
-	            long X31 = (Node3->X + Node1->X) / 2;
-    	        long Y31 = (Node3->Y + Node1->Y) / 2;
-
-				TInsideTyp WhereIs = Huelle.IsInsideXYList(X12, Y12);
-                if (WhereIs == NOT_INSIDE)
-                {
-	                continue;
-                }
-				if (WhereIs != INSIDE)	WhereIs = Huelle.IsInsideXYList(X23, Y23);
-                if (WhereIs == NOT_INSIDE)
-                {
-	                continue;
-                }
-				if (WhereIs != INSIDE)	WhereIs = Huelle.IsInsideXYList(X31, Y31);
-                if (WhereIs == NOT_INSIDE)
-                {
-	                continue;
-                }
-
-				TElement *Element = new TElement(Node1, Node2, Node3);
-				ElementList->Add(Element);
-			}
+		TNode *Node3 = NodeList->FindByXY(X3, Y3);
+		if (0 == Node3)
+		{
+			Node3 = new TNode(Nr3, X3, Y3, Z3);
+			NodeList->AddWithQuadTree(Node3);
 		}
 
-//		fclose(fhtedg);
-		fclose(fhtnod);
+		TElement *Element = new TElement(Node1, Node2, Node3);
+		ElementList->Add(Element);
+	}
 
-		write_fortschritt("%d Werte geladen, %d von %d Elementen im Speicher\n", AnzWerte, ElementList->size(), AnzElements);
+//	fclose(fhtedg);
+	fclose(fhtnxy);
+	fclose(fhtnz);
+	fclose(fhtnod);
 
-		write_fortschritt("<-Laden der Elemente beendet\n");
-	}
-	catch(...)
-	{
-		if (fhtnxy)	fclose(fhtnxy);
-		if (fhtnz)	fclose(fhtnz);
-		if (fhtnod)	fclose(fhtnod);
+	write_fortschritt("%d von %d Elementen im Speicher\n", ElementList->size(), AnzElements);
 
-		write_error(2299, "Es hat einen nicht näher bestimmten Eingabefehler gegeben.\nDer Datenträger könnte beschädigt sein\n");
-	}
+	write_fortschritt("<-Laden der Elemente beendet\n");
 
 	write_fortschritt("<-Laden des DGM in Datei '%s' als TIN beendet\n", FileName.c_str());
 
@@ -1117,13 +1044,64 @@
 	write_fortschritt("%d Elemente und %d Knoten geladen\n", ElementList->size(), NodeList->size());
 	write_fortschritt("%d Knoten insgesamt\n", AnzKnoten);
 
+	if (XyList)
+	{
+		write_fortschritt("->Löschen aussenliegender Kanten gestartet\n");
+
+		int Count = 0;
+		for (TElementList::iterator i=ElementList->begin(); i != ElementList->end(); i++)
+		{
+			TElement *Element = *i;
+
+			TNode* Node1 = Element->Node1;
+			TNode* Node2 = Element->Node2;
+			TNode* Node3 = Element->Node3;
+
+			long X12 = (Node1->X + Node2->X) / 2;
+			long Y12 = (Node1->Y + Node2->Y) / 2;
+
+			if (!XyList->IsInsideXYList(X12, Y12))
+			{
+				Element->Typ = NO_ELEMENT;
+				continue;
+			}
+
+			long X23 = (Node2->X + Node3->X) / 2;
+			long Y23 = (Node2->Y + Node3->Y) / 2;
+
+			if (!XyList->IsInsideXYList(X23, Y23))
+			{
+				Element->Typ = NO_ELEMENT;
+				continue;
+			}
+
+			long X31 = (Node3->X + Node1->X) / 2;
+			long Y31 = (Node3->Y + Node1->Y) / 2;
+
+			if (!XyList->IsInsideXYList(X31, Y31))
+			{
+				Element->Typ = NO_ELEMENT;
+				continue;
+			}
+
+			Count++;
+
+			if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count % 50000 == 0))
+			{
+				write_fortschritt("%d von %d Elementen überprüft\n", Count, ElementList->size());
+			}
+		}
+
+		write_fortschritt("<-Löschen aussenliegender Kanten beendet\n");
+	}
+
 	write_fortschritt("<-Laden des DGM in Datei '%s' als 2DM beendet\n", FileName.c_str());
 
 	return (true);
 }
 
 //---------------------------------------------------------------------
-bool LoadProfile(std::string FileName, TProfilList* ProfilList, double VonKmD, double BisKmD, int DebugLevel)
+bool LoadProfile(std::string FileName, TProfilList* ProfilList, TGewaesserAchseList* GewaesserAchseList, double VonKmD, double BisKmD, int DebugLevel)
 {
 	write_fortschritt("->Laden der Profilspuren gestartet\n");
 
@@ -1334,95 +1312,216 @@
 
 	write_fortschritt("->Ausrichten der Profilspuren gestartet\n");
 
-	TProfil* VorProfil = 0;
-	TProfil* NachProfil = 0;
-	Count = 0;
-	int SwitchCount = 0;
-	TProfilList::iterator i = ProfilList->begin();
-	while (i != ProfilList->end())
+	if (0 == GewaesserAchseList)
 	{
-		Count++;
-
-		if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
+		TProfil* VorProfil = 0;
+		TProfil* NachProfil = 0;
+		Count = 0;
+		int SwitchCount = 0;
+		TProfilList::iterator i = ProfilList->begin();
+		while (i != ProfilList->end())
 		{
-			write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
-		}
+			Count++;
 
-		VorProfil = NachProfil;
-		NachProfil = *i;
+			if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
+			{
+				write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
+			}
 
-		if (VorProfil == 0)
-		{
-			i++;
-			continue;
-		}
+			VorProfil = NachProfil;
+			NachProfil = *i;
 
-		TPoint* VorAnfang = *VorProfil->PointList->begin();
-		TPoint* VorEnde   = *VorProfil->PointList->rbegin();
+			if (VorProfil == 0)
+			{
+				i++;
+				continue;
+			}
 
-		TPoint* NachAnfang = *NachProfil->PointList->begin();
-		TPoint* NachEnde   = *NachProfil->PointList->rbegin();
+			TPoint* VorAnfang = *VorProfil->PointList->begin();
+			TPoint* VorEnde   = *VorProfil->PointList->rbegin();
 
-		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;
+			TPoint* NachAnfang = *NachProfil->PointList->begin();
+			TPoint* NachEnde   = *NachProfil->PointList->rbegin();
 
-		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 / 100.0, VAy / 100.0, NAx / 100.0, NAy / 100.0);
-		}
+			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;
 
-		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 / 100.0, VEy / 100.0, NEx / 100.0, NEy / 100.0);
+			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 / 100.0, VAy / 100.0, NAx / 100.0, NAy / 100.0);
+			}
+
+			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 / 100.0, VEy / 100.0, NEx / 100.0, NEy / 100.0);
+			}
+
+			double X = 0.0;
+			double Y = 0.0;
+			if (Calc2Schnitt(VAx, VAy, NAx, NAy, VEx, VEy, NEx, NEy, &X, &Y))
+			{
+				// Hier ist ein echter Schnittpunkt gefunden
+				// Jetzt muss das NachProfil in seiner Reihenfolge vertauscht werden
+
+				SwitchCount++;
+
+				TProfil* ExChangeProfil = new TProfil(NachProfil->Station);
+				for (TPointList::reverse_iterator j = NachProfil->PointList->rbegin(); j != NachProfil->PointList->rend(); j++)
+				{
+					long X = (long)((*j)->X + 0.5);
+					long Y = (long)((*j)->Y + 0.5);
+
+					ExChangeProfil->AddPoint(X, Y);
+				}
+
+				TPointList* TempPointList = NachProfil->PointList;
+				NachProfil->PointList = ExChangeProfil->PointList;
+				ExChangeProfil->PointList = TempPointList;
+
+				delete ExChangeProfil;
+			}
+			i++;
 		}
-
-		double X = 0.0;
-		double Y = 0.0;
-		if (Calc2Schnitt(VAx, VAy, NAx, NAy, VEx, VEy, NEx, NEy, &X, &Y))
+		write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
+	}
+	else
+	{
+		Count = 0;
+		int SwitchCount = 0;
+		TProfilList::iterator i = ProfilList->begin();
+		while (i != ProfilList->end())
 		{
-			// Hier ist ein echter Schnittpunkt gefunden
-			// Jetzt muss das NachProfil in seiner Reihenfolge vertauscht werden
+			Count++;
 
-			SwitchCount++;
+			if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
+			{
+				write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
+			}
 
-			TProfil* ExChangeProfil = new TProfil(NachProfil->Station);
-			for (TPointList::reverse_iterator j = NachProfil->PointList->rbegin(); j != NachProfil->PointList->rend(); j++)
+			TProfil* Profil = *i;
+
+			bool Found = false;
+			for (TGewaesserAchseList::iterator g=GewaesserAchseList->begin(); g != GewaesserAchseList->end(); g++)
 			{
-				long X = (long)((*j)->X + 0.5);
-				long Y = (long)((*j)->Y + 0.5);
+				TGewaesserAchse* GewaesserAchse	= *g;
 
-				ExChangeProfil->AddPoint(X, Y);
-			}
+				if (Profil->MaxX < GewaesserAchse->MinX)	continue;
+				if (Profil->MinX > GewaesserAchse->MaxX)	continue;
+				if (Profil->MaxY < GewaesserAchse->MinY)	continue;
+				if (Profil->MinY > GewaesserAchse->MaxY)	continue;
 
-			TPointList* TempPointList = NachProfil->PointList;
-            NachProfil->PointList = ExChangeProfil->PointList;
-			ExChangeProfil->PointList = TempPointList;
+				TPoint*	P0 = 0;
+				TPoint*	P1 = 0;
+				for (TPointList::iterator p = Profil->PointList->begin(); p != Profil->PointList->end(); p++)
+				{
+					P0 = P1;
+					P1 = *p;
 
-			delete ExChangeProfil;
+					if (P0 == 0)	continue;
+
+					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;
+
+					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 /	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
+
+					TPoint*S0 = 0;
+					TPoint*S1 = 0;
+					for (TPointList::iterator s = GewaesserAchse->PointList->begin(); s != GewaesserAchse->PointList->end(); s++)
+					{
+						S0 = S1;
+						S1 = *s;
+
+						if (S0 == 0)	continue;
+
+						long S0x = S0->X;
+						long S0y = S0->Y;
+						long S1x = S1->X;
+						long S1y = S1->Y;
+
+						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 / 100.0, S0y / 100.0, S1x /	100.0, S1y / 100.0);
+						}
+
+						double X, Y;
+						Found = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y,	S1x, S1y, &X, &Y);
+
+						if (Found)
+						{
+							// Hier ist ein echter Schnittpunkt gefunden
+							// Jetzt prüfen wo welcher Punkt liegt
+
+							 if (CrossProduct(X, Y, P1x, P1y, S1x, S1y) < 0.0)
+							 {
+								if (DebugLevel >= 9)
+								{
+									write_fortschritt("Profil '%.4f' wurde umgedreht\n", Profil->Station / 10000.0);
+								}
+
+								SwitchCount++;
+
+								TProfil* ExChangeProfil = new TProfil(Profil->Station);
+								for (TPointList::reverse_iterator j = Profil->PointList->rbegin(); j != Profil->PointList->rend(); j++)
+								{
+									long X = (long)((*j)->X + 0.5);
+									long Y = (long)((*j)->Y + 0.5);
+
+									ExChangeProfil->AddPoint(X, Y);
+								}
+
+								TPointList* TempPointList = Profil->PointList;
+								Profil->PointList = ExChangeProfil->PointList;
+								ExChangeProfil->PointList = TempPointList;
+
+								delete ExChangeProfil;
+							}
+							break; // Schnittpunkt gefunden
+						}
+					} // Ende der Iteration über die Punkte der Achse
+					if (Found) break;
+				} // Ende der Iteration über die Punkte eins Profils
+				if (Found) break;
+			} // Ende der Iteration über die Achsen
+			i++;
 		}
-		i++;
+		write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
 	}
-	write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
 
 	write_fortschritt("<-Ausrichten der Profilspuren beendet\n");
 
 
 	write_fortschritt("->Überprüfung der Profilspuren gestartet\n");
 
-	VorProfil = 0;
-	NachProfil = 0;
+	TProfil* VorProfil = 0;
+	TProfil* NachProfil = 0;
 	Count = 0;
-	i = ProfilList->begin();
+	TProfilList::iterator i = ProfilList->begin();
 	while (i != ProfilList->end())
 	{
 		Count++;
@@ -2353,6 +2452,156 @@
 
 	write_fortschritt("<-Laden der Gewässerachsen beendet\n");
 
+	write_fortschritt("->Zusammenführen von Achsensegmenten gestart\n");
+
+	TGewaesserAchseList::iterator FirstAchseIter = GewaesserAchseList->begin();
+	int FirstCount = 0;
+	TGewaesserAchseList::iterator TestAchseIter = FirstAchseIter;
+	int TestCount = FirstCount;
+	Count = 0;
+	while (FirstAchseIter != GewaesserAchseList->end())
+	{
+		Count++;
+
+		TestAchseIter++;
+		TestCount++;
+
+		if (TestAchseIter == GewaesserAchseList->end())
+		{
+			FirstAchseIter++;
+			FirstCount++;
+			TestAchseIter = FirstAchseIter;
+			TestCount = FirstCount;
+			continue;
+		}
+
+		TGewaesserAchse* FirstAchse = *FirstAchseIter;
+		TGewaesserAchse* TestAchse = *TestAchseIter;
+
+		if (DebugLevel >= 9 || (DebugLevel >= 8 && Count % 10 == 0) || Count % 100 == 0)
+		{
+			write_fortschritt("Teste Segment %d (%d) von %d Segmenten mit %d (%d)\n", FirstCount, FirstAchse->PointList->size(), GewaesserAchseList->size(), TestCount, TestAchse->PointList->size());
+		}
+
+		// Point First von FirstAchse (PfFirst) und Point Last von Firstachse(PlFirst)
+		TPoint* PfFirst = *(FirstAchse->PointList->begin());
+		TPoint*PlFirst = *(FirstAchse->PointList->rbegin());
+
+		TPoint*PfTest = *(TestAchse->PointList->begin());
+		TPoint*PlTest = *(TestAchse->PointList->rbegin());
+
+		TXYList* NewXyList = 0;
+
+		double ffDx = PfFirst->X - PfTest->X;
+		double ffDy = PfFirst->Y - PfTest->Y;
+		double flDx = PfFirst->X - PlTest->X;
+		double flDy = PfFirst->Y - PlTest->Y;
+		double llDx = PlFirst->X - PlTest->X;
+		double llDy = PlFirst->Y - PlTest->Y;
+		double lfDx = PlFirst->X - PfTest->X;
+		double lfDy = PlFirst->Y - PfTest->Y;
+
+		if (ffDx * ffDx + ffDy * ffDy < 4)
+		{
+			NewXyList = new TXYList();
+
+			for (TPointList::reverse_iterator i = TestAchse->PointList->rbegin(); i != TestAchse->PointList->rend(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+			for (TPointList::iterator i = FirstAchse->PointList->begin(); i != FirstAchse->PointList->end(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+		}
+		else if (flDx * flDx + flDy * flDy < 4)
+		{
+			NewXyList = new TXYList();
+
+			for (TPointList::iterator i = TestAchse->PointList->begin(); i != TestAchse->PointList->end(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+			for (TPointList::iterator i = FirstAchse->PointList->begin(); i != FirstAchse->PointList->end(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+		}
+		else if (llDx * llDx + llDy * llDy < 4)
+		{
+			NewXyList = new TXYList();
+
+			for (TPointList::iterator i = TestAchse->PointList->begin(); i != TestAchse->PointList->end(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+			for (TPointList::reverse_iterator i = FirstAchse->PointList->rbegin(); i != FirstAchse->PointList->rend(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+		}
+		else if (lfDx * lfDx + lfDy * lfDy < 4)
+		{
+			NewXyList = new TXYList();
+
+			for (TPointList::reverse_iterator i = TestAchse->PointList->rbegin(); i != TestAchse->PointList->rend(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+			for (TPointList::reverse_iterator i = FirstAchse->PointList->rbegin(); i != FirstAchse->PointList->rend(); i++)
+			{
+				TPoint* Point = *i;
+				NewXyList->Add(Point->X, Point->Y);
+			}
+		}
+
+		if (NewXyList)
+		{
+			if (DebugLevel >= 9)	write_fortschritt("Segment %d und %d werden verbunden\n", FirstCount, TestCount);
+
+			// Alte Punkte löschen
+			for (TPointList::iterator i=FirstAchse->PointList->begin();	i != FirstAchse->PointList->end(); i++)
+			{
+				TPoint *Point =	*i;
+
+				delete Point;
+				Point =	0;
+			}
+			delete FirstAchse->PointList;
+			FirstAchse->PointList = 0;
+
+			if (DebugLevel >= 9) write_fortschritt("Neue XYList (%d)\n", NewXyList->size());
+
+			// Neue Punkte hinzufügen
+			for (TXYList::iterator i = NewXyList->begin(); i != NewXyList->end(); i++)
+			{
+				TXY* Xy = *i;
+				FirstAchse->AddPoint(Xy->X, Xy->Y);
+			}
+
+			if (DebugLevel >= 9) write_fortschritt("Neue Anzahl (%d)\n", FirstAchse->PointList->size());
+
+			GewaesserAchseList->erase(TestAchseIter);
+			delete TestAchse;
+
+			FirstAchseIter = GewaesserAchseList->begin();
+			FirstCount = 0;
+			TestAchseIter = FirstAchseIter;
+			TestCount = FirstCount;
+
+			delete NewXyList;
+		}
+	}
+
+	write_fortschritt("<-Zusammenführen von Achsensegmenten beendet\n");
+
 	return (true);
 }
 
@@ -2982,8 +3231,8 @@
 			if (PartSize > OldPartSize)
 			{
 				OldPartSize = PartSize * 2;
-				ps = (int *)SfRealloc(ps, OldPartSize);
-				pt = (int *)SfRealloc(pt, OldPartSize);
+				ps = SfIntRealloc(ps, OldPartSize);
+				pt = SfIntRealloc(pt, OldPartSize);
 			}
 
 			// Alle Punkte und der erste nochmal am Ende
@@ -2992,8 +3241,8 @@
 			{
 				OldPointSize = PointSize * 2;
 
-				x = (double *)SfRealloc(x, OldPointSize);
-				y = (double *)SfRealloc(y, OldPointSize);
+				x = SfDoubleRealloc(x, OldPointSize);
+				y = SfDoubleRealloc(y, OldPointSize);
 			}
 
 			ps[AnzPolyParts-1] = AnzPolyPoints;
@@ -3032,14 +3281,14 @@
 		{
 			DBFWriteDoubleAttribute(DBFHandle, Count, 0, AktDiff / 100.0);
 
-			SHPObject *psShape = (SHPObject *) SfCalloc(1, sizeof(SHPObject));
+			SHPObject *psShape = SfSHPObjectRealloc(0, 1);
 
 			CreatePolygon(psShape, AnzPolyParts, ps, pt, AnzPolyPoints, x, y);
 
 			SHPRewindObject(SHPHandle, psShape);
 			SHPWritePolygon(SHPHandle, psShape);
 
-			free (psShape);
+			SfSHPObjectFree (psShape);
 
 			Count++;
 		}
@@ -3058,10 +3307,10 @@
 		i = PolygonList->begin();
 	}
 
-	free(ps);
-	free(pt);
-	free(x);
-	free(y);
+	SfIntFree(ps);
+	SfIntFree(pt);
+	SfDoubleFree(x);
+	SfDoubleFree(y);
 
 	DBFClose(DBFHandle);
 	SHPClose(SHPHandle);

Modified: trunk/src/file.h
===================================================================
--- trunk/src/file.h	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/file.h	2007-09-02 20:13:20 UTC (rev 92)
@@ -33,7 +33,7 @@
 bool			LoadDGMSHP(std::string FileName, TNodeList *NodeList, TXYList *XyList, int DebugLevel);
 bool			LoadDGM2DM(std::string FileName, TNodeList *NodeList, TElementList *ElementList, TXYList *XyList, int DebugLevel);
 
-bool 			LoadProfile(std::string FileName, TProfilList* ProfilList, double VonKm, double BisKm, int DebugLevel);
+bool 			LoadProfile(std::string FileName, TProfilList* ProfilList, TGewaesserAchseList* GewaesserAchseList, double VonKmD, double BisKmD, int DebugLevel);
 bool 			LoadLinien(std::string FileName, TProfilList* SperrenList, TProfilList* GrabenList, TProfilList* Rohre1List, TProfilList* Rohre2List, int DebugLevel);
 
 bool 			LoadWsp(std::string FileName, TProfilList* ProfilList, std::string Tag, int DebugLevel);

Modified: trunk/src/parameter.cpp
===================================================================
--- trunk/src/parameter.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/parameter.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -65,6 +65,9 @@
 	VonKm = -9999.9;
 	BisKm = +9999.9;
 
+	IsSetDist = false;
+	ProfilDistance = 999999;
+
 	IsSetSaveTri = false;
 	IsSetSave2DM = false;
 	IsSetSaveSol = false;
@@ -72,8 +75,6 @@
 	IsSetAusgabe = false;
 	FileNameAusgabe = "WSPLGEN.SHP";
 
-    IsSetAutoRenumber = false;
-
 	if (argc == 0 || argv == 0)
 	{
 		write_error(1201, "Es wurden keine Parameter übergeben.\nWenigstens die Parameter -DGM=<DGM-Datei>, -PRO=<Profil-Datei> und -WSP=<Wasserstands-Datei>\nmüssen angegeben werden.\n");
@@ -212,11 +213,40 @@
 
 			IsSetStrecke = true;
 
-			if (IsSetVonKm && IsSetBisKm)	write_fortschritt("Strecke: Von = %.2f Bis = %.2f\n", VonKm, BisKm);
-			else if (IsSetVonKm)			write_fortschritt("Strecke: Von = %.2f Bis = <default>\n", VonKm);
-			else if (IsSetBisKm)			write_fortschritt("Strecke: Von = <default> Bis = %.2f\n", BisKm);
-			else							write_fortschritt("Strecke: Von = <default> Bis = <default>\n");
+			if (IsSetVonKm && IsSetBisKm)	write_fortschritt("Strecke: Von = %.3f km, Bis = %.3f km\n", VonKm, BisKm);
+			else if (IsSetVonKm)			write_fortschritt("Strecke: Von = %.3f km, Bis = <default>\n", VonKm);
+			else if (IsSetBisKm)			write_fortschritt("Strecke: Von = <default>, Bis = %.3f km\n", BisKm);
+			else							write_fortschritt("Strecke: Von = <default>, Bis = <default>\n");
 		}
+		else if (Parameter.substr(0, 5) == "-DIST" || Parameter.substr(0, 5) == "-dist")
+		{
+			///////////////////////////////////////////////
+			// DIST
+			///////////////////////////////////////////////
+			if (IsSetDebug) write_fortschritt("Parameter -DIST erkannt.\n");
+
+			if (IsSetDist)
+			{
+				write_warning(1106, "Der Parameter -DIST wurde mehrfach angegeben.\n");
+				continue;
+			}
+
+			if (Parameter.substr(5, 1) != "=")
+			{
+				write_warning(1226, "Es wurden keine Argumente für -DIST übergeben.\nDas Format lautet korrekt -DIST=<Abstand>.\n");
+			}
+
+			double D = 0.0;
+			if (1 != sscanf(Parameter.substr(6).c_str(), "%lf", &D))
+			{
+				write_error(8888, "Das Argumente für -DIST konnte nicht verarbeitet werden.\nDas Format lautet korrekt -DIST=<Abstand>.\n");
+			}
+
+			IsSetDist = true;
+			ProfilDistance = D * 10000 * 100; // Umrechnung von km in Meter und weiter in cm
+
+			write_fortschritt("Gewünschter Abstand der Profile: %.3f km\n", D);
+		}
 		else if (Parameter.substr(0, 8) == "-SAVETRI" || Parameter.substr(0, 8) == "-savetri")
 		{
 			///////////////////////////////////////////////
@@ -552,23 +582,6 @@
 
 			continue;
 		}
-		else if (Parameter.substr(0, 13) == "-AUTORENUMBER" || Parameter.substr(0, 13) == "-autorenumber")
-		{
-			///////////////////////////////////////////////
-			// AUTORENUMBER
-			///////////////////////////////////////////////
-			if (IsSetDebug) write_fortschritt("Parameter -AUTORENUMBER erkannt.\n");
-
-			if (IsSetAutoRenumber)
-			{
-				write_warning(1106, "Der Parameter -AUTORENUMBER wurde mehrfach angegeben.\n");
-				continue;
-			}
-
-			IsSetAutoRenumber = true;
-
-			write_fortschritt("Stationierung der Profile wird an die Spur angepasst\n");
-		}
 		else if (Parameter.substr(0, 8) == "-AUSGABE" || Parameter.substr(0, 8) == "-ausgabe")
 		{
 			if (IsSetDebug) write_fortschritt("Parameter -AUSGABE erkannt.\n");
@@ -680,12 +693,6 @@
 		write_warning(1123, "Parameter -ACHSE wird ignoriert, da der Parameter -GEL den Wert NOSPERRE hat\n");
 	}
 
-	if (false == IsSetAchse && true == IsSetAutoRenumber)
-	{
-		write_warning(1125, "Parameter -AUTORENUMBER wird ignoriert, da keine Gewässerachse angegeben wurde\n");
-        IsSetAutoRenumber = false;
-	}
-
 	write_fortschritt("<-Auswertung der Kommandozeilen-Parameter beendet\n");
 }
 

Modified: trunk/src/parameter.h
===================================================================
--- trunk/src/parameter.h	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/parameter.h	2007-09-02 20:13:20 UTC (rev 92)
@@ -38,6 +38,9 @@
 		bool		IsSetDiff;
 		int			Diff;
 
+		bool		IsSetDist;
+		double		ProfilDistance;
+
 		bool		IsSetGel;
 		bool		Sperre;
 
@@ -74,8 +77,6 @@
 
 		bool		IsSetAusgabe;
 		std::string	FileNameAusgabe;
-
-		bool		IsSetAutoRenumber;
 };
 
 //---------------------------------------------------------------------------

Modified: trunk/src/shape.cpp
===================================================================
--- trunk/src/shape.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/shape.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -68,11 +68,6 @@
 
 #include "tools.h"
 
-
-typedef unsigned char uchar;
-
-typedef int	int32;
-
 #define ByteCopy(a, b, c)	memcpy(b, a, c)
 #define	TRUE				1
 #define	FALSE				0
@@ -131,7 +126,7 @@
     if( bBigEndian ) Swap8Bytes(abyHeader+52);
 
     dValue = psSHP->adBoundsMax[1];
-    ByteCopy( &dValue, abyHeader+60, 8);
+	ByteCopy( &dValue, abyHeader+60, 8);
     if( bBigEndian ) Swap8Bytes(abyHeader+60);
 
     dValue = psSHP->adBoundsMin[2];			/* z */
@@ -169,7 +164,7 @@
 	/* -------------------------------------------------------------------- */
 	/*      Write out the .shx contents.                                    */
 	/* -------------------------------------------------------------------- */
-	panSHX = (int32 *)SfMalloc(sizeof(int32) * 2 * psSHP->nRecords);
+	panSHX = SfIntRealloc(0, 2 * psSHP->nRecords);
 
 	for (int i = 0; i < psSHP->nRecords; i++)
     {
@@ -181,7 +176,7 @@
 
 	fwrite(panSHX, sizeof(int32) * 2, psSHP->nRecords, fpSHX);
 
-	free (panSHX);
+	SfIntFree (panSHX);
 }
 
 /************************************************************************/
@@ -193,8 +188,8 @@
    
 SHPHandle SHPAPI_CALL SHPOpen(const char * pszLayer, const char * pszAccess)
 {
-    char		*pszFullname, *pszBasename;
-    SHPHandle		psSHP;
+	char		*pszFullname, *pszBasename;
+	SHPHandle	psSHP;
     
     uchar		*pabyBuf;
     double		dValue;
@@ -217,7 +212,7 @@
 /* -------------------------------------------------------------------- */
 /*	Initialize the info structure.					*/
 /* -------------------------------------------------------------------- */
-	psSHP = (SHPHandle)SfCalloc(sizeof(SHPInfo), 1);
+	psSHP = SfSHPInfoRealloc(0, 1);
 
 	psSHP->bUpdated = FALSE;
 
@@ -225,7 +220,7 @@
 	/*	Compute the base (layer) name.  If there is any extension	*/
 	/*	on the passed in filename we will strip it off.			*/
 	/* -------------------------------------------------------------------- */
-	pszBasename = (char *) SfMalloc(strlen(pszLayer)+5);
+	pszBasename = (char*)SfByteRealloc(0, strlen(pszLayer)+5);
 	strcpy( pszBasename, pszLayer );
 	int i = strlen(pszBasename)-1;
 	while(i > 0 && pszBasename[i] != '.' && pszBasename[i] != '/' && pszBasename[i] != '\\')
@@ -239,7 +234,7 @@
 	/*	Open the .shp and .shx files.  Note that files pulled from			*/
 	/*	a PC to Unix with upper case filenames won't work!					*/
 	/* -------------------------------------------------------------------- */
-	pszFullname = (char *) SfMalloc(strlen(pszBasename) + 5);
+	pszFullname = (char*)SfByteRealloc(0, strlen(pszBasename) + 5);
 	sprintf( pszFullname, "%s.shp", pszBasename );
 	fpSHP = fopen(pszFullname, pszAccess );
 	if( fpSHP == NULL )
@@ -250,9 +245,9 @@
 
 	if( fpSHP == NULL )
 	{
-		free(psSHP);
-		free(pszBasename);
-		free(pszFullname);
+		SfSHPInfoFree(psSHP);
+		SfByteFree((uchar*)pszBasename);
+		SfByteFree((uchar*)pszFullname);
 		return( NULL );
 	}
 
@@ -268,19 +263,19 @@
     {
 		fclose(fpSHP);
 		fpSHP = 0;
-		free(psSHP);
-		free(pszBasename);
-		free(pszFullname);
+		SfSHPInfoFree(psSHP);
+		SfByteFree((uchar*)pszBasename);
+		SfByteFree((uchar*)pszFullname);
 		return(NULL);
     }
 
-	free(pszFullname);
-	free(pszBasename);
+	SfByteFree((uchar*)pszFullname);
+	SfByteFree((uchar*)pszBasename);
 
 	/* -------------------------------------------------------------------- */
 	/*  Read the file size from the SHP file.				*/
 	/* -------------------------------------------------------------------- */
-	pabyBuf = (uchar *) SfMalloc(100);
+	pabyBuf = SfByteRealloc(0, 100);
 
 	fread(pabyBuf, 100, 1, fpSHP);
 
@@ -297,7 +292,7 @@
 		fpSHP = 0;
 		fclose(fpSHX);
 		fpSHX = 0;
-		free(psSHP);
+		SfSHPInfoFree(psSHP);
 		return(NULL);
 	}
 
@@ -306,14 +301,14 @@
 
 	psSHP->nShapeType = pabyBuf[32];
 
-    if( psSHP->nRecords < 0 || psSHP->nRecords > 256000000 )
+	if( psSHP->nRecords < 0 || psSHP->nRecords > 256000000 )
     {
         /* this header appears to be corrupt.  Give up. */
 		fclose(fpSHP);
 		fpSHP = 0;
 		fclose(fpSHX);
 		fpSHX = 0;
-		free(psSHP);
+		SfSHPInfoFree(psSHP);
 		return(NULL);
 	}
 
@@ -352,7 +347,7 @@
     memcpy( &dValue, pabyBuf+92, 8 );
     psSHP->adBoundsMax[3] = dValue;
 
-    free( pabyBuf );
+	SfByteFree (pabyBuf);
 
 	/* -------------------------------------------------------------------- */
 	/*	Read the .shx file to get the offsets to each record in 			*/
@@ -362,11 +357,11 @@
 
 	if (psSHP->nMaxRecords > 0)
 	{
-		psSHP->panRecOffset = (int *) SfMalloc(sizeof(int) * psSHP->nMaxRecords);
-		psSHP->panRecSize =   (int *) SfMalloc(sizeof(int) * psSHP->nMaxRecords);
-		pabyBuf = (uchar *) SfMalloc(8 * psSHP->nMaxRecords);
+		psSHP->panRecOffset = SfIntRealloc(0, psSHP->nMaxRecords);
+		psSHP->panRecSize =   SfIntRealloc(0, psSHP->nMaxRecords);
+		pabyBuf = SfByteRealloc(0, 8 * psSHP->nMaxRecords);
 
-		fread( pabyBuf, 8, psSHP->nRecords, fpSHX );
+		fread (pabyBuf, 8, psSHP->nRecords, fpSHX);
 
     	for(int i = 0; i < psSHP->nRecords; i++ )
     	{
@@ -382,7 +377,7 @@
 			psSHP->panRecSize[i] = nLength*2;
 	    }
 
-	    free( pabyBuf );
+		SfByteFree (pabyBuf);
     }
 
     return( psSHP );
@@ -413,15 +408,15 @@
 	fclose (fpSHP);
 	fpSHP = 0;
 
-	free (psSHP->panRecOffset);
-    free (psSHP->panRecSize);
+	SfIntFree (psSHP->panRecOffset);
+	SfIntFree (psSHP->panRecSize);
 
-    if (psSHP->pabyRec != NULL)
-    {
-        free (psSHP->pabyRec);
-    }
+	if (psSHP->pabyRec != NULL)
+	{
+		SfByteFree (psSHP->pabyRec);
+	}
 
-    free (psSHP);
+	SfSHPInfoFree (psSHP);
 }
 
 /************************************************************************/
@@ -489,7 +484,7 @@
 /*	Compute the base (layer) name.  If there is any extension			*/
 /*	on the passed in filename we will strip it off.						*/
 /* -------------------------------------------------------------------- */
-	pszBasename = (char *) SfMalloc(strlen(pszLayer)+5);
+	pszBasename = (char*)SfByteRealloc(0, strlen(pszLayer)+5);
 	strcpy (pszBasename, pszLayer);
 	int i = strlen(pszBasename) - 1;
 	while(i > 0 && pszBasename[i] != '.' && pszBasename[i] != '/' && pszBasename[i] != '\\')
@@ -502,7 +497,7 @@
 	/* -------------------------------------------------------------------- */
 	/*      Open the two files so we can write their headers.               */
 	/* -------------------------------------------------------------------- */
-	pszFullname = (char *) SfMalloc(strlen(pszBasename) + 5);
+	pszFullname = (char*)SfByteRealloc(0, strlen(pszBasename) + 5);
 	sprintf( pszFullname, "%s.shp", pszBasename );
     fpSHP = fopen(pszFullname, "wb" );
 	if(fpSHP == NULL) return(NULL);
@@ -511,8 +506,8 @@
 	fpSHX = fopen(pszFullname, "wb" );
 	if(fpSHX == NULL) return(NULL);
 
-	free(pszFullname);
-	free(pszBasename);
+	SfByteFree((uchar*)pszFullname);
+	SfByteFree((uchar*)pszBasename);
 
 /* -------------------------------------------------------------------- */
 /*      Prepare header block for .shp file.                             */
@@ -633,7 +628,7 @@
 	SHPObject	*psObject;
 	int			i, bHasM, bHasZ;
 
-	psObject = (SHPObject *) SfCalloc(1, sizeof(SHPObject));
+	psObject = SfSHPObjectRealloc(0, 1);
 	psObject->nSHPType = nSHPType;
 	psObject->nShapeId = nShapeId;
 
@@ -665,8 +660,8 @@
 		if (nParts > 1)	psObject->nParts = nParts;
 		else			psObject->nParts = 1;
 
-		psObject->panPartStart = (int *)SfMalloc(sizeof(int) * psObject->nParts);
-		psObject->panPartType = (int *)SfMalloc(sizeof(int) * psObject->nParts);
+		psObject->panPartStart = SfIntRealloc(0, psObject->nParts);
+		psObject->panPartType = SfIntRealloc(0, psObject->nParts);
 		psObject->panPartStart[0] = 0;
 		psObject->panPartType[0] = SHPP_RING;
 
@@ -684,10 +679,10 @@
 	/* -------------------------------------------------------------------- */
 	if (nVertices > 0)
 	{
-		psObject->padfX = (double *) SfCalloc(sizeof(double), nVertices);
-		psObject->padfY = (double *) SfCalloc(sizeof(double), nVertices);
-		psObject->padfZ = (double *) SfCalloc(sizeof(double), nVertices);
-		psObject->padfM = (double *) SfCalloc(sizeof(double), nVertices);
+		psObject->padfX = SfDoubleRealloc(0, nVertices);
+		psObject->padfY = SfDoubleRealloc(0, nVertices);
+		psObject->padfZ = SfDoubleRealloc(0, nVertices);
+		psObject->padfM = SfDoubleRealloc(0, nVertices);
 
 		for (int i = 0; i < nVertices; i++)
 		{
@@ -728,8 +723,8 @@
 	if (nNewMaxRecords > psSHP->nMaxRecords)
 	{
 		psSHP->nMaxRecords = nNewMaxRecords;
-		psSHP->panRecOffset = (int *)SfRealloc(psSHP->panRecOffset, sizeof(int) * psSHP->nMaxRecords);
-		psSHP->panRecSize = (int *)SfRealloc(psSHP->panRecSize, sizeof(int) * psSHP->nMaxRecords);
+		psSHP->panRecOffset = SfIntRealloc(psSHP->panRecOffset, psSHP->nMaxRecords);
+		psSHP->panRecSize = SfIntRealloc(psSHP->panRecSize, psSHP->nMaxRecords);
 	}
 }
 
@@ -759,8 +754,8 @@
 	if (psSHP->nRecords + 1 > psSHP->nMaxRecords)
 	{
 		psSHP->nMaxRecords =(int)(psSHP->nMaxRecords * 1.3 + 100);
-		psSHP->panRecOffset = (int *)SfRealloc(psSHP->panRecOffset, sizeof(int) * psSHP->nMaxRecords);
-		psSHP->panRecSize = (int *)SfRealloc(psSHP->panRecSize, sizeof(int) * psSHP->nMaxRecords);
+		psSHP->panRecOffset = SfIntRealloc(psSHP->panRecOffset, psSHP->nMaxRecords);
+		psSHP->panRecSize = SfIntRealloc(psSHP->panRecSize, psSHP->nMaxRecords);
 	}
 
 	nRecordSize = 28;
@@ -852,8 +847,8 @@
 	if (psSHP->nRecords + 1 > psSHP->nMaxRecords)
 	{
 		psSHP->nMaxRecords =(int)(psSHP->nMaxRecords * 1.3 + 100);
-		psSHP->panRecOffset = (int *)SfRealloc(psSHP->panRecOffset, sizeof(int) * psSHP->nMaxRecords);
-		psSHP->panRecSize = (int *)SfRealloc(psSHP->panRecSize, sizeof(int) * psSHP->nMaxRecords);
+		psSHP->panRecOffset = SfIntRealloc(psSHP->panRecOffset, psSHP->nMaxRecords);
+		psSHP->panRecSize = SfIntRealloc(psSHP->panRecSize, psSHP->nMaxRecords);
 	}
 
 	/* -------------------------------------------------------------------- */
@@ -1017,14 +1012,14 @@
 	if (nShapeId == -1 && psSHP->nRecords + 1 > psSHP->nMaxRecords)
 	{
 		psSHP->nMaxRecords =(int)(psSHP->nMaxRecords * 1.3 + 100);
-		psSHP->panRecOffset = (int *)SfRealloc(psSHP->panRecOffset, sizeof(int) * psSHP->nMaxRecords);
-		psSHP->panRecSize = (int *)SfRealloc(psSHP->panRecSize, sizeof(int) * psSHP->nMaxRecords);
+		psSHP->panRecOffset = SfIntRealloc(psSHP->panRecOffset, psSHP->nMaxRecords);
+		psSHP->panRecSize = SfIntRealloc(psSHP->panRecSize, psSHP->nMaxRecords);
 	}
 
 	/* -------------------------------------------------------------------- */
 	/*      Initialize record.                                              */
 	/* -------------------------------------------------------------------- */
-	uchar* pabyRec = (uchar *)SfMalloc(psObject->nVertices * 4 * sizeof(double) + psObject->nParts * 8 + 128);
+	uchar* pabyRec = SfByteRealloc(0, psObject->nVertices * 4 * sizeof(double) + psObject->nParts * 8 + 128);
 
 	/* -------------------------------------------------------------------- */
 	/*  Extract vertices for a Polygon or Arc.								*/
@@ -1098,12 +1093,12 @@
 	/* -------------------------------------------------------------------- */
 	if( fseek(fpSHP, nRecordOffset, 0) != 0 || fwrite(pabyRec, nRecordSize, 1, fpSHP) < 1 )
 	{
-		free(pabyRec);
+		SfByteFree(pabyRec);
 		dump_error(__FILE__, __LINE__, "Error in fseek() or fwrite().\n");
 		return (-1);
 	}
 
-	free(pabyRec);
+	SfByteFree(pabyRec);
 
 	/* -------------------------------------------------------------------- */
 	/*	Expand file wide bounds based on this shape.						*/
@@ -1164,14 +1159,14 @@
 	if (nShapeId == -1 && psSHP->nRecords + 1 > psSHP->nMaxRecords)
 	{
 		psSHP->nMaxRecords =(int)(psSHP->nMaxRecords * 1.3 + 100);
-		psSHP->panRecOffset = (int *)SfRealloc(psSHP->panRecOffset, sizeof(int) * psSHP->nMaxRecords);
-		psSHP->panRecSize = (int *)SfRealloc(psSHP->panRecSize, sizeof(int) * psSHP->nMaxRecords);
+		psSHP->panRecOffset = SfIntRealloc(psSHP->panRecOffset, psSHP->nMaxRecords);
+		psSHP->panRecSize = SfIntRealloc(psSHP->panRecSize, psSHP->nMaxRecords);
 	}
 
 	/* -------------------------------------------------------------------- */
 	/*      Initialize record.                                              */
 	/* -------------------------------------------------------------------- */
-	pabyRec = (uchar *)SfMalloc(psObject->nVertices * 4 * sizeof(double) + psObject->nParts * 8 + 128);
+	pabyRec = SfByteRealloc(0, psObject->nVertices * 4 * sizeof(double) + psObject->nParts * 8 + 128);
 
 	if(psObject->nSHPType == SHPT_POLYGON || psObject->nSHPType == SHPT_POLYGONZ || psObject->nSHPType == SHPT_POLYGONM || psObject->nSHPType == SHPT_ARC || psObject->nSHPType == SHPT_ARCZ || psObject->nSHPType == SHPT_ARCM || psObject->nSHPType == SHPT_MULTIPATCH)
 	{
@@ -1418,12 +1413,12 @@
 	/* -------------------------------------------------------------------- */
 	if( fseek(fpSHP, nRecordOffset, 0) != 0 || fwrite(pabyRec, nRecordSize, 1, fpSHP) < 1 )
     {
-		free(pabyRec);
+		SfByteFree(pabyRec);
 		dump_error(__FILE__, __LINE__, "Error in fseek() or fwrite().\n");
 		return (-1);
     }
     
-	free(pabyRec);
+	SfByteFree(pabyRec);
 
 	/* -------------------------------------------------------------------- */
 	/*	Expand file wide bounds based on this shape.			*/
@@ -1466,16 +1461,15 @@
 /* -------------------------------------------------------------------- */
 /*      Validate the record/entity number.                              */
 /* -------------------------------------------------------------------- */
-	if( hEntity < 0 || hEntity >= psSHP->nRecords )
-		return( NULL );
+	if( hEntity < 0 || hEntity >= psSHP->nRecords )	return( NULL );
 
 /* -------------------------------------------------------------------- */
 /*      Ensure our record buffer is large enough.                       */
 /* -------------------------------------------------------------------- */
 	if( psSHP->panRecSize[hEntity]+8 > psSHP->nBufSize )
 	{
-	psSHP->nBufSize = psSHP->panRecSize[hEntity]+8;
-	psSHP->pabyRec = (uchar *) SfRealloc(psSHP->pabyRec,psSHP->nBufSize);
+		psSHP->nBufSize = psSHP->panRecSize[hEntity]+8;
+		psSHP->pabyRec = SfByteRealloc(psSHP->pabyRec, psSHP->nBufSize);
     }
 
 /* -------------------------------------------------------------------- */
@@ -1487,7 +1481,7 @@
 /* -------------------------------------------------------------------- */
 /*	Allocate and minimally initialize the object.			*/
 /* -------------------------------------------------------------------- */
-    psShape = (SHPObject *) SfCalloc(1,sizeof(SHPObject));
+	psShape = SfSHPObjectRealloc(0, 1);
     psShape->nShapeId = hEntity;
 
     memcpy( &psShape->nSHPType, psSHP->pabyRec + 8, 4 );
@@ -1530,14 +1524,14 @@
 	if( bBigEndian ) Swap4Bytes(&nParts );
 
 	psShape->nVertices = nPoints;
-	psShape->padfX = (double *) SfCalloc(nPoints,sizeof(double));
-	psShape->padfY = (double *) SfCalloc(nPoints,sizeof(double));
-	psShape->padfZ = (double *) SfCalloc(nPoints,sizeof(double));
-	psShape->padfM = (double *) SfCalloc(nPoints,sizeof(double));
+	psShape->padfX = SfDoubleRealloc(0, nPoints);
+	psShape->padfY = SfDoubleRealloc(0, nPoints);
+	psShape->padfZ = SfDoubleRealloc(0, nPoints);
+	psShape->padfM = SfDoubleRealloc(0, nPoints);
 
 	psShape->nParts = nParts;
-	psShape->panPartStart = (int *) SfCalloc(nParts,sizeof(int));
-	psShape->panPartType = (int *) SfCalloc(nParts,sizeof(int));
+	psShape->panPartStart = SfIntRealloc(0, nParts);
+	psShape->panPartType = SfIntRealloc(0, nParts);
 
     for( i = 0; i < nParts; i++ ) psShape->panPartType[i] = SHPP_RING;
 
@@ -1646,10 +1640,10 @@
 	if( bBigEndian ) Swap4Bytes(&nPoints );
 
 	psShape->nVertices = nPoints;
-	psShape->padfX = (double *) SfCalloc(nPoints,sizeof(double));
-	psShape->padfY = (double *) SfCalloc(nPoints,sizeof(double));
-	psShape->padfZ = (double *) SfCalloc(nPoints,sizeof(double));
-	psShape->padfM = (double *) SfCalloc(nPoints,sizeof(double));
+	psShape->padfX = SfDoubleRealloc(0, nPoints);
+	psShape->padfY = SfDoubleRealloc(0, nPoints);
+	psShape->padfZ = SfDoubleRealloc(0, nPoints);
+	psShape->padfM = SfDoubleRealloc(0, nPoints);
 
 	for( i = 0; i < nPoints; i++ )
 	{
@@ -1729,10 +1723,10 @@
         int	nOffset;
         
 	psShape->nVertices = 1;
-	psShape->padfX = (double *) SfCalloc(1,sizeof(double));
-	psShape->padfY = (double *) SfCalloc(1,sizeof(double));
-	psShape->padfZ = (double *) SfCalloc(1,sizeof(double));
-	psShape->padfM = (double *) SfCalloc(1,sizeof(double));
+	psShape->padfX = SfDoubleRealloc(0, 1);
+	psShape->padfY = SfDoubleRealloc(0, 1);
+	psShape->padfZ = SfDoubleRealloc(0, 1);
+	psShape->padfM = SfDoubleRealloc(0, 1);
 
 	memcpy( psShape->padfX, psSHP->pabyRec + 12, 8 );
 	memcpy( psShape->padfY, psSHP->pabyRec + 20, 8 );
@@ -1878,15 +1872,15 @@
 {
 	if( psShape == NULL ) return;
     
-	if( psShape->padfX != NULL )		free( psShape->padfX );
-	if( psShape->padfY != NULL )        free( psShape->padfY );
-	if( psShape->padfZ != NULL )        free( psShape->padfZ );
-	if( psShape->padfM != NULL )        free( psShape->padfM );
+	if( psShape->padfX != NULL )		SfDoubleFree( psShape->padfX );
+	if( psShape->padfY != NULL )        SfDoubleFree( psShape->padfY );
+	if( psShape->padfZ != NULL )        SfDoubleFree( psShape->padfZ );
+	if( psShape->padfM != NULL )        SfDoubleFree( psShape->padfM );
 
-	if( psShape->panPartStart != NULL )        free( psShape->panPartStart );
-	if( psShape->panPartType != NULL )         free( psShape->panPartType );
+	if( psShape->panPartStart != NULL )        SfIntFree( psShape->panPartStart );
+	if( psShape->panPartType != NULL )         SfIntFree( psShape->panPartType );
 
-    free( psShape );
+	SfSHPObjectFree( psShape );
 }
 
 /************************************************************************/
@@ -2150,7 +2144,7 @@
 /*	Compute the base (layer) name.  If there is any extension	*/
 /*	on the passed in filename we will strip it off.			*/
 /* -------------------------------------------------------------------- */
-	pszBasename = (char *) SfMalloc(strlen(pszFilename)+5);
+	pszBasename = (char *) SfByteRealloc(0, strlen(pszFilename)+5);
 	strcpy( pszBasename, pszFilename );
     for( i = strlen(pszBasename)-1; 
 	 i > 0 && pszBasename[i] != '.' && pszBasename[i] != '/'
@@ -2160,10 +2154,10 @@
     if( pszBasename[i] == '.' )
         pszBasename[i] = '\0';
 
-	pszFullname = (char *) SfMalloc(strlen(pszBasename) + 5);
+	pszFullname = (char *) SfByteRealloc(0, strlen(pszBasename) + 5);
 	sprintf( pszFullname, "%s.dbf", pszBasename );
 
-	psDBF = (DBFHandle) SfCalloc( 1, sizeof(DBFInfo) );
+	psDBF = (DBFHandle) SfDBFInfoRealloc(0, 1);
 	psDBF->fp = fopen( pszFullname, pszAccess );
 
 	if( psDBF->fp == NULL )
@@ -2172,61 +2166,60 @@
         psDBF->fp = fopen(pszFullname, pszAccess );
     }
     
-    free( pszBasename );
-    free( pszFullname );
+	SfByteFree( (uchar*)pszBasename );
+	SfByteFree( (uchar*)pszFullname );
     
 	if( psDBF->fp == NULL )
     {
-        free( psDBF );
-        return( NULL );
-    }
+		SfDBFInfoFree( psDBF );
+		return( NULL );
+	}
 
-    psDBF->bNoHeader = FALSE;
+	psDBF->bNoHeader = FALSE;
     psDBF->nCurrentRecord = -1;
     psDBF->bCurrentRecordModified = FALSE;
 
 /* -------------------------------------------------------------------- */
 /*  Read Table Header info                                              */
 /* -------------------------------------------------------------------- */
-	pabyBuf = (unsigned char *) SfMalloc(500);
+	pabyBuf = SfByteRealloc(0, 500);
 	if( fread( pabyBuf, 32, 1, psDBF->fp ) != 1 )
-    {
+	{
 		fclose( psDBF->fp );
-        free( pabyBuf );
-        free( psDBF );
+		SfByteFree( pabyBuf );
+		SfDBFInfoFree( psDBF );
         return NULL;
     }
 
-    psDBF->nRecords = 
-	 pabyBuf[4] + pabyBuf[5]*256 + pabyBuf[6]*256*256 + pabyBuf[7]*256*256*256;
+	psDBF->nRecords = pabyBuf[4] + pabyBuf[5]*256 + pabyBuf[6]*256*256 + pabyBuf[7]*256*256*256;
 
 	psDBF->nHeaderLength = nHeadLen = pabyBuf[8] + pabyBuf[9]*256;
     psDBF->nRecordLength = nRecLen = pabyBuf[10] + pabyBuf[11]*256;
     
     psDBF->nFields = nFields = (nHeadLen - 32) / 32;
 
-	psDBF->pszCurrentRecord = (char *) SfMalloc(nRecLen);
+	psDBF->pszCurrentRecord = (char *) SfByteRealloc(0, nRecLen);
 
 /* -------------------------------------------------------------------- */
 /*  Read in Field Definitions                                           */
 /* -------------------------------------------------------------------- */
     
-    pabyBuf = (unsigned char *) SfRealloc(pabyBuf,nHeadLen);
+	pabyBuf = SfByteRealloc(pabyBuf, nHeadLen);
     psDBF->pszHeader = (char *) pabyBuf;
 
     fseek( psDBF->fp, 32, 0 );
     if( fread( pabyBuf, nHeadLen-32, 1, psDBF->fp ) != 1 )
     {
 		fclose( psDBF->fp );
-        free( pabyBuf );
-        free( psDBF );
+		SfByteFree( pabyBuf );
+		SfDBFInfoFree( psDBF );
         return NULL;
     }
 
-	psDBF->panFieldOffset = (int *) SfMalloc(sizeof(int) * nFields);
-	psDBF->panFieldSize = (int *) SfMalloc(sizeof(int) * nFields);
-	psDBF->panFieldDecimals = (int *) SfMalloc(sizeof(int) * nFields);
-	psDBF->pachFieldType = (char *) SfMalloc(sizeof(char) * nFields);
+	psDBF->panFieldOffset = SfIntRealloc(0, nFields);
+	psDBF->panFieldSize = SfIntRealloc(0, nFields);
+	psDBF->panFieldDecimals = SfIntRealloc(0, nFields);
+	psDBF->pachFieldType = (char *)SfByteRealloc(0, nFields);
 
 	for( iField = 0; iField < nFields; iField++ )
 	{
@@ -2299,20 +2292,20 @@
 
     if( psDBF->panFieldOffset != NULL )
     {
-		free( psDBF->panFieldOffset );
-        free( psDBF->panFieldSize );
-        free( psDBF->panFieldDecimals );
-        free( psDBF->pachFieldType );
+		SfIntFree( psDBF->panFieldOffset );
+		SfIntFree( psDBF->panFieldSize );
+		SfIntFree( psDBF->panFieldDecimals );
+		SfByteFree( (uchar*)psDBF->pachFieldType );
     }
 
-    free( psDBF->pszHeader );
-    free( psDBF->pszCurrentRecord );
+	SfByteFree( (uchar*)psDBF->pszHeader );
+	SfByteFree( (uchar*)psDBF->pszCurrentRecord );
 
-    free( psDBF );
+	SfDBFInfoFree( psDBF );
 
     if( pszStringField != NULL )
 	{
-        free( pszStringField );
+		SfByteFree( (uchar*)pszStringField );
         pszStringField = NULL;
         nStringFieldLen = 0;
     }
@@ -2334,15 +2327,15 @@
 /*	Compute the base (layer) name.  If there is any extension	*/
 /*	on the passed in filename we will strip it off.			*/
 /* -------------------------------------------------------------------- */
-	pszBasename = (char *) SfMalloc(strlen(pszFilename)+5);
+	pszBasename = (char*)SfByteRealloc(0, strlen(pszFilename)+5);
 	strcpy( pszBasename, pszFilename );
 	for( i = strlen(pszBasename)-1; i > 0 && pszBasename[i] != '.' && pszBasename[i] != '/' && pszBasename[i] != '\\'; i-- ) {}
 
 	if( pszBasename[i] == '.' ) pszBasename[i] = '\0';
 
-	pszFullname = (char *) SfMalloc(strlen(pszBasename) + 5);
+	pszFullname = (char *) SfByteRealloc(0, strlen(pszBasename) + 5);
 	sprintf( pszFullname, "%s.dbf", pszBasename );
-	free( pszBasename );
+	SfByteFree( (uchar*)pszBasename );
 
 /* -------------------------------------------------------------------- */
 /*      Create the file.                                                */
@@ -2356,12 +2349,12 @@
 	fp = fopen(pszFullname, "rb+");
 	if (fp == NULL) return(NULL);
 
-	free(pszFullname);
+	SfByteFree((uchar*)pszFullname);
 
 /* -------------------------------------------------------------------- */
 /*	Create the info structure.					*/
 /* -------------------------------------------------------------------- */
-	psDBF = (DBFHandle) SfMalloc(sizeof(DBFInfo));
+	psDBF = SfDBFInfoRealloc(0, 1);
 
 	psDBF->fp = fp;
     psDBF->nRecords = 0;
@@ -2413,10 +2406,10 @@
 /* -------------------------------------------------------------------- */
     psDBF->nFields++;
 
-	psDBF->panFieldOffset = (int *)SfRealloc(psDBF->panFieldOffset, sizeof(int) * psDBF->nFields);
-	psDBF->panFieldSize = (int *)SfRealloc(psDBF->panFieldSize, sizeof(int) * psDBF->nFields);
-	psDBF->panFieldDecimals = (int *)SfRealloc(psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields);
-	psDBF->pachFieldType = (char *)SfRealloc(psDBF->pachFieldType, sizeof(char) * psDBF->nFields);
+	psDBF->panFieldOffset = SfIntRealloc(psDBF->panFieldOffset, psDBF->nFields);
+	psDBF->panFieldSize = SfIntRealloc(psDBF->panFieldSize, psDBF->nFields);
+	psDBF->panFieldDecimals = SfIntRealloc(psDBF->panFieldDecimals, psDBF->nFields);
+	psDBF->pachFieldType = (char *)SfByteRealloc((uchar*)psDBF->pachFieldType, psDBF->nFields);
 
 /* -------------------------------------------------------------------- */
 /*      Assign the new field information fields.                        */
@@ -2436,7 +2429,7 @@
 	psDBF->nHeaderLength += 32;
     psDBF->bUpdated = FALSE;
 
-    psDBF->pszHeader = (char *)SfRealloc(psDBF->pszHeader,psDBF->nFields*32);
+	psDBF->pszHeader = (char *)SfByteRealloc((uchar*)psDBF->pszHeader,psDBF->nFields*32);
 
     pszFInfo = psDBF->pszHeader + 32 * (psDBF->nFields-1);
 
@@ -2461,7 +2454,7 @@
 	/* -------------------------------------------------------------------- */
 	/*      Make the current record buffer appropriately larger.            */
 	/* -------------------------------------------------------------------- */
-    psDBF->pszCurrentRecord = (char *) SfRealloc(psDBF->pszCurrentRecord, psDBF->nRecordLength);
+	psDBF->pszCurrentRecord = (char *) SfByteRealloc((uchar*)psDBF->pszCurrentRecord, psDBF->nRecordLength);
 
     return( psDBF->nFields-1 );
 }
@@ -2517,7 +2510,7 @@
 	if (psDBF->panFieldSize[iField]+1 > nStringFieldLen)
 	{
 		nStringFieldLen = psDBF->panFieldSize[iField]*2 + 10;
-		pszStringField = (char *) SfRealloc(pszStringField,nStringFieldLen);
+		pszStringField = (char *) SfByteRealloc((uchar*)pszStringField,nStringFieldLen);
 	}
 
 	/* -------------------------------------------------------------------- */
@@ -3106,7 +3099,7 @@
 	if ( nTupleLen < psDBF->nRecordLength)
 	{
 		nTupleLen = psDBF->nRecordLength;
-		pReturnTuple = (char *) SfRealloc(pReturnTuple, psDBF->nRecordLength);
+		pReturnTuple = (char *) SfByteRealloc((uchar*)pReturnTuple, psDBF->nRecordLength);
     }
     
     memcpy ( pReturnTuple, pabyRec, psDBF->nRecordLength );
@@ -3127,23 +3120,23 @@
 	newDBF = DBFCreate ( pszFilename );
 	if ( newDBF == NULL ) return ( NULL );
 
-	newDBF->pszHeader = (char *) SfMalloc ( 32 * psDBF->nFields );
+	newDBF->pszHeader = (char *) SfByteRealloc (0, 32 * psDBF->nFields );
 	memcpy ( newDBF->pszHeader, psDBF->pszHeader, 32 * psDBF->nFields );
 
 	newDBF->nFields = psDBF->nFields;
 	newDBF->nRecordLength = psDBF->nRecordLength;
 	newDBF->nHeaderLength = 32 * (psDBF->nFields+1);
 
-	newDBF->panFieldOffset = (int *) SfMalloc ( sizeof(int) * psDBF->nFields );
+	newDBF->panFieldOffset = SfIntRealloc (0, psDBF->nFields );
 	memcpy ( newDBF->panFieldOffset, psDBF->panFieldOffset, sizeof(int) * psDBF->nFields );
 
-	newDBF->panFieldSize = (int *) SfMalloc ( sizeof(int) * psDBF->nFields );
+	newDBF->panFieldSize = SfIntRealloc (0, psDBF->nFields );
 	memcpy ( newDBF->panFieldSize, psDBF->panFieldSize, sizeof(int) * psDBF->nFields );
 
-	newDBF->panFieldDecimals = (int *) SfMalloc ( sizeof(int) * psDBF->nFields );
+	newDBF->panFieldDecimals = SfIntRealloc (0, psDBF->nFields );
 	memcpy ( newDBF->panFieldDecimals, psDBF->panFieldDecimals, sizeof(int) * psDBF->nFields );
 
-	newDBF->pachFieldType = (char *) SfMalloc ( sizeof(int) * psDBF->nFields );
+	newDBF->pachFieldType = (char *) SfByteRealloc (0,  sizeof(int) * psDBF->nFields );
 	memcpy ( newDBF->pachFieldType, psDBF->pachFieldType, sizeof(int) * psDBF->nFields );
 
 	newDBF->bNoHeader = TRUE;

Modified: trunk/src/shape.h
===================================================================
--- trunk/src/shape.h	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/shape.h	2007-09-02 20:13:20 UTC (rev 92)
@@ -98,7 +98,7 @@
 	int         	nBufSize;
 } SHPInfo;
 
-typedef SHPInfo * SHPHandle;
+typedef SHPInfo* 	SHPHandle;
 
 /* -------------------------------------------------------------------- */
 /*      Shape types (nSHPType)                                          */

Modified: trunk/src/test_file.cpp
===================================================================
--- trunk/src/test_file.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/test_file.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -39,6 +39,7 @@
 #define DGM2DMFILE		"test_daten\\dgm.2dm"
 #define PROFILFILE		"test_daten\\profile.shp"
 #define PROFILZFILE		"test_daten\\profilez.shp"
+#define PROFILFILE2		"test_daten\\profile_dreh.shp"
 #define LINIENFILE		"test_daten\\linien.shp"
 #define WSPFILE			"test_daten\\wsp.txt"
 #define WSPFILE2		"test_daten\\wsp.dbf"
@@ -63,6 +64,7 @@
 #define DGM2DMFILE		"test_daten/dgm.2dm"
 #define PROFILFILE		"test_daten/profile.shp"
 #define PROFILZFILE		"test_daten/profilez.shp"
+#define PROFILFILE2		"test_daten/profile_dreh.shp"
 #define LINIENFILE		"test_daten/linien.shp"
 #define WSPFILE			"test_daten/wsp.txt"
 #define WSPFILE2		"test_daten/wsp.dbf"
@@ -128,53 +130,18 @@
 
 		SavePolygone(POLYGONFILE, PolygonList, 9);
 
-		delete PolygonList;
-	}
+		FILE* fh = fopen(POLYGONFILE, "r");
+		unsigned char V;
+		unsigned long CheckSum = 0;
+		while (1 == fread(&V, sizeof(V), 1, fh))
+        {
+			CheckSum = CheckSum + V;
+        }
+        fclose(fh);
 
-	/////////////////////////////////////////////////
-	// Test von Ergebnispolygon schreiben
-	/////////////////////////////////////////////////
+		if (CheckSum != 10322)			printf("Failed\n");
+		else							printf("Pass\n");
 
-	{
-		printf ("Test Ergebnispolygon schreiben:                                      ");
-
-		TErgebnisPolygonList *PolygonList = new TErgebnisPolygonList;
-
-		TErgebnisPolygon* EP1 = new TErgebnisPolygon(0);
-		TXY *XY1 = new TXY(10000, 10000);
-		EP1->Add(XY1);
-		TXY *XY2 = new TXY(30000, 10000);
-		EP1->Add(XY2);
-		TXY *XY3 = new TXY(30000, 30000);
-		EP1->Add(XY3);
-		TXY *XY4 = new TXY(10000, 30000);
-		EP1->Add(XY4);
-		PolygonList->push_back(EP1);
-
-		TErgebnisPolygon* EP2 = new TErgebnisPolygon(0);
-		TXY *XY5 = new TXY(15000, 15000);
-		EP2->Add(XY5);
-		TXY *XY6 = new TXY(25000, 15000);
-		EP2->Add(XY6);
-		TXY *XY7 = new TXY(25000, 25000);
-		EP2->Add(XY7);
-		TXY *XY8 = new TXY(15000, 25000);
-		EP2->Add(XY8);
-		TXY *XY9 = new TXY(20000, 20000);
-		EP2->Add(XY9);
-		PolygonList->push_back(EP2);
-
-		TErgebnisPolygon* EP3 = new TErgebnisPolygon(0);
-		TXY *XY10 = new TXY(45000, 25000);
-		EP3->Add(XY10);
-		TXY *XY11 = new TXY(55000, 25000);
-		EP3->Add(XY11);
-		TXY *XY12 = new TXY(55000, 15000);
-		EP3->Add(XY12);
-		PolygonList->push_back(EP3);
-
-		SavePolygone(POLYGONFILE, PolygonList, 8);
-
 		delete PolygonList;
 	}
 
@@ -249,9 +216,9 @@
 
 		LoadDGM(DGMTINFILE, NodeList, ElementList, XyList, 8);
 
-		if (NodeList->size() != 52)			printf("Failed\n");
-		else if (ElementList->size() != 72)	printf("Failed\n");
-		else								printf("Pass\n");
+		if (NodeList->size() != 71)				printf("Failed\n");
+		else if (ElementList->size() != 110)	printf("Failed\n");
+		else									printf("Pass\n");
 
 		delete XyList;
 		delete NodeList;
@@ -476,7 +443,7 @@
 
 		TProfilList *ProfilList = new TProfilList();
 
-		LoadProfile(PROFILFILE, ProfilList, -9999.9, 9999.9, 8);
+		LoadProfile(PROFILFILE, ProfilList, 0, -9999.9, 9999.9, 8);
 
 		if (ProfilList->size() != 8)	printf("Failed\n");
 		else							printf("Pass\n");
@@ -493,7 +460,7 @@
 
 		TProfilList *ProfilList = new TProfilList();
 
-		LoadProfile(PROFILZFILE, ProfilList, -9999.9, 9999.9, 8);
+		LoadProfile(PROFILZFILE, ProfilList, 0, -9999.9, 9999.9, 8);
 
 		if (ProfilList->size() != 5)	printf("Failed\n");
 		else							printf("Pass\n");
@@ -502,6 +469,28 @@
 	}
 
 	////////////////////////////////////////
+	// Test von Profilspuren laden
+	////////////////////////////////////////
+
+	{
+		printf ("Test Profilspuren laden mit ausrichten:                              ");
+
+		TGewaesserAchseList *AchsenList = new TGewaesserAchseList();
+
+		LoadAchse(ACHSEFILE, AchsenList, 8);
+
+		TProfilList *ProfilList = new TProfilList();
+
+		LoadProfile(PROFILFILE2, ProfilList, AchsenList, -9999.9, 9999.9, 9);
+
+		if (ProfilList->size() != 8)	printf("Failed\n");
+		else							printf("Pass\n");
+
+		delete ProfilList;
+		delete AchsenList;
+	}
+
+	////////////////////////////////////////
 	// Test von Strukturen laden
 	////////////////////////////////////////
 

Modified: trunk/src/test_tools.cpp
===================================================================
--- trunk/src/test_tools.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/test_tools.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -17,8 +17,18 @@
 //----------------------------------------------------------------------------
 #ifdef __BORLANDC__
 #define DGMXYZFILE		"test_daten\\test_buildedgelist.xyz"
+#define DGM2DMFILE		"test_daten\\dgm2.2dm"
+#define PROFILFILE		"test_daten\\profile2.shp"
+#define ACHSEFILE		"test_daten\\achse2.shp"
+#define WSPFILE			"test_daten\\profile2.dbf"
+#define LINIENFILE		"test_daten\\linien2.shp"
 #else
 #define DGMXYZFILE		"test_daten/test_buildedgelist.xyz"
+#define DGM2DMFILE		"test_daten/dgm2.2dm"
+#define PROFILFILE		"test_daten/profile2.shp"
+#define ACHSEFILE		"test_daten/achse2.shp"
+#define WSPFILE			"test_daten/profile2.dbf"
+#define LINIENFILE		"test_daten/linien2.shp"
 #endif
 
 //---------------------------------------------------------------------------
@@ -39,6 +49,70 @@
 	printf ("Test Tools\n");
 
 	////////////////////////////////////////
+	// Test von TransferWsp
+	////////////////////////////////////////
+
+	{
+		printf ("Test TransferWsp:                                                    ");
+
+		TNodeList *NodeList = new TNodeList();
+		TElementList *ElementList = new TElementList();
+		LoadDGM(DGM2DMFILE, NodeList, ElementList, 0, 8);
+
+		TProfilList *ProfilList = new TProfilList();
+		LoadProfile(PROFILFILE, ProfilList, 0, -9999.9, 9999.9, 8);
+
+		TGewaesserAchseList *AchsenList = new TGewaesserAchseList();
+		LoadAchse(ACHSEFILE, AchsenList, 8);
+
+		TProfilList *WspList = new TProfilList();
+		LoadWsp(WSPFILE, WspList, "", 8);
+
+		InterpolateWsp(ProfilList, WspList, 8);
+		delete WspList;
+		WspList = 0;
+
+		TProfilList *SperrenList = new TProfilList();
+		TProfilList *GrabenList = new TProfilList();
+		TProfilList *RohreList = new TProfilList();
+		TProfilList *GradientenList = new TProfilList();
+		LoadLinien(LINIENFILE, SperrenList, GrabenList, RohreList, GradientenList, 8);
+
+		TEdgeList* EdgeList = new TEdgeList;
+		BuildEdgeList(NodeList, ElementList, EdgeList, 8);
+		// Den alten Knoten Kanten Index löschen
+		NodeList->ClearEdgeIndex();
+		// Einen neuen Knoten Kanten Index aufbauen
+		EdgeList->BuildEdgeIndex();
+
+		// Jetzt die Wasserstände der Profile übertragen
+		TransferWsp(ProfilList, NodeList, AchsenList, SperrenList, 8);
+
+
+		int Count = 0;
+		for (TNodeList::iterator i=NodeList->begin(); i != NodeList->end(); i++)
+        {
+			TNode* Node = *i;
+
+            if (Node->Wsp != NoWsp)	Count++;
+        }
+
+		if (Count != 20)	printf("Failed\n");
+		else	   	  		printf("Pass\n");
+
+        delete GradientenList;
+        delete RohreList;
+        delete GrabenList;
+        delete SperrenList;
+		delete ProfilList;
+
+		delete AchsenList;
+		delete EdgeList;
+        delete ElementList;
+        delete NodeList;
+	}
+
+	////////////////////////////////////////
 	// Test von ToUTF8
 	////////////////////////////////////////
 
@@ -323,6 +397,10 @@
 		if (EdgeList->EdgeVector.size() != 29)	printf("Failed\n");
 		else if (WrongOrder)					printf("Failed\n");
 		else									printf("Pass\n");
+
+        delete EdgeList;
+        delete ElementList;
+        delete NodeList;
 	}
 
 	printf ("*************************************************************************\n");

Modified: trunk/src/test_xy.cpp
===================================================================
--- trunk/src/test_xy.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/test_xy.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -415,7 +415,7 @@
 		TXYList *Gebiet = new TXYList();
 
 		LoadGebiet(POLYGONFILE, Gebiet, 8);
-		LoadProfile(PROFILFILE, Profile, -9999.9, 9999.9, 8);
+		LoadProfile(PROFILFILE, Profile, 0, -9999.9, 9999.9, 8);
 
 		TProfil* CutProfil = *Profile->begin();
 

Modified: trunk/src/tools.cpp
===================================================================
--- trunk/src/tools.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/tools.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -16,6 +16,7 @@
 
 //---------------------------------------------------------------------------
 #include <stdexcept>
+#include <map>
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -25,6 +26,9 @@
 #include "tools.h"
 #include "qhull.h"
 
+
+typedef std::map<void*, int > TMemMap;
+
 //---------------------------------------------------------------------------
 extern int ReturnCode;
 extern FILE *fhlog;
@@ -34,6 +38,8 @@
 static char Indent[1000] = "";
 static char UTF8Out[1000] = "";
 
+static TMemMap MemMap;
+
 //---------------------------------------------------------------------------
 //
 // Diese Routine ist für das Abfangen von Zuständen zuständig, die
@@ -270,38 +276,330 @@
 }
 
 //---------------------------------------------------------------------------
-void* SfRealloc(void *Mem, int NewSize)
+int* SfIntRealloc(int *OldMemoryPointer, int Anz)
 {
-	void* MemoryPointer = 0;
-	if (Mem == NULL)	MemoryPointer = malloc(NewSize);
-	else                MemoryPointer = realloc(Mem, NewSize);
+	int* NewMemoryPointer = 0;
 
-	if (0 == MemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+	try
+	{
+		NewMemoryPointer = new int[Anz];
 
-	return (MemoryPointer);
+		if (0 == NewMemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+
+		int NewSize = Anz * sizeof(int);
+
+		memset (NewMemoryPointer, 0, NewSize);
+
+		if (OldMemoryPointer != 0)
+		{
+			int OldSize = MemMap[OldMemoryPointer];
+			if (NewSize < OldSize)	memcpy(NewMemoryPointer, OldMemoryPointer, NewSize);
+			else					memcpy(NewMemoryPointer, OldMemoryPointer, OldSize);
+			MemMap.erase(OldMemoryPointer);
+			delete [] OldMemoryPointer;
+		}
+
+		MemMap[NewMemoryPointer] = NewSize;
+
+		if (MemMap.size() % 10 == 0)
+		{
+			write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+		}
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Reservieren von Arbeitsspeicher gegeben\nVermutlich steht nicht genügend Arbeitsspeicher zur Verfügung\n");
+	}
+
+	return (NewMemoryPointer);
 }
 
 //---------------------------------------------------------------------------
-void* SfMalloc(int Size)
+uchar* SfByteRealloc(uchar *OldMemoryPointer, int Anz)
 {
-	void* MemoryPointer = malloc(Size);
+	uchar* NewMemoryPointer = 0;
 
-	if (0 == MemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+	try
+	{
+		NewMemoryPointer = new uchar[Anz];
 
-	return (MemoryPointer);
+		if (0 == NewMemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+
+		int NewSize = Anz * sizeof(uchar);
+
+		memset (NewMemoryPointer, 0, NewSize);
+
+		if (OldMemoryPointer != 0)
+		{
+			int OldSize = MemMap[OldMemoryPointer];
+			if (NewSize < OldSize)	memcpy(NewMemoryPointer, OldMemoryPointer, NewSize);
+			else					memcpy(NewMemoryPointer, OldMemoryPointer, OldSize);
+			MemMap.erase(OldMemoryPointer);
+			delete [] OldMemoryPointer;
+		}
+
+		MemMap[NewMemoryPointer] = NewSize;
+
+		if (MemMap.size() % 10 == 0)
+		{
+			write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+		}
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Reservieren von Arbeitsspeicher gegeben\nVermutlich steht nicht genügend Arbeitsspeicher zur Verfügung\n");
+	}
+
+	return (NewMemoryPointer);
 }
 
 //---------------------------------------------------------------------------
-void* SfCalloc(int Anz, int Size)
+double* SfDoubleRealloc(double *OldMemoryPointer, int Anz)
 {
-	void* MemoryPointer = calloc(Anz, Size);
+	double* NewMemoryPointer = 0;
 
-	if (0 == MemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+	try
+	{
+		NewMemoryPointer = new double[Anz];
 
-	return (MemoryPointer);
+		if (0 == NewMemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+
+		int NewSize = Anz * sizeof(double);
+
+		memset (NewMemoryPointer, 0, NewSize);
+
+		if (OldMemoryPointer != 0)
+		{
+			int OldSize = MemMap[OldMemoryPointer];
+			if (NewSize < OldSize)	memcpy(NewMemoryPointer, OldMemoryPointer, NewSize);
+			else					memcpy(NewMemoryPointer, OldMemoryPointer, OldSize);
+			MemMap.erase(OldMemoryPointer);
+			delete [] OldMemoryPointer;
+		}
+
+		MemMap[NewMemoryPointer] = NewSize;
+
+		if (MemMap.size() % 10 == 0)
+		{
+			write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+		}
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Reservieren von Arbeitsspeicher gegeben\nVermutlich steht nicht genügend Arbeitsspeicher zur Verfügung\n");
+	}
+
+	return (NewMemoryPointer);
 }
 
 //---------------------------------------------------------------------------
+SHPInfo* SfSHPInfoRealloc(SHPInfo *OldMemoryPointer, int Anz)
+{
+	SHPInfo* NewMemoryPointer = 0;
+
+	try
+	{
+		NewMemoryPointer = new SHPInfo[Anz];
+
+		if (0 == NewMemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+
+		int NewSize = Anz * sizeof(SHPInfo);
+
+		memset (NewMemoryPointer, 0, NewSize);
+
+		if (OldMemoryPointer != 0)
+		{
+			int OldSize = MemMap[OldMemoryPointer];
+			if (NewSize < OldSize)	memcpy(NewMemoryPointer, OldMemoryPointer, NewSize);
+			else					memcpy(NewMemoryPointer, OldMemoryPointer, OldSize);
+			MemMap.erase(OldMemoryPointer);
+			delete [] OldMemoryPointer;
+		}
+
+		MemMap[NewMemoryPointer] = NewSize;
+
+		if (MemMap.size() % 10 == 0)
+		{
+			write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+		}
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Reservieren von Arbeitsspeicher gegeben\nVermutlich steht nicht genügend Arbeitsspeicher zur Verfügung\n");
+	}
+
+	return (NewMemoryPointer);
+}
+
+//---------------------------------------------------------------------------
+SHPObject* SfSHPObjectRealloc(SHPObject *OldMemoryPointer, int Anz)
+{
+	SHPObject* NewMemoryPointer = 0;
+
+	try
+	{
+		NewMemoryPointer = new SHPObject[Anz];
+
+		if (0 == NewMemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+
+		int NewSize = Anz * sizeof(SHPObject);
+
+		memset (NewMemoryPointer, 0, NewSize);
+
+		if (OldMemoryPointer != 0)
+		{
+			int OldSize = MemMap[OldMemoryPointer];
+			if (NewSize < OldSize)	memcpy(NewMemoryPointer, OldMemoryPointer, NewSize);
+			else					memcpy(NewMemoryPointer, OldMemoryPointer, OldSize);
+			MemMap.erase(OldMemoryPointer);
+			delete [] OldMemoryPointer;
+		}
+
+		MemMap[NewMemoryPointer] = NewSize;
+
+		if (MemMap.size() % 10 == 0)
+		{
+			write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+		}
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Reservieren von Arbeitsspeicher gegeben\nVermutlich steht nicht genügend Arbeitsspeicher zur Verfügung\n");
+	}
+
+	return (NewMemoryPointer);
+}
+
+//---------------------------------------------------------------------------
+DBFInfo* SfDBFInfoRealloc(DBFInfo *OldMemoryPointer, int Anz)
+{
+	DBFInfo* NewMemoryPointer = 0;
+
+	try
+	{
+		NewMemoryPointer = new DBFInfo[Anz];
+
+		if (0 == NewMemoryPointer)	write_error(9201, "Es steht nicht genug Arbeitsspeicher zur Verfügung\n");
+
+		int NewSize = Anz * sizeof(DBFInfo);
+
+		memset (NewMemoryPointer, 0, NewSize);
+
+		if (OldMemoryPointer != 0)
+		{
+			int OldSize = MemMap[OldMemoryPointer];
+			if (NewSize < OldSize)	memcpy(NewMemoryPointer, OldMemoryPointer, NewSize);
+			else					memcpy(NewMemoryPointer, OldMemoryPointer, OldSize);
+			MemMap.erase(OldMemoryPointer);
+			delete [] OldMemoryPointer;
+		}
+
+		MemMap[NewMemoryPointer] = NewSize;
+
+		if (MemMap.size() % 10 == 0)
+		{
+			write_fortschritt("%d Speicherblöcke werden verwaltet\n", MemMap.size());
+		}
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Reservieren von Arbeitsspeicher gegeben\nVermutlich steht nicht genügend Arbeitsspeicher zur Verfügung\n");
+	}
+
+	return (NewMemoryPointer);
+}
+
+//---------------------------------------------------------------------------
+void SfIntFree(int* MemoryPointer)
+{
+	try
+	{
+		MemMap.erase(MemoryPointer);
+		delete [] MemoryPointer;
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Freigeben von Arbeitsspeicher gegeben\n");
+	}
+
+}
+
+//---------------------------------------------------------------------------
+void SfByteFree(uchar* MemoryPointer)
+{
+	try
+	{
+		MemMap.erase(MemoryPointer);
+		delete [] MemoryPointer;
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Freigeben von Arbeitsspeicher gegeben\n");
+	}
+
+}
+
+//---------------------------------------------------------------------------
+void SfDoubleFree(double* MemoryPointer)
+{
+	try
+	{
+		MemMap.erase(MemoryPointer);
+		delete [] MemoryPointer;
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Freigeben von Arbeitsspeicher gegeben\n");
+	}
+
+}
+
+//---------------------------------------------------------------------------
+void SfSHPInfoFree(SHPInfo* MemoryPointer)
+{
+	try
+	{
+		MemMap.erase(MemoryPointer);
+		delete [] MemoryPointer;
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Freigeben von Arbeitsspeicher gegeben\n");
+	}
+
+}
+
+//---------------------------------------------------------------------------
+void SfSHPObjectFree(SHPObject* MemoryPointer)
+{
+	try
+	{
+		MemMap.erase(MemoryPointer);
+		delete [] MemoryPointer;
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Freigeben von Arbeitsspeicher gegeben\n");
+	}
+
+}
+
+//---------------------------------------------------------------------------
+void SfDBFInfoFree(DBFInfo* MemoryPointer)
+{
+	try
+	{
+		MemMap.erase(MemoryPointer);
+		delete [] MemoryPointer;
+	}
+	catch(...)
+	{
+		write_error(8888, "Es hat einen unbekannten Fehler beim Freigeben von Arbeitsspeicher gegeben\n");
+	}
+
+}
+
+//---------------------------------------------------------------------------
 void    Swap2Bytes(void *Bytes)
 {
 	byte    Temp;
@@ -972,28 +1270,25 @@
 			}
 		} while (NetChanged);
 
-		if (KnotenGeloescht > 0)
+		int Count = 0;
+		for (TElementList::iterator i = ElementList->begin(); i != ElementList->end(); i++)
 		{
-			int Count = 0;
-			for (TElementList::iterator i = ElementList->begin(); i != ElementList->end(); i++)
+			Count++;
+			if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
 			{
-				Count++;
-				if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
-				{
-					write_fortschritt("%d von %d Elementen, %d Elemente gelöscht\n", Count, ElementList->size(), ElementeGeloescht);
-				}
+				write_fortschritt("%d von %d Elementen, %d Elemente gelöscht\n", Count, ElementList->size(), ElementeGeloescht);
+			}
 
-				TElement *Element = *i;
+			TElement *Element = *i;
 
-				TNode *Node1 = Element->Node1;
-				TNode *Node2 = Element->Node2;
-				TNode *Node3 = Element->Node3;
+			TNode *Node1 = Element->Node1;
+			TNode *Node2 = Element->Node2;
+			TNode *Node3 = Element->Node3;
 
-				if (Node1 == Node2 || Node1 == Node3 || Node2 == Node3)
-				{
-					Element->Typ = NO_ELEMENT;
-					ElementeGeloescht++;
-				}
+			if (Node1 == Node2 || Node1 == Node3 || Node2 == Node3)
+			{
+				Element->Typ = NO_ELEMENT;
+				ElementeGeloescht++;
 			}
 		}
 	}
@@ -1048,7 +1343,7 @@
 	EdgeList->Clear();
 
 	// Erst mal genug Speicher besorgen
-	EdgeList->EdgeVector.reserve((size_t)(NodeList->size() * 2.2 * 2.2));
+	EdgeList->EdgeVector.reserve((size_t)(ElementList->size() * 2.0 + 1.0));
 	write_fortschritt("Kapazität der Kantenliste wurde auf %d erhöht\n", EdgeList->EdgeVector.capacity());
 	TEdge* NewEdge = 0;
 	TEdge* Edge = 0;
@@ -1133,9 +1428,6 @@
 			N3 = Element->Node2;
 		}
 
-		if (N2->Z == NoZ) continue;
-		if (N3->Z == NoZ) continue;
-
 		Edge = EdgeList->FindWithIndex(N2, N3);
 		if (Edge == 0)
 		{
@@ -1161,9 +1453,6 @@
 				N1 = Element->Node3;
 			}
 
-			if (N3->Z == NoZ) continue;
-			if (N1->Z == NoZ) continue;
-
 			Edge = EdgeList->FindWithIndex(N3, N1);
 			if (Edge == 0)
 			{
@@ -1189,9 +1478,6 @@
 				N4 = Element->Node3;
 			}
 
-			if (N3->Z == NoZ) continue;
-			if (N4->Z == NoZ) continue;
-
 			Edge = EdgeList->FindWithIndex(N3, N4);
 			if (Edge == 0)
 			{
@@ -1215,9 +1501,6 @@
 				N1 = Element->Node4;
 			}
 
-			if (N4->Z == NoZ) continue;
-			if (N1->Z == NoZ) continue;
-
 			Edge = EdgeList->FindWithIndex(N4, N1);
 			if (Edge == 0)
 			{
@@ -1275,6 +1558,7 @@
 {
 	write_fortschritt ("->Generierung der Knotenliste aus den Profilspuren gestartet\n");
 
+/*
 	NodeList->SortByXY();
 
 	ProfilNodeList->Clear();
@@ -1452,55 +1736,179 @@
 	}
 	write_fortschritt("%d von %d Profilen, %d Knoten erzeugt\n", Count, ProfilList->size(), NodeNr);
 
+*/
 	write_fortschritt ("<-Generierung der Knotenliste aus den Profilspuren beendet\n");
 }
 
 //---------------------------------------------------------------------------
-void TransferWsp(TNodeList *ProfilNodeList, TNodeList *NodeList, TProfilList* SperrenList, double AvgDistance, int DebugLevel)
+// void TransferWsp(TNodeList *ProfilNodeList, TNodeList *NodeList, TProfilList* SperrenList, double AvgDistance, int DebugLevel)
+void TransferWsp(TProfilList *ProfilList, TNodeList *NodeList, TGewaesserAchseList *GewaesserAchseList, TProfilList* SperrenList, int DebugLevel)
 {
 	write_fortschritt ("->Übertragen der Wasserstände gestartet\n");
 
-	ProfilNodeList->SortByXY();
+	TNodeList* Temp1NodeList = new TNodeList;
+	TNodeList* Temp2NodeList = new TNodeList;
 
 	int WspCount = 0;
 	int Count = 0;
-	for (TNodeList::iterator i = NodeList->begin(); i != NodeList->end(); i++)
+	for (TProfilList::iterator i = ProfilList->begin(); i != ProfilList->end(); i++)
 	{
-		if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 1000 == 0) || (Count > 0 && Count % 10000 == 0))
+		if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 100 == 0) || (Count > 0 && Count % 1000 == 0))
 		{
-			write_fortschritt("%d von %d Knoten getestet, %d Wasserstände übertragen\n", Count, NodeList->size(), WspCount);
+			write_fortschritt("%d von %d Profilen übertragen, %d Wasserstände übertragen\n", Count, ProfilList->size(), WspCount);
 		}
 
-		TNode* Node = *i;
+		TProfil* Profil = *i;
 
-		long X = Node->X;
-		long Y = Node->Y;
+		int Station = Profil->Station;
+		int Wsp = Profil->Wsp;
 
-		int ZDummy = 0;
-		int Wsp = 0;
+		if (Wsp == NoWsp)	continue;
 
-		bool Found = ProfilNodeList->Interpolate(SperrenList, X, Y, AvgDistance, &ZDummy, &Wsp);
+		///////////////////////////////////////////////////////////
+		// Zuerst den Schnittpunkt mit der Gewässerachse finden
+		///////////////////////////////////////////////////////////
 
-		if (Found)
+		double X, Y;
+		bool FoundSchnitt = Profil->CalcSchnitt(GewaesserAchseList, &X, &Y);
+		if (false == FoundSchnitt)
 		{
-			if (Node->Z < Wsp)
-			{
-				Node->Wsp = Wsp;
-				WspCount++;
-			}
-			else
-			{
-				Node->Wsp = NoWsp;
-			}
+			write_error(3206, "Die Gewässerachse schneidet die Profilspur %.4f nicht\n", Station / 10000.0);
 		}
-		else
-		{
-			Node->Wsp = NoWsp;
-		}
-		Count++;
+
+		// Es ist nicht wichtig, wie gross der Startsuchradius ist,
+        // solange er nicht zu gross ist und gleich sehr viele Knozen gefunden werden
+        // 100.0 entspricht 1 m
+		double Radius = 100.0;
+		TNodeList* StartNodeList = 0;
+		do
+        {
+			StartNodeList = NodeList->FindAllByXY(X, Y, Radius);
+            Radius = Radius * 2.0;
+            if (DebugLevel >= 9)	write_fortschritt("Suchradius ist %.1f\n", Radius);
+		} while (StartNodeList->size() == 0);
+
+		///////////////////////////////////////////////////////////
+		// Jetzt den dichtesten Knoten suchen
+		///////////////////////////////////////////////////////////
+
+		TNode* NearestNode = 0;
+        double NearestDistance = 0.0;
+		for (TNodeList::iterator i = StartNodeList->begin(); i != StartNodeList->end(); i++)
+        {
+			TNode* Node = *i;
+
+			// Das sqrt könnte man sich schenken, da es nur darum geht den dichtesten zu finden
+   	    	double Distance = sqrt((X - Node->X) * (X - Node->X) + (Y - Node->Y) * (Y - Node->Y));
+			if (NearestNode == 0 || Distance < NearestDistance)
+           	{
+            	NearestDistance = Distance;
+   	            NearestNode = Node;
+       	    }
+        }
+
+		if (DebugLevel >= 9)
+        {
+        	write_fortschritt("dichtester Knoten zu Profil %.4f: (%ld,%ld)\n", Station / 10000.0, NearestNode->X, NearestNode->Y);
+        }
+
+		if (NearestNode->Z < Wsp)
+        {
+    	    NearestNode->Wsp = Wsp;
+			WspCount++;
+        }
+
+        Temp1NodeList->Add(NearestNode);
+
+        while (Temp1NodeList->size() > 0)
+        {
+			// In Temp1 sind nun alle Nassen Knoten
+            // In Temp2 kommen alle potentiellen nassen Knoten
+
+	        // Jetzt werden alle Knoten hinzugefügt, die nass werden können und deren Kante
+            // zu den bestehenden Knoten nicht gesperrt ist
+
+			for(TNodeList::iterator i = Temp1NodeList->begin(); i != Temp1NodeList->end(); i++)
+    	    {
+				TNode* Node = *i;
+
+				TEdgeIndex *AktEdgeIndex = Node->EdgeIndex;
+				while (AktEdgeIndex)
+				{
+					TEdgeIndex *NextEdgeIndex = AktEdgeIndex->NextEdgeIndex;
+					TEdge *Edge = AktEdgeIndex->Edge;
+
+					bool FoundSperre = false;
+					for (TProfilList::iterator j = SperrenList->begin(); j != SperrenList->end(); j++)
+                    {
+           		       	TProfil* Sperre = *j;
+						if (Sperre->CalcSchnitt(Edge))
+                        {
+							FoundSperre = true;
+                            break;
+                        }
+                    }
+        	        if (false == FoundSperre)
+                    {
+						if (Edge->Node1 == Node && Edge->Node2->Wsp == NoWsp && Edge->Node2->Z < Wsp)
+    	                {
+                    	    Temp2NodeList->Add(Edge->Node2);
+                        }
+						if (Edge->Node2 == Node && Edge->Node1->Wsp == NoWsp && Edge->Node1->Z < Wsp)
+                        {
+                    	    Temp2NodeList->Add(Edge->Node1);
+                        }
+	        	    }
+    	    		AktEdgeIndex = NextEdgeIndex;
+				}
+        	}
+
+            // In Temp2 sind nun alle potentiellen nassen Knoten
+            // In Temp1 kommen jetzt die Knoten die eine Kante haben die das Profil schneidet
+            // damit ist sicher gestellt, dass die Knoten sich noch nicht in der fläche ausbreiten
+
+			Temp1NodeList->clear();
+
+			for(TNodeList::iterator i = Temp2NodeList->begin(); i != Temp2NodeList->end(); i++)
+    	    {
+				TNode* Node = *i;
+
+				TEdgeIndex *AktEdgeIndex = Node->EdgeIndex;
+				while (AktEdgeIndex)
+				{
+					TEdgeIndex *NextEdgeIndex = AktEdgeIndex->NextEdgeIndex;
+					TEdge *Edge = AktEdgeIndex->Edge;
+
+					if (Profil->CalcSchnitt(Edge))
+                    {
+						if (Node->Z < Wsp)
+                        {
+                        	Node->Wsp = Wsp;
+                        	WspCount++;
+                        }
+
+                    	Temp1NodeList->Add(Node);
+                        break;
+	        	    }
+    	    		AktEdgeIndex = NextEdgeIndex;
+				}
+
+	        	if (DebugLevel >= 9)
+                {
+	                write_fortschritt("nasser Knoten bei Profil %.4f: (%ld,%ld)\n", Station / 10000.0, Node->X, Node->Y);
+                }
+        	}
+
+			Temp2NodeList->clear();
+        }
+
+        Count++;
 	}
 	write_fortschritt("%d von %d Knoten getestet, %d Wasserstände übertragen\n", Count, NodeList->size(), WspCount);
 
+	delete Temp1NodeList;
+	delete Temp2NodeList;
+
 	write_fortschritt ("<-Übertragen der Wasserstände beendet\n");
 }
 
@@ -2569,122 +2977,4 @@
 	write_fortschritt("<-Ermittlung der Überschwemmungsgrenzen beendet\n");
 }
 
-//---------------------------------------------------------------------
-TProfilList* Renumber(TProfilList* ProfilList, TGewaesserAchseList *GewaesserAchseList, int DebugLevel)
-{
-	write_fortschritt("->Umnumerierung der Profile gestartet\n");
 
-	TProfilList* NewProfilList = new TProfilList;
-
-	for (TProfilList::iterator i = ProfilList->begin(); i != ProfilList->end(); i++)
-	{
-    	TProfil* Profil = *i;
-
-        TProfil* NewProfil = 0;
-
-		bool FoundSchnitt = false;
-
-		for (TGewaesserAchseList::iterator j = GewaesserAchseList->begin(); j != GewaesserAchseList->end(); j++)
-		{
-			TGewaesserAchse* GewaesserAchse = *j;
-
-			double SpurStation = 0.0;
-			TPoint *S0 = 0;
-			TPoint *S1 = 0;
-			for (TPointList::iterator k = GewaesserAchse->PointList->begin(); k != GewaesserAchse->PointList->end(); k++)
-			{
-				S0 = S1;
-				S1 = *k;
-
-				if (k == GewaesserAchse->PointList->begin())	continue;
-
-				long S0x = S0->X;
-				long S0y = S0->Y;
-				long S1x = S1->X;
-				long S1y = S1->Y;
-
-				long SDx = (S1x - S0x);
-				long SDy = (S1y - S0y);
-
-				if (SDx == 0L && SDy == 0L)
-				{
-					write_warning (8888, "Die Spurpunkte (%ld, %ld) und (%ld, %ld) liegen zu dicht zusammen", S0x, S0y, S1x, S1y);
-					continue;
-				}
-
-				TPoint *P0 = 0;
-				TPoint *P1 = 0;
-        		for (TPointList::iterator m = Profil->PointList->begin(); m != Profil->PointList->end(); m++)
-                {
-					P0 = P1;
-					P1 = *m;
-
-					if (m == Profil->PointList->begin())	continue;
-
-					long P0x = P0->X;
-					long P0y = P0->Y;
-					long P1x = P1->X;
-					long P1y = P1->Y;
-
-					long PDx = P1x - P0x;
-					long PDy = P1y - P0y;
-
-					if (PDx == 0L && PDy == 0L)
-					{
-						write_warning (8888, "Die Profilpunkte (%ld, %ld) und (%ld, %ld) liegen zu dicht zusammen", P0x, P0y, P1x, P1y);
-						continue;
-					}
-
-					double X = 0.0;
-					double Y = 0.0;
-
-					bool Schnitt = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y, S1x, S1y, &X, &Y);
-
-					if (Schnitt == true)
-					{
-						double TDx = S0x - X;
-						double TDy = S0y - Y;
-
-						double TDistance = sqrt(TDx*TDx+TDy*TDy);
-
-						if (DebugLevel >= 8)
-                        {
-							// Länge durch 100 (cm nach m) und Station durch 1000.0 (m nach km)
-                        	write_fortschritt("Profil %.4f wird zu %.4f\n", Profil->Station / 10000.0, (int)(SpurStation + TDistance) / 100.0 / 1000.0);
-                        }
-
-						NewProfil = new TProfil (Profil);
-						NewProfil->Station = (int)((SpurStation + TDistance) / 10.0); // durch von cm nach dm
-
-						FoundSchnitt = true;
-
-                        break;
-					}
-				}
-				if (FoundSchnitt)
-				{
-    		    	break;
-	            }
-                else
-                {
-        	    	double SDistance = sqrt(SDx*SDx+SDy*SDy);
-	        	    SpurStation = SpurStation + SDistance;
-                }
-			}
-			if (FoundSchnitt)
-            {
-	            break;
-            }
-		}
-
-        if (0 == NewProfil)	NewProfil = new TProfil (Profil);
-        NewProfilList->insert(NewProfil);
-	}
-
-	write_fortschritt("<-Umnumerierung der Profile beendet\n");
-
-    delete ProfilList;
-
-    return (NewProfilList);
-}
-

Modified: trunk/src/tools.h
===================================================================
--- trunk/src/tools.h	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/tools.h	2007-09-02 20:13:20 UTC (rev 92)
@@ -21,7 +21,9 @@
 #include "shape.h"
 #include "xy.h"
 
+typedef unsigned char uchar;
 typedef unsigned char byte;
+typedef int	int32;
 
 //---------------------------------------------------------------------------
 struct TFehler
@@ -43,9 +45,25 @@
 void    				Swap2Bytes(void *Bytes);
 void    				Swap4Bytes(void *Bytes);
 void    				Swap8Bytes(void *Bytes);
-void* 					SfRealloc(void *Mem, int NewSize);
-void* 					SfMalloc(int Size);
-void* 					SfCalloc(int Anz, int Size);
+
+DBFInfo* 				SfDBFInfoRealloc(DBFInfo* Mem, int Anz);
+void 					SfDBFInfoFree(DBFInfo* MemoryPointer);
+
+SHPInfo* 				SfSHPInfoRealloc(SHPInfo* Mem, int Anz);
+void 					SfSHPInfoFree(SHPInfo* MemoryPointer);
+
+SHPObject* 				SfSHPObjectRealloc(SHPObject* Mem, int Anz);
+void 					SfSHPObjectFree(SHPObject* MemoryPointer);
+
+int* 					SfIntRealloc(int* Mem, int Anz);
+void 					SfIntFree(int* MemoryPointer);
+
+uchar* 					SfByteRealloc(uchar* Mem, int Anz);
+void 					SfByteFree(uchar* MemoryPointer);
+
+double* 				SfDoubleRealloc(double* Mem, int Anz);
+void 					SfDoubleFree(double* MemoryPointer);
+
 std::string				GetFileExt(std::string FileName);
 std::string				ExchangeFileExt(std::string FileName, std::string Ext);
 std::string				GetFilePath(std::string FileName);
@@ -69,13 +87,13 @@
 void 					CheckForDuplicates(TNodeList *NodeList, TElementList *ElementList, int DebugLevel);
 void 					BuildEdgeList(TNodeList* NodeList, TElementList* ElementList, TEdgeList* EdgeList, int DebugLevel);
 void 					BuildProfilNodeList(TProfilList *ProfilList, TNodeList *NodeList, TGewaesserAchseList *GewaesserAchseList, TProfilList *SperrenList, TNodeList *ProfilNodeList, double AvgDistance, bool Sperre, int DebugLevel);
-void					TransferWsp(TNodeList *ProfilNodeList, TNodeList *NodeList, TProfilList* SperrenList, double AvgDistance, int DebugLevel);
+//void					TransferWsp(TNodeList *ProfilNodeList, TNodeList *NodeList, TProfilList* SperrenList, double AvgDistance, int DebugLevel);
+void 					TransferWsp(TProfilList *ProfilList, TNodeList *NodeList, TGewaesserAchseList *GewaesserAchseList, TProfilList* SperrenList, int DebugLevel);
 void 					TransferWspFromGradient(TProfilList *GradientenList, TNodeList *NodeList, TEdgeList *Temp2EdgeList, double AvgDistance, int DebugLevel);
 void 					TransferWspFromRohr(TProfilList *RohreList, TNodeList *NodeList, TEdgeList *Temp2EdgeList, double AvgDistance, int DebugLevel);
 void 					GetWspFromNodeListToGradient(TNodeList* NodeList, TProfilList* GradientenList, double AvgDistance, int DebugLevel);
 void 					GetWspFromNodeListToRohr(TNodeList* NodeList, TProfilList* RohreList, double AvgDistance, int DebugLevel);
 void 					NassTrockenBerechnung(TNodeList *NodeList, TEdgeList *edgelist, TErgebnisPolygonList* ErgebnisPolygone, TProfilList* RohreList, TProfilList* GradientenList, double AvgDistance, int Von, int Bis, int Diff, int DebugLevel);
-TProfilList* 			Renumber(TProfilList* ProfilList, TGewaesserAchseList *GewaesserAchseList, int DebugLevel);
 
 //---------------------------------------------------------------------------
 template<class TClass> int IsInside(TClass *p, double x, double y)

Modified: trunk/src/wsplgen.cpp
===================================================================
--- trunk/src/wsplgen.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/wsplgen.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -101,10 +101,10 @@
 	// 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;
+	TElementList *ElementList = new TElementList();
 
 	// Hier werden die Gewaesserachsen drin verwaltet
-	TGewaesserAchseList* GewaesserAchseList = new TGewaesserAchseList;
+	TGewaesserAchseList *GewaesserAchseList = new TGewaesserAchseList();
 
 	// Hier drin werden die Ergebnis Polygone drin verwaltet
 	TErgebnisPolygonList *ErgebnisPolygone = new TErgebnisPolygonList();
@@ -115,10 +115,16 @@
 		// Die ausgewerteten Parameter stehen dann in dem Objekt Parameter bereit
 		TParameter Parameter(argc, argv);
 
+		// Jetzt die Gewässerachse einlesen, wenn es notwendig ist
+		if (Parameter.IsSetAchse)
+		{
+			LoadAchse(Parameter.FileNameAchse, GewaesserAchseList, Parameter.DebugLevel);
+		}
+
 		// Jetzt die Profile einlesen
 		// Dabei wird die Stationierung von km in cm umgerechnet
 		// [km] in float nach [cm] in int
-		LoadProfile(Parameter.FileNamePro, ProfilList, Parameter.VonKm, Parameter.BisKm, Parameter.DebugLevel);
+		LoadProfile(Parameter.FileNamePro, ProfilList, GewaesserAchseList, Parameter.VonKm, Parameter.BisKm, Parameter.DebugLevel);
 
 		if (ProfilList->size() < 2)
 		{
@@ -137,21 +143,10 @@
 		InterpolateWsp(ProfilList, WspProfilList, Parameter.DebugLevel);
 
 		delete WspProfilList;
-		WspProfilList = 0; 
+		WspProfilList = 0;
 
-		// Jetzt die Gewässerachse einlesen, wenn es notwendig ist
-		if (Parameter.Sperre || Parameter.IsSetAutoRenumber)
-		{
-			LoadAchse(Parameter.FileNameAchse, GewaesserAchseList, Parameter.DebugLevel);
-		}
+		// if (Parameter.DebugLevel >= 5) SaveProfile("debug_output_02_Profile_ORIGINAL_mit_WSP.shp", &ProfilList, Parameter.DebugLevel);
 
-		// Jetzt die Profile umnummerieren, wenn es notwendig ist
-		if (Parameter.IsSetAutoRenumber)
-		{
-			// In Renumber wird die alte durch eine neue ProfilList ersetzt
-			ProfilList = Renumber(ProfilList, GewaesserAchseList, Parameter.DebugLevel);
-		}
-
 		// Jetzt die Gräben und Dämme und Rohre und Gradienten einlesen, wenn es notwendig ist
 		if (Parameter.IsSetLin)
 		{
@@ -177,13 +172,20 @@
             delete Tmp1BegrenzungsPolygon;
             delete ProfilPolygon;
 		}
-		else
+		else if (Parameter.IsSetStrecke)
 		{
 			BuildPolygon(ProfilList, BegrenzungsPolygon, Parameter.DebugLevel);
 		}
+		else
+		{
+			write_warning(8888, "Da weder der Parameter -GEBIET noch der Parameter -STRECKE angegeben wurden\nwird kein Begrenzungpolygon verwendet\n");
+		}
 
-		std::string PolygonFileName = ExchangeFileExt(Parameter.FileNameAusgabe, "_begrenzungspolygon.shp");
-		SavePolygon(PolygonFileName, BegrenzungsPolygon, Parameter.DebugLevel);
+		if (BegrenzungsPolygon->size() > 2)
+		{
+			std::string PolygonFileName = ExchangeFileExt(Parameter.FileNameAusgabe, "_begrenzungspolygon.shp");
+			SavePolygon(PolygonFileName, BegrenzungsPolygon, Parameter.DebugLevel);
+		}
 
 		LoadDGM(Parameter.FileNameDgm, NodeList, ElementList, BegrenzungsPolygon, Parameter.DebugLevel);
 
@@ -240,38 +242,39 @@
 		// wird sie für die spätere Verwendung zwischengespeichert
 		double AvgDistance = EdgeList->AvgDistance;
 
-		write_fortschritt("Die mittlere Kantenlänge beträgt %.2f.\n", AvgDistance / 100.0);
+		write_fortschritt("Die mittlere Kantenlänge beträgt %.2f m\n", AvgDistance / 100.0);
 
 		// 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 * 2.0);
+		// Der Parameter muss die Einheit cm haben
 
-//		if (ProfilList->size() < 200) ProfilList->InterpoliereProfile(AvgDistance * 4.0);
-//		if (ProfilList->size() < 200) ProfilList->InterpoliereProfile(AvgDistance * 2.0);
-//		if (ProfilList->size() < 200) ProfilList->InterpoliereProfile(AvgDistance * 1.0);
+		if (Parameter.IsSetDist)	ProfilList->InterpoliereProfile(Parameter.ProfilDistance);
+		else                        ProfilList->InterpoliereProfile(AvgDistance * 2.0);
 
 		// Jetzt die Stützstellen auffüllen
-		ProfilList->FillProfile(AvgDistance / 4.0, -1, Parameter.DebugLevel);
+//		ProfilList->FillProfile(AvgDistance / 2.0, -1, Parameter.DebugLevel);
 
 		// Mal wieder Zwischenergebnisse produzieren
 		std::string ProfilFileName = ExchangeFileExt(Parameter.FileNameAusgabe, "_interpolierte_profile.shp");
 		SaveProfile(ProfilFileName, ProfilList, Parameter.DebugLevel);
 
 		// Jetzt eine neue Knotenliste aus den Profilen generienen
-		BuildProfilNodeList(ProfilList, NodeList, GewaesserAchseList, SperrenList, ProfilNodeList, AvgDistance * 2.0, Parameter.Sperre, Parameter.DebugLevel);
+//		BuildProfilNodeList(ProfilList, NodeList, &GewaesserAchseList, SperrenList, ProfilNodeList, AvgDistance * 2.0, Parameter.Sperre, Parameter.DebugLevel);
 
-		write_fortschritt("->Freigeben des Speichers der Gewässerachsen gestartet\n");
-		delete GewaesserAchseList;
-		write_fortschritt("<-Freigeben des Speichers der Gewässerachsen beendet\n");
+		// Mal wieder Zwischenergebnisse produzieren
+//		std::string ProfilKnotenFileName = ExchangeFileExt(Parameter.FileNameAusgabe, "_profilknoten.shp");
+//		SaveNodes(ProfilKnotenFileName, ProfilNodeList, Parameter.DebugLevel);
 
-		std::string ProfilKnotenFileName = ExchangeFileExt(Parameter.FileNameAusgabe, "_profilknoten.shp");
-		SaveNodes(ProfilKnotenFileName, ProfilNodeList, Parameter.DebugLevel);
-
 		// Jetzt die Wasserstände der Profile übertragen
-		TransferWsp(ProfilNodeList, NodeList, SperrenList, AvgDistance / 2.0, Parameter.DebugLevel);
+		TransferWsp(ProfilList, NodeList, GewaesserAchseList, SperrenList, Parameter.DebugLevel);
 
+		write_fortschritt("->Freigeben des Speichers der Gewaesserachse gestartet\n");
+		delete GewaesserAchseList;
+		GewaesserAchseList = 0;
+		write_fortschritt("<-Freigeben des Speichers der Gewaesserachse beendet\n");
+
 		write_fortschritt("->Freigeben des Speichers der Dämme gestartet\n");
 		delete SperrenList;
 		SperrenList = 0;

Modified: trunk/src/wsplgen.h
===================================================================
--- trunk/src/wsplgen.h	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/wsplgen.h	2007-09-02 20:13:20 UTC (rev 92)
@@ -10,10 +10,36 @@
 // Read the file COPYING coming with WSPLGEN for details.
 //
 
-const char Version[] = "1.1.2";
+const char Version[] = "1.1.4";
 
-// Parameter AUTORENUMBER wurde eingeführt
+// Diese Version Verwendet keine aufgefüllten Profilpüunkte und auch keine
+// generierten Profilknoten mehr (schneller und weniger Speicher und sicherer)
 
+// const char Version[] = "1.1.3";
+
+// Der Speicherplatzbedarf für die Kanten wurde jetzt genauer berechnet
+// statt Knoten * 2.2 * 2.2 jetzt Elemente * 2 + 1
+// Da Elemente = Knoten * 2 + 1
+// Cave !!! Das funktioniert nur bei zusammenhängenden Netzen
+
+// Die Huelle wird jetzt beim Laden von TINs korrekt ausgewertet
+
+// Die Ausgabe beim Laden von TINs wurde verbessert
+
+// Die Speicherverwaltung der Shapes wurde komplett überarbeitet.
+
+// Es wird jetzt keine Begrenzung verwendet,
+// wenn weder -GEBIET noch -STRECKE angegeben wird
+
+// const char Version[] = "1.1.2";
+
+// Die Ausrichtung der Profile benutzt jetzt die Gewässerachse falls angegeben.
+// Dieses Verfahren ist deutlich sicherer
+
+// Gewässerachsensegmenten werden zun gleich nach dem Einladen zusammengefasst,
+// das ermöglicht auch eine sinnvolle Umnummerierung, Interpolation und Ausrichtung von Profilen
+// mit Hilfe der Gewässerachse
+
 // const char Version[] = "1.1.1";
 
 // 2DM-Netze werden vor dem Speichern umnumeriert

Modified: trunk/src/xy.cpp
===================================================================
--- trunk/src/xy.cpp	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/xy.cpp	2007-09-02 20:13:20 UTC (rev 92)
@@ -819,9 +819,12 @@
 	clear();
 
 	MaxNr =	-1;
-	MinX = 0;
+
+	// Die Minima und Maxima werden falsch belegt, damit Add erkennen kann, ob
+	// die Maxima und Minima schon definiert wurden
+	MinX = 1;
 	MaxX = 0;
-	MinY = 0;
+	MinY = 1;
 	MaxY = 0;
 	DiffX =	0;
 	DiffY =	0;
@@ -851,6 +854,16 @@
 }
 
 //---------------------------------------------------------------------
+void TNodeList::CreateQuadTree(long minX, long minY, long maxX, long maxY)
+{
+	QuadTree = new TQuadTree<TNodeList, TNode>();
+	MinX = minX;
+	MinY = minY;
+	MaxX = maxX;
+	MaxY = maxY;
+}
+
+//---------------------------------------------------------------------
 void TNodeList::Add(TNode *Node)
 {
 	if (capacity() < size()	+ 1)
@@ -861,7 +874,7 @@
 
 	push_back(Node);
 
-	if (size() == 1)
+	if (MinX > MaxX || MinY > MaxY)
 	{
 		MaxNr =	Node->Nr;
 		MinX = Node->X;
@@ -2405,6 +2418,10 @@
 
 	PointList->insert(NewPoint);
 
+	// Wenn	sich die Anzahl	nicht erhöht hat,
+	// so wurde der	Punkt auch nicht hinzugefügt
+	// -> er muss wieder gelöscht werden
+
 	if (PointList->size() == 1)
 	{
 		MinX = NewPoint->X;
@@ -2584,7 +2601,7 @@
 }
 
 //---------------------------------------------------------------------------
-int TProfil::CalcSchnitt(TGewaesserAchseList *GewaesserAchseList)
+bool TProfil::CalcSchnitt(TGewaesserAchseList *GewaesserAchseList, double* X, double* Y)
 {
 	for (TGewaesserAchseList::iterator g=GewaesserAchseList->begin(); g != GewaesserAchseList->end(); g++)
 	{
@@ -2656,25 +2673,72 @@
 					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;
-				bool Found = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y,	S1x, S1y, &X, &Y);
+				bool Found = Calc2Schnitt(P0x, P0y, P1x, P1y, S0x, S0y,	S1x, S1y, X, Y);
 
-				if (Found)
-				{
-					int Meter = (P0->Meter + P1->Meter) / 2;
-
-					return (Meter);
-				}
+				if (Found)	return (true);
 			}
 		}
 	}
 
-	// Das ist ein wenig gefährlich
-	// Eigentlich sollte es	keine negativen	Meter geben
-	// Daher bedeutet -1.0 nicht gefunden
-	return (-1);
+	return (false);
 }
 
+//---------------------------------------------------------------------------
+bool TProfil::CalcSchnitt(TEdge* Edge)
+{
+	TPoint*	P0 = 0;
+	TPoint*	P1 = 0;
+	for (TPointList::iterator p = PointList->begin(); p != PointList->end(); p++)
+	{
+		if (P1 == 0)
+		{
+			P1 = *p;
+			continue;
+		}
+		else
+		{
+			P0 = P1;
+			P1 = *p;
+		}
+
+		long P0x = P0->X;
+		long P0y = P0->Y;
+		long P1x = P1->X;
+		long P1y = P1->Y;
+
+		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 /	100.0, P0y / 100.0, P1x	/ 100.0, P1y / 100.0);
+		}
+
+		// Es heisst hier N für	Node und nicht e für edge
+
+		TNode* N0 = Edge->Node1;
+		TNode* N1 = Edge->Node2;
+
+		long N0x = N0->X;
+		long N0y = N0->Y;
+		long N1x = N1->X;
+		long N1y = N1->Y;
+
+		long NDx = N1x - N0x;
+		long NDy = N1y - N0y;
+		if (NDx	== 0 &&	NDy == 0)
+		{
+			write_error(8888, "Kanten-Knotenabstand (%.3f %.3f) - (%.3f %.3f) ist zu klein\n",	N0x / 100.0, N0y / 100.0, N1x /	100.0, N1y / 100.0);
+		}
+
+		double X, Y;
+		bool Found = Calc2Schnitt(P0x, P0y, P1x, P1y, N0x, N0y,	N1x, N1y, &X, &Y);
+
+		if (Found)	return (true);
+	}
+
+	return (false);
+}
+
 //---------------------------------------------------------------------
 // TProfilList
 //---------------------------------------------------------------------
@@ -2730,7 +2794,7 @@
 
 	SollAbstand = SollAbstand / 100.0;
 
-	write_fortschritt("Gewünschter Abstand der Profile: %.4f\n", SollAbstand);
+	write_fortschritt("Gewünschter Abstand der Profile: %.1f m\n", SollAbstand);
 
 	TProfil	*FirstProfil = 0;
 	TProfil	*NextProfil = 0;
@@ -2832,17 +2896,11 @@
 		TPoint*	NextPoint = 0;
 		for (TPointList::iterator j = Profil->PointList->begin(); j != Profil->PointList->end(); j++)
 		{
-			if (NextPoint == 0)
-			{
-				NextPoint = *j;
-				continue;
-			}
-			else
-			{
-				FirstPoint = NextPoint;
-				NextPoint = *j;
-			}
+			FirstPoint = NextPoint;
+			NextPoint = *j;
 
+			if (FirstPoint == 0)	continue;
+
 			double Diff = NextPoint->Meter - FirstPoint->Meter;
 
 
@@ -2867,7 +2925,7 @@
 			if (Anz	>= 1)
 			{
 				// Jetzt wieder	von vorne
-				j = Profil->PointList->begin();
+				j = Profil->PointList->find(FirstPoint);
 				FirstPoint = 0;
 				NextPoint = 0;
 			}
@@ -2982,12 +3040,9 @@
 	TPointList::iterator i = PointList->begin();
 
 	TPoint *LastPoint = 0;
-	while (i != PointList->end())
-	{
-		LastPoint = *i;
-		i++;
-	}
 
+	if (PointList->size() > 0)	LastPoint = *PointList->rbegin();
+
 	double MeterD =	0.0;
 
 	if (LastPoint)
@@ -3002,18 +3057,30 @@
 		double D = sqrt(Dx * Dx	+ Dy * Dy);
 
 		MeterD = M + D;
+
+		if (D == 0)	return;	// Den Punkt hatten wir schon
 	}
 
 	int Meter = (int)(MeterD + 0.5);
 	
 	TPoint*	NewPoint = new TPoint(x, y, z, Meter);
 
+	unsigned int Anz = PointList->size();
+
 	PointList->insert(NewPoint);
 
-	if (MinX > NewPoint->X)	MinX = NewPoint->X;
-	if (MaxX < NewPoint->X)	MaxX = NewPoint->X;
-	if (MinY > NewPoint->Y)	MinY = NewPoint->Y;
-	if (MaxY < NewPoint->Y)	MaxY = NewPoint->Y;
+	if (Anz == PointList->size())
+	{
+		delete NewPoint;
+		NewPoint = 0;
+	}
+	else
+	{
+		if (MinX > NewPoint->X)	MinX = NewPoint->X;
+		if (MaxX < NewPoint->X)	MaxX = NewPoint->X;
+		if (MinY > NewPoint->Y)	MinY = NewPoint->Y;
+		if (MaxY < NewPoint->Y)	MaxY = NewPoint->Y;
+	}
 }
 
 //---------------------------------------------------------------------

Modified: trunk/src/xy.h
===================================================================
--- trunk/src/xy.h	2007-07-18 21:27:05 UTC (rev 91)
+++ trunk/src/xy.h	2007-09-02 20:13:20 UTC (rev 92)
@@ -234,6 +234,7 @@
 		void 				Clear(void);
 		TNodeList* 			Copy(void);
 
+		void				CreateQuadTree(long MinX, long MinY, long MaxX, long MaxY);
 		void 				Add(TNode *Node);
 		bool 				AddWithQuadTree(TNode *Node);
 		void				SortByXY(void);
@@ -371,7 +372,8 @@
 		bool			GetXY(int Meter, long *X, long *Y);
 		void 			EqualizeProfil(TProfil *Profil);
 		void			InterpolateProfil(TProfil *VorProfil, TProfil *NachProfil, double Prozent);
-		int				CalcSchnitt(TGewaesserAchseList *GewaesserAchseList);
+		bool			CalcSchnitt(TGewaesserAchseList *GewaesserAchseList, double* X, double *Y);
+		bool			CalcSchnitt(TEdge *Edge);
 		double  		Length(TPoint *Point1, TPoint *Point2);
 		double  		Length(long X1, long Y1, long X2, long Y2);
 		TPoint*			FindNearest(long X, long Y);
@@ -411,6 +413,7 @@
 class TGewaesserAchse
 {
 	public:
+//		int				ID;
 
 		long		 	MinX;
 		long		 	MaxX;



More information about the Wsplgen-commits mailing list