Einlesen von Punkten mit Sachdaten

Im Werkzeug Punkte >> Einlesen können durch individuelle Eingabeformate neben den reinen Punktinformationen auch Sachdaten aus einer Punktdatei automatisch mit übernommen werden.

Beispiel:

Datei:   

  1000   4 52300.00 24700.00 100.0 "0.4 7.6"  

  1010 150 52370.00 24780.00 "0.3 STZ"

entsprechendes Format:

  Format=mitSach,"&PN() &POSKA() &PR() &PH() &PZ() \"&SD()\""

Da im Format selbst noch nicht die Attribute der Sachdaten angegeben sind, besteht die Möglichkeit, Sachdaten unterschiedlichen Typs aus einer Datei einzulesen. Die Interpretation der Sachdaten aus der Koordinatendatei wird über die Zuordnung von Attributen zu Punktarten durchgeführt. Dazu sind im Abschnitt [Eingabe.Punkt] jeweils Zeilen der folgenden Syntax zu schreiben:

Sachdaten=<PArten>,"<Format>"

mit <PArten>: Artenauswahl der Punktarten mit Sachdaten (vgl. Was)

<Format>: Sachdatenformatierung im Format $TypnameX.Attribut1() $TypnameX.Attribut2()...  

Alle Zeilen Sachdaten= im Abschnitt [Eingabe.Punkt] werden ausgewertet, unabhängig von ihrer Position zwischen verschiedenen Format-Zeilen. Vermeiden Sie daher mehrfache Definitionen für eine Art. Die Zeilen Sachdaten= müssen der Sachdaten-Definition in der <Auftrag>.dat und der Punktdatei entsprechen.

Beispiele:

[Eingabe.Punkt]

Format=mitSach,"&PN() &POSKA() &PR() &PH() &PZ() \"&SD()\""

Sachdaten="1-4,55","$Baum.Stamm() $Baum.Krone()"

Sachdaten="100-199","$Schacht.Deckel() $Schacht.Typ()"

Für die Punkte der Arten '1-4, 55' aus der Koordinatendatei werden die Sachdaten als "$Baum.Stamm() $Baum.Krone()" interpretiert. Für die Punkte der Arten '100-199' aus der Koordinatendatei werden die Sachdaten als "$Schacht.Deckel() $Schacht.Typ()" interpretiert.

Die Zeile

    1000 4 52300.00 24700.00 100.0 "0.4 7.6"

in der Eingabedatei liefert also mit obigem Format "mitSach" einen Punkt mit

    Punktnummer=1000

    Punktart=4

    Koordinate=(52300.00,24700.00,100.0)

    Baum.Stamm=0.4

    Baum.Krone=7.6

 

Die Zeile

    1010 150 52370.00 24780.00 "0.3 STZ"

in der Eingabedatei liefert einen Punkt mit

    Punktnummer=1010

    Punktart=150

    Koordinate=(52370.00,24780.00)

    Schacht.Deckel=0.3

    Schacht.Typ='STZ'  

 

Beim Einlesen von Sachdaten können einzelne Attribute fehlen, wenn Trennzeichen die Position der Werte markieren.

[Eingabe.Punkt]

Format=getrenntmitSach, "&PN() &POSKA() &PR() &PH() &PZ() &SD()", ",;"

Sachdaten=1,"Typ.Attrib1 Typ.Attrib2"

Datei:   

23,1,3413606.000,5374779.000,75.0,"3,4"               , als Trennzeichen

24,1,3413475.000,5374744.000,"4,5"                    Punkte ohne Höhe

19,1,3413370.000,5374751.000,",6"                     Sachdatenattribut 1 nicht vorhanden

 

Die Sachdaten-Zeilen dürfen natürlich auch unterschiedliche Anzahlen von Attributen beinhalten, z.B. zwei Attribute zum Typ Baum und vier Attribute zum Typ Schacht.

Es können auch Sachdaten aus verschiedenen Typen zu einem Punkt aus einer Datei eingelesen werden (z.B. Baumdaten und Vermessungsinfos).

Format=NrArtRHZSach, "&PN() &POSKA() &PR() &PH() &PZ() \"&SD()\""

Sachdaten="3100-3120","$TYP1.AttributX() $TYP2.AttributY(#.##) $TYP2.AttributZ(#.##)"

 

Sachdaten aus Fremdtabellen (unabhängige Sachdaten) können Sie entweder erfassen, indem Sie den Fremdschlüssel eingeben oder den ersten darauf folgenden eindeutigen Schlüssel. So kann in einer Tabelle "Baum" der Fremdschlüssel der Tabelle "Baumarten" entweder mit "2" oder mit "Buche" erfasst werden.

*

* Tabelle: Baumarten

*

* ID | Baumart

* -------------------------

* 1 | Linde

* 2 | Buche

*

*

* Sachdaten="1-4,55","$Baum.Art() $Baum.Krone()"

*

* Variante 1: 1000 4 52300.00 24700.00 100.0 "2;7.6"

* Variante 2: 1000 4 52300.00 24700.00 100.0 "Buche;7.6"

*

 

Wenn Sie ohne Trennzeichen arbeiten, müssen Sachdaten vom Typ "Text" in der PKT-Datei in folgender Schreibweise "eingeklammert" werden:

\"Wort1 Wort2\"

Die Reihenfolge der Zeilen Sachdaten=... in der geograf.ini müssen sortiert sein, wenn sich die Bereichsangaben überlappen. Zuerst müssen die speziellen Arten angegeben werden, und anschließend die größeren Bereiche, da GEOgraf das erste Vorkommen der Art auswertet. Dies entspricht den allgemeinen Regeln in GEOgraf Steuerdateien.

Beispiel korrekt:

Sachdaten="100-199","$Schacht.Deckel()...."

Sachdaten="0-5000","$Mess.Datum()...."

Beispiel falsch:

Sachdaten="0-5000","$Mess.Datum()...."

Sachdaten="100-199","$Schacht.Deckel()...."

 

Im Kollisionsfall, wenn ein Punkt sowohl im Auftrag als auch in der Datei vorkommt, werden die Sachdaten immer durch die neuen Werte aus der Datei überschrieben . Für die Koordinaten stehen die bekannten Möglichkeiten bei Mehrfachbestimmung zur Verfügung.  

Beim Einlesen der Punktkoordinaten können Sie auch Sachdaten und Liniencodierungen 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  "1.00 5.00" "A1A2"  

5092 82.7510 3413563.008 5374769.339  "2.00 6.00" "E2"    

 

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

LART=7510,311

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