Einlesen von Punkten mit Liniencodierung

Im Werkzeug Punkte >> Einlesen können durch individuelle Eingabeformate neben den reinen Punktinformationen auch Liniencodierungen aus einer Punktdatei mit eingelesen werden. GEOgraf erzeugt daraus automatisch Linienzüge.

Anforderungen an die Eingabedatei

Die Liniencodierung in der Koordinatendatei muss in " " hinter der Punktinformation stehen. Die Liniencodierung besteht aus einer Aufzählung von je einem einstelligen Verbindungstyp und einer einstelligen Linienzugnummer. Der Verbindungstyp gibt an, welche Bedeutung ein Punkt für den Linienzug hat. Der Verbindungstyp muss jeweils vor der Linienzugnummer stehen.

Es können also bis zu 10 Linienzüge gleichzeitig offen sein, welche durch einstellige Ziffern von 0 bis 9 gekennzeichnet werden.

Liniencodierung für LC1

Die Verbindungstypen werden mit folgenden Buchstaben angegeben:

A

Anfangspunkt

Z

Zwischenpunkt (optional muss nicht erfasst werden)

B

Bogenpunkt auf Kreisbogen (A-B-E)

K

Bogenpunkt auf Vollkreis (A-K-E)

E

Endpunkt

F

Endpunkt, wenn der Linienzug geschlossen werden soll

G

Endpunkt, wenn der Linienzug als Gebäude geschlossen werden soll

Der Verbindungstyp gibt an, welche Bedeutung ein Punkt für den Linienzug hat.

Ein Linienanfangspunkt (A) muss nur dann codiert werden, wenn bereits eine Linie mit gleicher Nummer erfasst wurde, und nicht mit einem Linienendpunkt geschlossen wurde.

Ein Bogen besteht immer aus 3 Punkten, wobei nur der mittlere Bogenpunkt als Bogenpunkt (B) erfasst werden muss.

Ein Vollkreis besteht immer aus 3 Punkten, wobei nur der mittlere Punkt als Kreisbogenpunkt (K) erfasst werden muss. Der Kreismittelpunkt wird von GEOgraf automatisch erzeugt.

Ein Linienendpunkt ist nur dann zu erfassen, wenn der Linienzug auf den Anfangspunkt geschlossen werden soll (F), ansonsten kann eine Linie auch abgeschlossen werden, indem zur gleichen Liniennummer wieder ein Linienanfangspunkt (A) erfasst wird.

Wenn der Linienzug als Gebäude geschlossen werden soll (G), so werden parallel zu den beiden vorhandenen Linien an den Linienzugenden zwei Linien und der fehlende Schnittpunkt dieser beiden erzeugt. Dazu wird am Anfangspunkt des Linienzuges eine Linie parallel zur letzen Polygonlinie angehängt, und an den Endpunkt des Linienzuges eine Linie parallel zum ersten Polygonteilstück angehängt. Der Schnittpunkt dieser beiden wird gleichzeitig neu erzeugt und erhält die nächste freie Punktnummer.

Liniencodierung für LC2

Die Verbindungstypen werden mit folgenden Ziffern angegeben:

1

Anfangspunkt (muss zwingend erfasst werden)

2

Zwischenpunkt (muss zwingend erfasst werden)

3

Bogenpunkt auf Kreisbogen (A-B-E)

4

Bogenpunkt auf Vollkreis (A-K-E)

7

Endpunkt

8

Endpunkt, wenn der Linienzug geschlossen werden soll

9

Endpunkt, wenn der Linienzug als Gebäude geschlossen werden soll

Im Format LC2 muss der Verbindungstyp immer erfasst werden, da sonst Punkte aus mehreren Linienzügen nicht eindeutig sind. Beispielsweise bedeutet "2B6" im Format LC1, dass der Punkt Zwischenpunkt in Linienzug 2 und Bogenpunkt in Linienzug 6 ist. Im Format LC2 wäre "236" nicht eindeutig, daher muss "2236" geschrieben werden.  

Definition in der Steuerdatei geograf.ini

Im Abschnitt [Eingabe.Punkt] in der geograf.ini geben Sie die individuellen Eingabeformate für Punktdateien an. Hier kann ein Format mit Liniencodierung angelegt werden (siehe Eingabeparameter). Die Liniencodierung in der Koordinatendatei wird in der Format-Zeile mit dem Text \"&LC1()\" bzw. \"&LC2()\" angegeben. Dabei steht LC1 für die Angabe der Verbindungstypen mit Buchstaben und LC2 für die Angabe der Verbindungstypen mit Ziffern. Bei Formaten mit Trennzeichen genügt die Angabe &LC1() bzw. &LC2().

Beispiel:

