Nachstehend werden einige grundlegende Beispiele vorgestellt, wie Spalten mit individuellen und systeminternen Informationen aktualisiert werden können.
1.Wählen Sie Relation > Spalte aktualisieren. 2.Der Dialog Spalte aktualisieren wird geöffnet. 3.Wählen Sie die zu aktualisierende Relation sowie die zu aktualisierende Spalte aus. 4.!!! Achten Sie darauf, die Zu aktualisierende Spalte korrekt auszuwählen !!!
(Stellen Sie zuvor sicher, dass der Datentyp der Spalte mit dem zu aktualisierenden Wert korrespondiert.) 5.Wählen Sie über die Schaltfläche Assistent die für die Wert-Ermittlung benötigten Funktionen aus.
(Ausnahmen: rowid und obj sind nicht über den Assistenten auswählbar, sondern müssen manuell gesetzt werden.) 6.Wählen Sie für Funktionen, die geometrische Ergebnisse liefern (z.B. Fläche, Längen, ...), die passende Funktion Spherical bzw. Cartesian aus.
(siehe Hinweise am Ende des Kapitels)
Syntax: "beliebiger Text"
Alle Datensätze der Relation werden in der Spalte Eigentümer mit dem Wert Kleintierzuchtverein Hausen e.V. aktualisiert.
Hinweis: Texte müssen zu Beginn und am Ende mit Anführungszeichen (") versehen werden.
![Maske_Spalte_aktualisieren_Text](maske_spalte_aktualisieren_text.png)
|
Syntax: Spalte1 +"_"+ Spalte2 + "_" + Spalte3 (wobei Unterstriche und Leerzeichen optional sind)
Alle Datensätze der Relation werden mit den Werten der Spalten Gemarkung, Flur und Flurstück in der Spalte index aktualisiert -jeweils getrennt durch einen Unterstrich.
Hinweis: Ein Unterstrich (_) oder Leerzeichen ( ) muss (wie ein Text) mit Anführungszeichen (") am Anfang und Ende versehen werden ("_") bzw. (" ").
![Maske_Spalte_aktualisieren_Textkombination](maske_spalte_aktualisieren_textkombination.png)
|
Syntax: Spalte1 * Spalte2
Alle Datensätze der Relation werden mit den Werten der Spalten Fläche und Pflegekosten_qm multipliziert und in der Spalte Pflegekosten_gesamt aktualisiert.
![Maske_Spalte_aktualisieren_Berechnung](maske_spalte_aktualisieren_berechnung.png)
|
Syntax: RowID
Alle Datensätze der Relation werden in der Spalte Flächen_ID mit 1 beginnend fortlaufend nummeriert.
Hinweis: Die Funktion RowID wird nicht in der Liste der Funktionen angeboten. Diese Syntax muss manuell eingetragen werden.
![Maske_Spalte_aktualisieren_rowid](maske_spalte_aktualisieren_rowid.png)
|
Syntax: CurDate()
Diese Funktion gibt den Datumswert des aktuellen "System"datums zurück (der über das Betriebssystem des Rechners gesteuert wird).
(Hinweis: Achten Sie darauf, dass die entsprechende Spalte als Datentyp Datum/Date klassifiziert ist.)
Alle Datensätze der Relation werden in der Spalte Datum mit dem aktuellen Systemdatum aktualisiert.
![Maske_Spalte_aktualisieren_Datum_System](maske_spalte_aktualisieren_datum_system.png)
Wenn eine Spalte mit einem individuellen Datum aktualisiert werden soll, verfahren Sie wie bei der Aktualisierung einer Spalte mit einem beliebigen Text.
Das Datum muss in Anführungszeichen (" ")gesetzt werden.
![Maske_Spalte_aktualisieren_Datum_individuell](maske_spalte_aktualisieren_datum_individuell.png)
Weitere Beispiele (im Zusammenhang mit SQL-Abfragen) finden Sie im Kapitel Kalendarische Abfragen (Datum).
|
Syntax: CentroidX(obj) bzw. CentroidY(obj)
Diese Funktion gibt die X- bzw. Y-Koordinaten des Objektzentroiden zurück.
Das Zentroid ist das geometrische Zentrum eines zwei- oder dreidimensionalen räumlichen Objektes. In diesem Kontext der berechnete Mittelpunkt einer Objektgeometrie als Mittelwert der X und Y-Koordinaten. In einem Polygon entspricht der Zentroid etwa dem geometrischen Schwerpunkt der Fläche.
Für Linien bzw. Bereiche gilt: Das Zentroid ist für gewöhnlich das Zentrum des Mindestbegrenzungsrechtecks (MBR - Minimum Boundes Rectangle) des Objekts.
In GIS wird der Zentroid häufig als Referenzpunkt für Attributdaten benutzt, z.B. zur automatischen Beschriftung von Flächenobjekten.
Wenn es sich bei der Projektion um Längen- und Breiten handelt, werden die Koordinatenwerte in Dezimalgrad angegeben. Wenn die Koordinaten keine Längen- und Breitengrade sind, wird der Wert in der Einheit angegeben, die für die Relation festgelegt wurde.
Alle Datensätze der ausgewählten Relation werden in den Spalten X (bzw. Y) mit Punktkoordinaten aktualisiert.
![Maske_Spalte_aktualisieren_Koordinate](maske_spalte_aktualisieren_koordinate.png)
![Maske_Ausdruck_Assistent_Funktionen_XY](maske_ausdruck_assistent_funktionen_xy.png)
Hinweis:
Achten Sie darauf, dass die Einstellungen für die Sitzungsprojektion korrekt eingestellt sind (Optionen > Einstellungen > MapInfo Einstellungen > Kartenfenster > Projektion > Sitzungsprojektion).
Sollten trotz passender Voreinstellung dennoch "falsche" Koordinaten ermittelt werden (z.B. Länge/Breite statt ETRS89-UTM 32 oder 33), wechseln Sie bitte in dem Projektions-Dialog temporär auf eine andere Projektion und stellen Sie dann wieder die eigentlich gewünschte Projektion ein. Anschließend sollten die korrekten Koordinatenwerte ermittelt werden.
|
Syntax:
Gibt die X- bzw. Y-Koordinaten der Anfangs- und Endpunkte eines Linienobjektes zurück.
Funktion
|
Syntax
|
1 = X-Koordinate Linienanfang (Startpunkt X)
|
ObjectGeography( obj, 1)
|
2 = Y-Koordinate Linienanfang (Startpunkt Y)
|
ObjectGeography( obj, 2)
|
3 = X-Koordinate Linienende (Endpunkt X)
|
ObjectGeography( obj, 3)
|
4 = Y-Koordinate Linienende (Endpunkt Y)
|
ObjectGeography( obj, 4)
|
Hinweis: Die Funktion ObjectGeography wird nicht in der Liste der Funktionen angeboten. Diese Syntax muss manuell eingetragen werden.
Wenn es sich bei der Projektion um Längen- und Breiten handelt, werden die Koordinatenwerte in Dezimalgrad angegeben. Wenn die Koordinaten keine Längen- und Breitengrade sind, wird der Wert in der Einheit angegeben, die für die Relation festgelegt wurde. (Für Linien bzw. Bereiche gilt: Das Zentroid ist für gewöhnlich das Zentrum des Mindestbegrenzungsrechtecks (MBR - Minimum Boundes Rectangle) des Objekts.
Alle Datensätze der ausgewählten Relation werden in den Spalten Start_X (bzw. Start_Y, Ende_X, Ende_Y) mit den Start- bzw. Endpunktkoordinaten aktualisiert.
Hinweis: Achten Sie darauf, dass die Einstellungen für die Sitzungsprojektion korrekt eingestellt sind (Optionen > Einstellungen > MapInfo Einstellungen > Kartenfenster > Projektion).
Beispiel für X-Koordinate Linienanfang (Startpunkt X)
![Maske_Spalte_aktualisieren_Koordinate_StartX_Linie](maske_spalte_aktualisieren_koordinate_startx_linie.png)
Beispiel für Y-Koordinate Linienanfang (Startpunkt Y)
![Maske_Spalte_aktualisieren_Koordinate_StartY_Linie](maske_spalte_aktualisieren_koordinate_starty_linie.png)
|
Syntax:
Gibt die X- bzw. Y-Koordinaten der Anfangs- und Endpunkte eines Polylinienobjektes zurück.
Funktion
|
Syntax
|
X-Koordinate Polylinienanfang (Startpunkt X)
|
ObjectNodeX(obj, 1, 1)
|
Y-Koordinate Polylinienanfang (Startpunkt Y)
|
ObjectNodeY(obj, 1, 1)
|
X-Koordinate Polylinienende (Endpunkt X)
|
ObjectNodeX(obj, 1, ObjectInfo( obj, 21+1))
|
Y-Koordinate Polylinienende (Endpunkt Y)
|
ObjectNodeY(obj, 1, ObjectInfo( obj, 21+1))
|
Hinweis: Die Funktion ObjectNode wird nicht in der Liste der Funktionen angeboten. Diese Syntax muss manuell eingetragen werden.
Wenn es sich bei der Projektion um Längen- und Breiten handelt, werden die Koordinatenwerte in Dezimalgrad angegeben. Wenn die Koordinaten keine Längen- und Breitengrade sind, wird der Wert in der Einheit angegeben, die für die Relation festgelegt wurde. (Für Linien bzw. Bereiche gilt: Das Zentroid ist für gewöhnlich das Zentrum des Mindestbegrenzungsrechtecks (MBR - Minimum Boundes Rectangle) des Objekts.
Alle Datensätze der ausgewählten Relation werden in den Spalten Start_X (bzw. Start_Y, Ende_X, Ende_Y) mit den Start- bzw. Endpunktkoordinaten aktualisiert.
Hinweis: Achten Sie darauf, dass die Einstellungen für die Sitzungsprojektion korrekt eingestellt sind (Optionen > Einstellungen > MapInfo Einstellungen > Kartenfenster > Projektion).
Beispiel für: X-Koordinate Polylinienanfang (Startpunkt X)
![Maske_Spalte_aktualisieren_Koordinate_StartX_Polylinie](maske_spalte_aktualisieren_koordinate_startx_polylinie.png)
Beispiel für: X-Koordinate Polylinienende (Endpunkt X)
![Maske_Spalte_aktualisieren_Koordinate_EndeX_Polylinie](maske_spalte_aktualisieren_koordinate_endex_polylinie.png)
|
Gibt die Länge von Linien und Polylinien zurück. Für andere Objekte wird der Wert „0“ zurückgegeben. Wenn Sie ObjectLen aus einem Menü auswählen, wird das Schlüsselwort obj zusammen mit der aktuellen Einheit in doppelten Anführungszeichen in Klammern gesetzt.
Projektion
|
Syntax
|
ETRS89/UTM32 oder UTM33
|
CartesianObjectLen(obj, "Einheit")
|
Länge/Breite
|
ObjectLen(obj, "Einheit")
|
Alle Datensätze der ausgewählten Relation werden in der Spalte Länge_der_Anschlußleitung mit der Linienlänge aktualisiert.
Hinweis: Die gewünschte Einheit/Dimension (z.B.: mm, m, km) tragen Sie manuell in den Ausdruck ein.
Einheit
|
Syntax
|
mm (Millimeter)
|
(obj, "mm")
|
m (Meter)
|
(obj, "m")
|
km (Kilometer)
|
(obj, "km")
|
![Maske_Spalte_aktualisieren_Länge_cartesian](hmfile_hash_e05de54d.png)
![Maske_Spalte_aktualisieren_Länge](hmfile_hash_7c0ed4d4.png)
|
Gibt die Fläche des Objekts zurück. Gibt „0“ zurück, wenn das Objekt keine Fläche besitzt oder der Datensatz kein Objekt enthält. Bögen, Text, Punkte, Linien und Polylinien besitzen keine Flächen. Wenn Sie Area aus einem Menü auswählen, wird das Schlüsselwort obj zusammen mit der aktuellen Einheit in doppelten Anführungszeichen in Klammern gesetzt.
Projektion
|
Syntax/Funktion
|
ETRS89/UTM32 oder UTM33
|
CartesianArea(obj, "Einheit")
|
Länge/Breite
|
Area(obj, "Einheit")
|
Alle Datensätze der ausgewählten Relation werden in der Spalte Fläche mit der Flächengröße aktualisiert.
Hinweis: Die gewünschte Einheit/Dimension (z.B.: m², km², ha/Hektar) tragen Sie manuell in den Ausdruck ein. "sq" steht für square (Quadrat).
Einheit
|
Syntax
|
m² (Quadtratmeter)
|
(obj, "sq m")
|
km² (Quadratkilometer)
|
(obj, "sq km")
|
ha (Hektar)
|
(obj, "hectare") Wichtig: (OHNE "sq")
|
![Maske_Spalte_aktualisieren_Fläche_cartesian](hmfile_hash_e7ead2e4.png)
![Maske_Spalte_aktualisieren_Fläche](hmfile_hash_b7097d57.png)
|
|
|
|
Gibt den Umfang des Objekts für Regionen, Ellipsen, Rechtecke und abgerundete Rechtecke zurück. Wenn Sie Perimeter aus einem Menü auswählen, wird das Schlüsselwort obj zusammen mit der aktuellen Einheit in doppelten Anführungszeichen in Klammern gesetzt.
Projektion
|
Syntax/Funktion
|
ETRS89/UTM32 oder UTM33
|
CartesianPerimeter(obj, "Einheit")
|
Länge/Breite
|
Perimeter(obj, "Einheit")
|
Alle Datensätze der ausgewählten Relation werden in der Spalte Umfang mit dem Flächenumfang aktualisiert.
Hinweis: Die gewünschte Einheit/Dimension (z.B.: mm, m, km) tragen Sie manuell in den Ausdruck ein.
![Maske_Spalte_aktualisieren_Umfang_cartesian](maske_spalte_aktualisieren_umfang_cartesian.png)
![Maske_Spalte_aktualisieren_Umfang](maske_spalte_aktualisieren_umfang.png)
|
Gibt die Informationen zum grafischen Geometrietyp/Objekttyp zurück.
(Point, Line, Polyline, Arc, Region, Ellipse, Rectangle, Rounded Rectangle, Text, Multipoint, Collection)
Variante A: spezifischer textlicher Wert
Syntax: obj
Alle Datensätze der Relation werden in der Spalte Geometrietyp mit dem spezifischen textlichen Wert des grafischen Geometrietyp/Objekttyp aktualisiert.
![Maske_Spalte_aktualisieren_Objekttyp](maske_spalte_aktualisieren_objekttyp.png)
Ergebnisse in der Spalte Geometrietyp
![Illustration_Spalte_aktualisieren_Objekttyp](illustration_spalte_aktualisieren_objekttyp.png)
Variante B: spezifischer numerischer Wert
Syntax: ObjectInfo(obj, 1)
Alle Datensätze der Relation werden in der Spalte Geometrietyp_ID mit dem spezifischen numerischen Wert des grafischen Geometrietyp/Objekttyp aktualisiert.
![Maske_Spalte_aktualisieren_Objektstyle_Type](maske_spalte_aktualisieren_objektstyle_type.png)
Ergebnisse in der Spalte Geometrietyp_ID
![Illustration_Spalte_aktualisieren_Objekttyp](illustration_spalte_aktualisieren_objekttyp.png)
(siehe auch Kapitel: Suche nach Objekttypen/Geometrietypen)
|
Gibt die Informationen zur grafischen Ausgestaltung zurück.
(Point, Line, Polyline, Arc, Region, Ellipse, Rectangle, Rounded Rectangle, Text, Multipoint, Collection)
Syntax: ObjectInfo(obj, Wert)
Alle Datensätze der Relation werden in Abhängigkeit des gewählten Wertes in der entsprechenden Spalte mit Informationen zur grafischen Ausgestaltung aktualisiert.
Syntax: ObjectInfo(obj, 3)
Der Wert "3" liefert Objekttyp/Geometrietyp-spezifische Informationen:
•Füllmusterausgestaltung für Flächen/Bereiche •Textinhalt für Texte
Syntax: ObjectInfo(obj, 2)
Der Wert "2" liefert Objekttyp/Geometrietyp-spezifische Informationen:
•Linienausgestaltung für Linien und Bereiche •Symbolausgestaltung (Symbolfont) für Symbole •Textausgestaltung (Textfont) für Texte
A) Illustration für Flächen/Bereiche
![Maske_Spalte_aktualisieren_Objektstyle_Fläche](hmfile_hash_7ec8adff.png)
In die Spalte "Brush" wurde die Information Brush (Füllmuster) aktualisiert.
Syntax: ObjectInfo(obj, 3)
In die Spalte "Pen" wurde die Information Pen (Linienstil) aktualisiert.
Syntax: ObjectInfo(obj, 2)
In die Spalte "Brush_Pen" wurde die verkette Information für Brush (Füllmuster) und Pen (Linienstil) aktualisiert.
Syntax: ObjectInfo(obj, 3) + " | " + ObjectInfo(obj, 2)
![Illustration_Spalte_aktualisieren_Brush_Pen_Fläche](hmfile_hash_101b411f.png)
B) Illustration für Texte
![Maske_Spalte_aktualisieren_Objektstyle_Text](maske_spalte_aktualisieren_objektstyle_text.png)
In die Spalte "Textinhalt" wurde die Information String (Textinhalt) aktualisiert.
Syntax: ObjectInfo(obj, 3)
In die Spalte "Textfont" wurde die Information Font (Schriftart) aktualisiert.
Syntax: ObjectInfo(obj, 2)
![Illustration_Spalte_aktualisieren_String_Font_Text](illustration_spalte_aktualisieren_string_font_text.png)
Liste der Ausgestaltungsinformationen, die über spezifische Werte ermittelt werden können.
ObjectInfo() definiert
|
Wert
|
OBJ_INFO_TYPE
|
1
|
OBJ_INFO_PEN
|
2
|
OBJ_INFO_SYMBOL
|
2
|
OBJ_INFO_TEXTFONT
|
2
|
OBJ_INFO_BRUSH
|
3
|
OBJ_INFO_NPNTS
|
20
|
OBJ_INFO_TEXTSTRING
|
3
|
OBJ_INFO_SMOOTH
|
4
|
OBJ_INFO_FRAMEWIN
|
4
|
OBJ_INFO_NPOLYGONS
|
2
|
OBJ_INFO_TEXTSPACING
|
4
|
OBJ_INFO_TEXTJUSTIFY
|
5
|
OBJ_INFO_FRAMETITLE
|
6
|
OBJ_INFO_TEXTARROW
|
6
|
OBJ_INFO_FILLFRAME
|
7
|
OBJ_INFO_REGION
|
8
|
OBJ_INFO_PLINE
|
9
|
OBJ_INFO_MPOINT
|
10
|
OBJ_INFO_NONEMPTY
|
11
|
OBJ_INFO_Z_UNIT_SET
|
12
|
OBJ_INFO_Z_UNIT
|
13
|
OBJ_INFO_HAS_Z
|
14
|
OBJ_INFO_HAS_M
|
1
|
(siehe auch Kapitel: Suche nach Objekttypen/Geometrietypen)
|
![Vorsicht Vorsicht](vorsicht.png) Vorsicht
|
•Wenn Sie im Kartenfenster die Lage, Länge oder Form einzelner Objekte verändern, werden die Koordinaten, Längen oder Flächeninhalte in der Tabelle nicht automatisch aktualisiert. Eine automatische Aktualisierung (Abgleich) von Karte bzw. Anzeigefenster findet nicht statt, da die Sachdaten im Anzeigefenster und die grafischen Informationen des Kartenfensters nicht dynamisch miteinander verknüpft sind. Wenn Sie also Veränderungen im Kartenfenster vorgenommen haben, sollten Sie die entsprechenden Spalten in der Tabelle aktualisieren. Aktualisieren Sie beispielsweise die Relation mit den X/Y-Koordinaten, Längen oder Flächen von Objekten. Dies gilt natürlich auch im umgekehrten Fall: werden beispielsweise Koordinaten oder Flächenangaben im Anzeigefenster geändert, wirkt sich das nicht unmittelbar auf die verknüpften Kartenobjekte aus. |
![Hinweis Hinweis](hinweis.png) Hinweis
|
•Die Funktionen CartesianObjectLen, CartesianArea, CartesianPerimeter und CartesianDistance gelten für kartesische Koordinatensysteme.
z.B.: ETRS89/UTM32 oder UTM33, Gauß-Krüger Zone 2, Zone 3 oder Zone 4 •Die Funktionen SphericalObjectLen, SphericalArea, SphericalPerimeter und SphericalDistance gelten für Projektionen mit Längen- und Breitengraden.
z.B.: Länge/Breite WGS84 •Mit den Funktionen ObjectLen, Area, Perimeter und Distance wird jeweils das für die Projektion der entsprechenden Relation passende Verfahren verwendet. |
![Hinweis Hinweis](hinweis.png) Hinweis
|
Hinweis beim Aktualisieren mit Koordinaten:
Es kommt vor, dass die Koordinaten nicht für diejenige Projektionskategorie (bzw. den Projektionstyp) aktualisiert werden, welche der geöffneten Relation zugrunde liegt. Statt mit den gewünschten (UTM/ETRS89 oder Gauß-Krüger) Koordinaten wird standardmäßig mit Längen-/Breitengraden aktualisiert.
Dieses Problem lässt sich auf mehrere Arten lösen:
1.Stellen Sie die Projektion der sogenannte Sitzungsprojektion auf die von Ihnen gewünschte Projektion ein/um (Project > Optionen > Kartenfenster > Projektion > Sitzungsprojektion). Aktualisieren Sie Ihre Tabelle erneut. Die Koordinatenwerte sollten nun in der voreingestellten Projektion ermittelt werden. 2.Mit Hilfe des MapBasic-Fensters (für erfahrene Anwender) können Sie eine Programmanweisung absetzen. Öffnen Sie mit Optionen > MapBasic Fenster das MapBasic Fenster und setzen Sie beispielsweise einen der nachfolgenden Befehle ab:
![MapBasicFenster_Projektionen](mapbasicfenster_projektionen.png)
Aktualisieren Sie Ihre Tabelle erneut. Die Koordinatenwerte werden nun korrekt ermittelt.
Tipps:
•Die Syntax für die gewünschte Projektionskategorie (bzw. den Projektionstyp) steht in der MIF-Datei. Führen Sie gegebenenfalls einen MIF-Export durch und öffnen Sie diese Datei mit einem Texteditor. Kopieren Sie die notwendige Zeile (steht am Dateianfang) über die Zwischenablage in das MapBasic Fenster und ergänzen Sie diese Zeile um die Anweisung „set“. Positionieren Sie nun den Mauszeiger in die Textzeile. Diese MapBasic-Anweisung wird mit Betätigen der <Return>-Taste abgesetzt. •Wenn Sie unter Project > Optionen > Kartenfenster > Projektion > Sitzungsprojektion bereits die gewünschte Projektion als Standard-Sitzungsprojektion eingestellt haben, dürfte dieses Problem nicht mehr auftreten. |
|