Formulare sind die eleganteste und leistungsfähigste Art, Karten auszudrucken. Das Erstellen von eigenen Formularen ist sehr einfach. Gestalten Sie Inhalte und deren Anordnung im Formular-Editor. Der Formular-Editor ist ein definiertes Layout-Fenster. Mit der Vergabe von Platzhaltern und Schlüsselwörtern können Sie zusätzliche Bedingungen festlegen - wie z. B. den Druckmaßstab. Das fertige Layout speichern Sie als Formular.
Den Formular-Editor erreichen Sie über den Button Formular Funktionen:
•für ein existierendes Formular mit Formular bearbeiten
•oder erzeugen Sie ein neues Formular mit Formular neu
Platzieren Sie einen neuen Rahmen im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Rahmen. Der Rahmenstil (Umrandung und Füllfarbe) kann mit Ribbon LAYOUT -> Stil > Rahmen angepasst werden. Ein Rahmen kann auf mehrere Arten mit Inhalt gefüllt werden. Die Einstellung wird über den Dialog Rahmeneigenschaften (rechte Maustaste) im Feld Name vorgenommen. In diesem Feld sind maximal 254 Zeichen zulässig. In den meisten Fällen genügt dies. Sollten mehr Zeichen benötigt werden, kann die Anweisung in den Makrobereich des Formulars ausgelagert werden, siehe Rahmeneigenschaft aus Makro. Im Folgenden werden die Rahmenarten Hauptrahmen, Übersichtsahmen, Klonrahmen, Freier Rahmen, Legendenrahmen und Tabellenrahmen beschrieben. An Ende des Kapitels wird beschrieben, wie man für Kartenrahmen die Rahmeninhalte anpassen kann.
|
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#Maßstab# |
Der Maßstab des Kartenausschnitts wird über eine Dialogbox abgefragt. Die Zeichenfolge #Maßstab# läßt sich als normale Abfrage für variable Textbausteine in einem Formular verwenden. |
#Maßstab |
Der Maßstab kann auch mehrzeilig geschrieben werden. Die Maßstabszahl wird an die Position des schließenden # geschrieben (innerhalb einer Textbox). Beispiel: |
#Maßstab 1:1000# |
Der Maßstab des Kartenausschnitts wird fix definiert und automatisch erzeugt. |
#Maßstab |
Der Maßstab kann auch mehrzeilig geschrieben werden. Beispiel: |
#AusdehnungWieKartenfenster# |
Der Maßstab des Kartenrahmens wird so angepasst, dass das aktuelle Kartenfenster in seiner Breite vollständig angezeigt wird. Die textliche Ausgabe des Maßstabes ist über #AktuellerMaßstab# möglich. Das Schlüsselwort muss in einer eigenen Textbox stehen, die keine weiteren Schlüsselworte oder Feldfunktionen enthält. |
#AusdehnungWieObjekt# |
Der Maßstab des Kartenrahmens wird so angepasst, dass das selektierte Objekt vollständig angezeigt wird. (Funktioniert nur mit einer Selektion!) Die textliche Ausgabe des Maßstabes ist über #AktuellerMaßstab# möglich. Das Schlüsselwort muss in einer eigenen Textbox stehen, die keine weiteren Schlüsselworte oder Feldfunktionen enthält. |
#AktuellerMaßstab# |
Dieses Schlüsselwort gibt den aktuellen, aus dem Kartenrahmen ermittelten, Maßstab aus. Es dient der textlichen Maßstabsausgabe in Verbindung mit #AusdehnungWieKartenfenster# und #AusdehnungWieObjekt#. Das Schlüsselwort muss in einer eigenen Textbox stehen, die keine weiteren Schlüsselworte oder Feldfunktionen enthält. |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
Rahmen für Übersichtskarte |
Platzieren Sie einen neuen Rahmen im Layout und öffnen Sie den Eigenschaften-Dialog (rechte Maustaste). Tragen Sie das Schlüsselwort OverviewMap: und die Anweisung für die enthaltenen Layer ein. Details finden Sie unter Rahmen für Karten und Legenden. Beispiel: OverviewMap: Map From Flurstücke, Gebäude |
#Übersichtsmaßstab# |
Der Ausgabe-Maßstab des Übersichtskartenfensters wird über eine Dialogbox abgefragt. |
#Übersichtsmaßstab 1:1000# |
Der Ausgabe-Maßstab des Übersichtskartenfensters wird fix definiert und automatisch erzeugt. |
#Übersichtslayer: Layer1,Layer2# |
Dieses Schlüsselwort wird in der aktuellen Version nicht mehr benötigt. Die Layer werden bei der Konvertierung alter Formulare automatisch an den Übersichtsrahmen angehängt. |
#Übersichtslayer# |
Diese Schlüsselworte stehen in der aktuellen Version nicht mehr zur Verfügung. Bitte wenden Sie sich an den Support. |
Ein Maßstabsbalken kann über die Rahmeneigenschaften definiert werden. Die Definition entspricht der MapInfo-Syntax.
<macro 1> create adornment type scalebar position 6 offset (0,0) units "cm" background Brush(2,16777215,16777215)Pen(1,1,0) bartype 1 ground units "m" display units "cm" barlength 4.000000000 barheight 0.200000 barstyle Pen(1,2,0) Brush(2,0,16777215) Font("Arial",0,8,0) scale on auto on </macro>
Wenn Sie das MapBasic-Fenster öffnen und für ein normales Kartenfenster einen Maßstabsbalken hinzufügen (Karte -> Zur Karte hinzufügen -> Maßstabsbalken), wird die gewählte Definition im MapBasic-Fenster angezeigt und kann kopiert werden. Aus der Definition muss lediglich die from window XXXX Anweisung entfernt werden, da die Fensternummer erst bei Ausführung ermittelt wird. |
Beispiel: Kartenrahmen mit Eigenschaft und Makro
Makro
Ergebnis nach Ausführung |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#Datum DatumMoFr + n Tage |
Das aktuelle Systemdatum wird automatisch eingesetzt. Wahlweise können auch der Wochentag, die Arbeitswoche und ein berechnetes Datum berücksichtigt werden.
Die Anweiung in ## muss mit #Datum oder #Wochentag beginnen und kann mit freien Texten kombiniert werden.
Das Schlüsselwort DatumMoFr zwingt ein Zieldatum, dass auf ein Wochenende fällt, auf den folgenden Montag. Die Option macht Sinn in Verbindung mit der Option Tage zu addieren oder falls Druckseiteiten am Wochenende erstellt werden.
Beispiele:
#Datum# #Datum+14# #Wochentag Datum# #Wochentag, den Datum# #Wochentag, den Datum+14# #Wochentag, den DatumMoFr+14#
Schreiben vom: #Datum# Zu erledigen bis: #DatumMoFr+14# |
#Beispieltext# |
Der Textinhalt wird über Dialogbox abgefragt. Sie können beliebig viele variable Dialogboxen mit einem Formular generieren. |
#Dialogtitel:Standardtext# |
Der Textinhalt wird in der Dialogbox angezeigt und kann bei Bedarf modifiziert werden. Hinter den Doppelpunkt wird ein Standardtext eingetragen, der vom Benutzer bei der Eingabe verwendet oder überschrieben werden kann. Beispiel: #Titel:Auszug aus der ALK# |
#Dialogtitel:Wert1;Wert2;Wertn; …# |
Die angegebenen Werte werden als Auswahlliste in einem Dropdown bereitgestellt. Ein Leerwert kann mit einem vorangestellten Semikolon generiert werden: #Dialogtitel:;Wert1;Wert2;Wert3;# |
#Dialogtitel:(Tabelle.Spalte)# |
Die Werte (Inhalte) der angegebenen Tabellenspalte werden gruppiert, alphabetisch sortiert und als Auswahlliste in einem Dropdown bereitgestellt. |
#Dialogtitel:(Tabelle)# |
Alle Spaltennamen der angegebenen Tabelle werden als Auswahlliste in einem Dropdown bereitgestellt. |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#WinXMin# #WinXMax# #WinYMin# #WinYMax# |
Mit diesen Schlüsselwörtern können die Koordinaten der Blattecken ausgelesen werden. Die Koordinateneinheiten des Projektionssystems des Kartenfensters müssen in der Einheit Meter vorliegen. |
#FormatWinBounds# |
Dieses Schlüsselwort ergänzt die Funktion zur Anzeige der Koordinaten in den Blattecken. Dabei wird der Kartenrahmen an gerade, ganzzahlige Koordinatenwerte angepasst. Somit kann die Ausgabe der Blattecken-Koordinaten auf ganze Meter formatiert werden. Das Schlüsselwort muss in einer eigenen Textbox stehen, die keine weiteren Schlüsselworte oder Feldfunktionen enthält. |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#Formularname# |
Formularname ohne Pfad, ohne Dateiendung |
#Formularpfad# |
Formularpfad ohne Dateiname |
#Formulardatei# |
Dateiname ohne Pfad |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#GetMetaData(Group;Gruppenname;Schlüssel)# |
Metainformation der Gruppe Diese Option steht nur unter GeoAS Project zur Verfügung und ist in MapPlot nicht enthalten. Sofern Sie über das GeoAS Management neue Metadaten erfasst bzw. modifiziert haben, öffnen Sie die Gruppe bitte erneut, damit das Formular die Informationen auslesen kann. |
#GetMetaData(Table;Relationsname;Schlüssel)# |
Metainformation der Relation |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#selection.Spaltenname# |
Hiermit wird für ein (oder mehrere) selektiertes Objekt das Attribut aus der angegebenen Spalte ausgelesen. |
#Dialogtitel:(Tabelle.Spalte)# |
Hiermit wird eine Auswahlliste generiert. Die zur Auswahl stehenden Attribute ergeben sich aus dem Datenbestand der angegebenen Tabelle und Spalte. |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#Adresse.Feldname# |
Feldname ist die Bezeichnung des entsprechenden Eintrags in der Benutzerverwaltung. |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Bild Fügen Sie mit der Funktion eine beliebige Rasterdatei an der gewünschten Position im Layout ein. Das Schlüsselwort #Logo# aus älteren Versionen wird nicht mehr benötigt. |
Allgemein |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text |
#Adresse.Signatur# |
In Formular kann auch eine benutzerspezifische Datei geladen werden. Dazu muss in den Metadaten des Benutzers ein entsprechender Eintrag vorhanden sein. Diese Option steht nur unter GeoAS Project zur Verfügung und ist in MapPlot nicht enthalten.
1.Legen Sie im GeoAS Management auf dem Reiter Benutzer->Adresse ein neues Feld mit dem Namen Signatur an. 2.Tragen Sie bei jedem gewünschten Benutzer in dieses Feld eine Rasterdatei ein. Die Datei muss im Verzeichnis ...\GeoAS\Lib\Formular\Signatur\ liegen. Tragen Sie die Datei im Management OHNE Pfadangabe ein. 3.Öffnen Sie ein Formular im Bearbeitungsmodus 4.Fügen Sie mit der Funktion Layout->Einfügen->Bild die Datei ...\GeoAS\Lib\Formular\Signatur\Adresse.Signatur.png an der gewünschten Position ein. Diese Datei dient als Platzhalter und wird bei Ausführung des Formulars durch die anwenderspezifische Datei gemäß GeoAS Management ersetzt. 5.Speichern Sie das Formular
Die Metadaten des Benutzers werden beim Login übertragen. Sie müssen sich ggf. also neu anmelden. |
Allgemein |
Vor dem Ausführen eines Formulars kann es sinnvoll sein, zu prüfen, ob die nötigen Bedingungen erfüllt sind: •die richtige Selektion vorliegt •die Layer im Kartenfenster enthalten sind •die benötigten Datengruppen geöffnet sind •die benötigten Tabellen geöffnet sind Die Schlüsselworte werden im internen Makrobereich des Formulars eingetragen und sind optional. Ist eine gesetzte Bedingung nicht erfüllt, erscheint eine entsprechende Medlung und die Ausführung wird beendet. |
SelectionCheck(Tabelle) |
Es muss eine Selektion auf der angegebenen Tabelle vorliegen. |
MapCheck(Layer1, Layer2, ...) |
Die angegebenen Layer müssen im Kartenfenster vorhanden sein. Die Prüfung auf vorhandene thematische Kartenlayer ist auch möglich. Thematische Kartenlayer werden immer direkt oberhalb des Basislayers in der Layerkontrolle platziert. Mit dem Zusatz -1, -2, etc. kann explizit ein bestimmter thematischer Layer über dem Basislayer angesprochen werden (in der Regel ist es genau einer). Beispiel: Es wird ein thematischer Layer für den Basislayer Flurstücke erwartet: |
TableCheck(Tabelle1, Tabelle2, ...) |
Die angegebenen Tabellen müssen geöffnet sein |
GroupCheck(Gruppe1, Gruppe2, ...) |
Die angegebenen Datengruppen müssen geöffnet sein. Diese Option steht nur unter GeoAS Project zur Verfügung und ist in MapPlot nicht enthalten. |
Allgemein |
Diese Option steht nur unter GeoAS Project zur Verfügung und ist in MapPlot nicht enthalten. Sie ist nur für sehr komplexe Skripte gedacht, die den Umfang des GeoAS Makro-Assistenten benötigen. |
#Include Macro Makroname# |
Platzieren Sie einen neuen Text im Layout über die Funktion Ribbon LAYOUT -> Einfügen > Text
•Es kann erforderlich sein, VOR dem Erzeugen des Formulars zusätzliche Kartenfenster oder Tabellenfenster zu erzeugen, damit diese als zugeordnete Kartenrahmen im Formular platziert werden können. Ein Beispiel ist die Erzeugen eines Exposes für ein Grundstück. Neben dem variablen Kartenfenster sollen diverse weitere Fenster mit unterschiedlichen Inhalten erzeugt und ausgegeben werden. •Im Makro können alle Funktionen benutzt werden. Über den Fenstername MeinFenster wird ein Kartenfenster dem Kartenrahmen im Formular zugeordnet. Den Fenstertitel kann im Makro mit set window FrontWindow() title "MeinFenster" gesetzt werden. •Pro Formular ist nur ein Makro zulässig.
Das Schlüsselwort muss in einer eigenen Textbox stehen, die keine weiteren Schlüsselworte oder Feldfunktionen enthält.
Vorgehensweise 1. Schreiben Sie zuerst ein Makro. Beispiel: MeinMakro map from Bebauungsplan set map zoom entire Layer 1 set window frontwindow() MeinFenster 2. Öffnen Sie eine Formularvorlage zur Bearbeitung oder erstellen Sie eine neue Formularvorlage. 3. Fügen Sie an beliebiger Stelle den Text #Include Macro MeinMakro# 4. Platzieren Sie einen neuen Kartenrahmen 5. Öffnen Sie die Rahmeneigenschaften des neuen Kartenrahmens (rechte Maustaste) und geben Sie den Namen MeinFenster ein. 6. Speichern Sie die Formularvorlage |