Datei:   

  1000    4  52300.00  24700.00 100.0 "A1"

  1010  150  52370.00  24780.00 "1"

  1020  150  52210.00  24650.00 "E1"

entsprechende Format-Zeile:

Format=NrArtRHZLinie, "&PN() &POSKA() &PR() &PH() &PZ() \"&LC1()\""

 

Datei:   

  1000    4  52300.00  24700.00 100.0 "11"

  1010  150  52370.00  24780.00 "1"

  1020  150  52210.00  24650.00 "71"

entsprechende Format-Zeile:

Format=NrArtRHZLinie, "&PN() &POSKA() &PR() &PH() &PZ() \"&LC2()\""

 

Datei:

  1000,4,52300.00,24700.00,100.0,1

  1010,150,52370.00,24780.00,,1

  1020,150,52210.00,24650.00,,E1

entsprechendes Format:

Format=getrenntLin,"&PN() &POSKA() &PR() &PH() &PZ() &LC1()", ","

 

Sie können unterschiedliche Linienarten in einer Datei erfassen. Bei der Interpretation der Liniencodierung aus der Koordinatendatei wird eine Zuordnung von Punktarten zu Linienarten durchgeführt. Dazu sind im Abschnitt [Eingabe.Punkt] jeweils Zeilen mit dem Kommando LArt in folgender Syntax zu schreiben:

LArt=<PArten>,<LinArt>

mit <PArten>: Artenbereichsauswahl der Punktarten mit Liniencodierung  (vgl. Was)

<LinArt>: Linienart als Arten-Oska (vgl. GGOska (GEOgraf-Katalogschlüssel))

Die Zeilen LArt müssen nach den Format-Zeilen stehen. Die Linienart wird aus der Punktart des Endpunktes der Linie abgeleitet. Sind keine LArt-Zeilen für eine Punktart definiert, so wird die aktuelle Linienart aus dem Artenmanager bzw. F9 verwendet. Die Punktart muss in der Koordinatendatei enthalten sein und darf nicht erst beim Einlesen vergeben werden.

Beispiel:

[Eingabe.Punkt]

Format=NrArtRHZLinie, "&PN() &POSKA() &PR() &PH() &PZ() \"&LC1()\""

LArt="3,5,7,11-55",33

LArt="100[100-199]",100.2010

Die Punkte der Art '3,5,7,11-55' werden mit Linien der Art 33 verbunden. Die Punkte der Art '100[100-199]' werden mit Linien der Art 100.2010 verbunden.

Beispiel:

geograf.ini

[Eingabe.Punkt]

Format=NrArtRHZLinie, "&PN() &POSKA() &PR() &PH() &PZ() \"&LC1()\""

LArt=118,233

LArt=144,311

LArt=145,312

Punktdatei:

19 118 3598496.921 5722565.828 "A1"

22 118 3598499.120 5722510.781 "1"

26 118 3598540.000 5722450.000 "2"

30 144 3598520.000 5722340.000 "37"

32 144 3598520.000 5722300.000 140.000 "4"

34 144 3598520.000 5722250.000 125.000 "5"

40 144 3598501.000 5722190.000 "A6"

43 144 3598501.000 5722120.000 "69"

42 144 3598610.000 5722120.000 "6"

41 144 3598610.000 5722190.000 "F6E9"

35 144 3598670.000 5722250.000 "5"

33 144 3598670.000 5722300.000 121.000 "4B7"

31 144 3598670.000 5722340.000 120.000 "3"

27 118 3598630.000 5722450.000 "2A8"

21 144 3598589.086 5722510.558 "G1"

23 118 3598660.000 5722560.000 "6"

28 144 3598700.000 5722490.000 "29"

29 118 3598710.000 5722410.000 "89"

36 144 3598740.000 5722340.000 "37"

37 144 3598740.000 5722300.000 111.000 "34"

38 144 3598740.000 5722250.000 120.000 "K5"

39 144 3598780.000 5722220.000 122.000 "5"

24 145 3598730.000 5722590.000 "B6"

25 145 3598830.000 5722560.000 "6"

Beim Einlesen der Punktkoordinaten können Sie auch Liniencodierungen und Sachdaten kombinieren, also vor Ort gleichzeitig Sachdaten und Liniencodierung erfassen. Die Reihenfolge von Liniencodierung und Sachdaten ist dabei beliebig, sie muss jedoch in Datei und Formatdefinition übereinstimmen.

5091 82.7510 3413521.168 5374793.133  "A1A2"  "1.00 5.00"

5092 82.7510 3413563.008 5374769.339  "E2"    "2.00 6.00"

 

Format=Pkt-Lin-Sach, "&PN() &POSKA() &PR() &PH() &PZ() \"&LC1()\"  \"&SD()\""

LART=7510,311

Sachdaten="7510","$TYP1.AttributX() $TYP2.AttributY()"