Hinweise zur Tachymeterimportschnittstelle

Übersicht

Über die Importschnittstelle können Fremddaten z.B. aus Tachymeteraufnahmen in das System übertragen werden. Beim Import können so Objekte angelegt oder auch Beziehungen aufgebaut werden.

Die Importsteuerungsdateien bzw. die Datenbeschreibungsdateien beschreiben die Datenstruktur für diese Objekte. Diese Dateien können mit jedem ASCII-Editor bearbeitet werden.

Hinweis zu Attributsnamen

Beachten Sie, dass die Attributsnamen nicht immer über alle Tabellen hinweg konsistent sein müssen. Aus historischen Gründen kann für ein Attribut mehrere Attributsnamen in unterschiedlichen Tabellen vorkommen. So kann z.B. das Attribut "Leitungsnummer" sowohl als "LNR" als auch "LTNR" abgekürzt werden.

Reihenfolge beim Einlesen

Es werden keine Objekte außer dem angeforderten Objekt angelegt (z.B. keine Lagepunkte zu Masten). Notwendige Objekte müssen vorher vorhanden sein. Dies bedeutet, dass z.B. Lagepunkte zuerst importiert werden müssen und danach die Maste.

Hinweise zu SQL-Statements

Wenn SQL-Statements eingegeben werden, dürfen keine Anführungszeichen bei Strings verwendet werden. Der String nach dem = wird als SQL-Anweisung interpretiert. Daher dürfen keine Anführungszeichen oder Kommentare eingefügt werden. Es wird keine vollständige Fehlerprüfung durchgeführt.

Beispiel

#KOORID-Angabe über die Text-Angabe

[KOORID]

sql=SELECT ID FROM N_WT_KOOR_SYSTEM WHERE NAME=$8

# NAME ist ein String!

Hinweise zum Attribute berechnen

In der bisherigen Schnittstelle sah das Umrechnen folgendermaßen aus:

#Masthoehen EOK bis Mastspitze (0) (14=Bodenpunkt, 15=Mastspitzenhöhe)

[MHEOK]

field_macro=

_MHEOK=$15-$14

_importField='&_MHEOK'

Wenn Attribute berechnet werden, dann muss die entsprechende Rechenvorschrift als SQL-Statement umgearbeitet werden.

#Masthoehen EOK bis Mastspitze (0) (14=Bodenpunkt, 15=Mastspitzenhöhe)

[MHEOK]

sql=SELECT $15-$14 FROM DUAL

Werden arithmetische Funktionen eingesetzt, dann treten Konvertierungsfehler seitens Oracle auf. Zum Beispiel wird bei der Verwendung von SQRT die Anweisung folgendermaßen geschrieben:

sql=SELECT CAST(SQRT(($8-$10)*($8-$10)+($9-$11)*($9-$11))/2 AS NUMBER(11,3)) FROM DUAL

Die Anweisung "NUMBER(11,3)" wird als Double interpretiert, sodass ohne "CAST AS" das SQL-Statement fehlerhaft ist.

Hinweise zu Lagepunkte

Für Lagepunkte muss die Felddefinition XU2/YU2 nach KOX/KOY geändert werden.

Beziehungen zwischen Objekten werden eingegeben über die ENTITY-Nummer in eckigen Klammern. Dabei kann entweder eine SQL-Anweisung eingetragen werden (alle Objekte, die davon zurückgeliefert werden erhalten eine Beziehung zum neuen Objekt) oder es kann das Makro "Abstand=1,0" (mit angepasstem Zahlenwert) benutzt werden, dann werden alle Objekte, die innerhalb des geforderten Abstandes liegen, zugeordnet.

Beispiel

#Standard-Importbeschreibungsdatei für Geländepunkte

IDENTIF_CODE1[

IDENTIF_CODE2=

IDENTIF_LINE_LEN200

 

#[INIT]

#init_macro=

#_erg = TRANSFORM_TO_INTERNAL_ORIGINALSYSTEM(-1)

#IF (&_erg != 0) THEN RETURN (0,'Sie haben kein oder ein ungültiges Koordinatensystem ausgewählt')

 

[Import]

field_delimiter=;

rem_char=#

object=GPKT

 

[KART]

field_number=26

 

[SUEL]

field_number=27

 

[SUER]

field_number=28

 

[50501]

sql=SELECT MSLINK FROM N_STROM_LP WHERE KOX=$8 AND KOY=$9 AND KOORID=$25

 

[50802]

abstand=1,0

Hinweise zu Eigentümerdaten

Beim Import von Eigentümerdaten werden diese mit der Datenbank abgeglichen, um doppelte Eintragungen zu vermeiden.