Karte drucken

Über diesen Befehl ruft der Anwender den Befehl Karte drucken auf.

Funktion Karte drucken

Konfiguration

Die Plotkonfigurationen finden Sie in MapEdit AppBuilder Repository hier:

Plotkonfiguration im MapEdit App Builder

Über die Funktion Neu kann eine neue Plotkonfiguration erstellt werden. Bei der Installation von MapEdit wird bereits eine Standardkonfiguration abgelegt, die bei einer Neuanlage dann zur Bearbeitung zur Verfügung steht.

Erstellen einer neuen Plotkonfiguration

Es werden standardmäßig die Formate A4 bis A0 im Hoch- und Querformat angelegt.

Geladene Plotstandard Konfiguration

Zur Bearbeitung der Plotkonfiguration sind grundlegende XML-Kenntnisse erforderlich

Globale Einstellungen

<layouts>

In diesem Bereich befinden sich alle Einstellungen für die Definitionen einer Plotkonfiguration.

<set name>

Mit diesem Tag können Sie eine Variable definieren und dieser einen entsprechenden Wert zuweisen.

<layout>

Über die Layouts wird das Aussehen eingerichtet, wenn z.Bsp ein umfangreicher Plankopf für eine externe Planauskunft und ein kleiner Plankopf für die interne Auskunft benötigt wird. Im Bereich Layout wird jeweils ein Layout eingerichtet, mit allen dazugehörigen
Papierformaten. Beispiel:

<layout name=“Standard“ id=“1″ author=“MuM Systemhaus GmbH“ title=“Standard“>

Um weitere Layouts zu definieren, wird ein weiterer Namen und ID vergeben. Beispiel:

<layout name=“Leitungsauskunft“ id=“2″ author=“MuM GmbH“ title=“Leitung“>

<format>

Im <format> wird definiert, welche Papierformate und welche Maßstäbe verwendet
werden und die genaue Lage über X/Y (von der Ecke links oben ausgehend) für die Objekte in dem Planstempel wie Linien, Texte, Nordpfeil, Logo etc. angegeben.

Beispiel eines Planstempel

<scales>

  • scale = -1 bedeutet Automatisch (das Plotfenster wird immer gleich zur Größe des Browser geöffnet)
  • scale = -2 bedeutet Benutzerdefiniert (Maßstab wird manuell eingetragen)
  • scale = -3 bedeutet „Aus Karte“ (entsprechende dem Zoomlevel wird der Maßstab übernommen)
  • scale = 250 bedeutet Maßstab 1:250 ist fest vorgegeben

Variablen

Im Unterschied zu den Systemvariablen die teils vom Betriebssystem und MapEdit vorgegeben werden, kann man selbst definierte Variablen einführen, welche zur Anzeige verwendet werden können. Diese Variablen werden innerhalb des Tags <format>….</format> dann an die gewünschte Position plaziert:

<image file="${property[logo]}">  
    <from x="80" y="257" />              
    <to x="125" y="269" />                      
</image>                             
<statictext text="${property[city]}">             
	<from x="77" y="244" />               
	<font size="12" face="Arial" style="Bold" />         
</statictext>

Systemvariablen

Unter Systemvariablen versteht man Variablen die teils vom Betriebssystem und teils von MapEdit fest vorgegeben sind. Es können folgende Systemvariablen abgerufen und automatisch eingetragen werden:

  • ${date} Datum
  • ${datetime} Uhrzeit
  • ${scale} Maßstab
  • ${loginusername} Name des angemeldeten Benutzers
  • ${copyright}

Hier ein Beispiel um den Benutzernamen an einer bestimmten Position mit der Größe 8 und Schriftart Arial anzuschreiben:

<statictext text="${loginusername}">                                                                                                                                                                                                                                                              
	<from x="135" y="253" />                                                                     
	<font size="8" face="Arial" />             
</statictext>

Objekte und Inhalte

<objects>

Hier werden alle Objekte eines Planstempels definiert,.

Die Position der Objekte im Plan wird über x=“10″ bzw. y=“10″ von der Ecke links oben in Millimeter ausgehend definiert.

<map>

Mit diesem Tag bestimmen Sie die bedruckbare Fläche, hier als Beispiel die bedruckbare Fläche DIN4 Querformat

<map>
  <from x="10" y="10" />
  <to x="200" y="287" />
</map/

<rectangle>

Mit diesem Tag können Sie die Umrandung der bedruckbaren Fläche bzw. Rahmenfarbe usw. bestimmen.

<rectangle drawColor="#000000">
 <from x="10" y="10" />
 <to x="287" y="200" />
</rectangle>

layerPattern

layerPattern ist der MapEdit Layer Name, der meist einer MapGuide MapDefinition
entspringt. In der Kartenverwaltung wird der Anzeigename angezeigt:

Anzeigename

<legend>

Eine Legende kann in den Ploteinstellungen konfiguriert werden. Hier der Standardeintrag.

<legend drawColor="#000000" fillColor="#FFFFFF">
   <pos x="10" y="10" />
   <font size="10" face="Arial" />
</legend>

Wenn sie den Eintrag <legend> entfernen, wird keine Legende angezeigt.

Mit folgender Einschränkung können nicht alle Layer aus den Karten angezeigt werden. Die Layer für die Legende können gefiltert werden. Es gibt die Möglichkeit über Filter bestimmte Layer hinzuzufügen (add) oder bestimmte Layer nicht anzuzeigen (remove):

<legend drawColor="#000000" fillColor="#FFFFFF">
  <pos x="10" y="10" />
  <font size="10" face="Arial" />
  <filter type="add" layerPattern="*" legendPattern="*" />
  <filter type="remove" layerPattern="*" legendPattern="" />
</legend>

wobei ? ein Platzhalter für ein Beliebiges Zeichen ist (so wie in SQL das Zeichen _) * ein Platzhalter für beliebig viele Zeichen ist (so wie in SQL das Zeichen %)

Hierzu ein Beispiel: Aus allen Karten sollen alle Label, die mit „QS“ anfangen nicht angezeigt werden. Dazu wird layerPattern auf * gesetzt und legendPattern auf QS. Wenn nur die Legendeneinträge die mit QS anfangen, nicht angezeigt werden sollen, die von dem Gewerk Wasser stammen, dann sieht der Eintrag so aus: LayerPattern=“Wasser“ legendPattern=“QS“

<legend textColor="#000000" drawColor="#000000" fillColor="#FFFFFF" icon="5">
   <pos x="10" y="10" />
   <font size="10" face="Arial" />
   <filter type="add" layerPattern="*" legendPattern="*" />
   <filter type="remove" layerPattern="Wasser" legendPattern="*TBL" />
   <filter type="remove" layerPattern="Wasser" legendPattern="QS*" />
</legend>

<northArrow>

Mit diesem Tag können sie ein Symbol für den Nordpfeil in Ihrem Ausdruck platzieren

....
<set name="northArrow" value="../Images/Symbols/north_arrow.png" />
....
<northArrow file="${property[northArrow]}">
 <from x="11" y="268" />
 <to x="23" y="286" /> 
</northArrow>

Wenn der Ausdruck nicht genordet ist sondern gedreht, wird das Symbol des Nordpfeils automatisch nach Norden ausgerichtet.

<line>

Mit diesem Tag zeichnen Sie eine einfache gerade Linie von Position nach Postion

<line drawColor="#000000">
  <from x="162" y="163" />
  <to x="287" y="163" /> 
</line>

<statictext>

Die unter diesem Tag definierten Texte sind fix und können entsprechend platziert werden unter der Mitgabe von Textgröße und Schrifttyp.

<statictext text="${property[hintLine1]}">                                            
   <from x="77" y="283" />                       
   <font size="7" face="Arial" color=”#FF0000”/>  
</statictext>

<dynamictext>

Mit diesem Tag besteht die Möglichkeit Texte während des Karte drucken noch einzugeben. In der Plotvorschau hat der Anwender die Möglichkeit diese Werte vorzugeben.

Dynamischer Text

Der Code zur Erstellung dieser beiden dynamischen Texte sieht folgendermaßen aus:

.....
<set name="field3" value="Ortsnetz" />
<set name="field6" value="Bearbeiter" />
<statictext text="${property[field3]}:">
  <from x="135" y="265" />
  <font size="8" face="Arial" />
</statictext>
<dynamictext name="${property[field3]}">
  <from x="157" y="265" />
  <font size="8" face="Arial" />
</dynamictext>
<statictext text="${property[field6]}:">
  <from x="135" y="277" />
  <font size="8" face="Arial" />
</statictext>
<dynamictext name="${property[field6]}">
  <from x="157" y="277" />
  <font size="8" face="Arial" />
</dynamictext>
......

<image>

Werden neben dem Nordpfeil noch weitere PNG benötigt, dann wird HTML Code einfach erweitert. Es können kleine Legenden fest mit angegeben werden, die als PNG erstellt wurden.

Werden neben dem Nordpfeil noch weitere PNG benötigt, dann wird der HTML Code einfach erweitert. Es können kleine Legenden fest mit angegeben werden, die als *.png erstellt wurden.

<layouts…> 
	<set name="northArrow" value="../Images/Symbols/north_arrow.png" />     
	<set name="Legende" value="../Images/Symbols/legende_neu.png" />        
 <layout>
   <format…>       
	<northArrow file="${property[northArrow]}">   
    <northArrow file="${property[Legende]}">   
   </format>      
 </layout>     
</layouts>

Damit ein Logo im Druck richtig angezeigt wird, muss der Eintrag im XML zu dem vorhandenen Bild (bmp/jgp) passen. Die Standardvorlage gibt ein Verhältnis (Länge / Breite) von 1:3 an.

<image file="${property[logo]}">
  <from x="76" y="256"/>
  <to x="129" y="276"/>
</image>

Weitere Einstellungen

Maßstabsbalken

Der Maßstabsbalken wird zwischen „</statictext>“ und „</objects>“ am Ende eines
Layouts eingefügt.

Hinweis: Die Breitenangabe des Balkens ist dynamisch, da zur Laufzeit ein gerader Anzeigewert gewählt wird. D.h. die Breite (from x,y to x,y) die der User in der Plotdefinition angibt, ist nur die maximale Breite für den Balken.

Es gibt eine neue Option „barHeight“ mit der man die Höhe des Balkens ändern kann
(Angabe in mm). Gibt man nichts an, dann ist die Höhe 1mm.

<scaleStatus barHeight="2">
< from x="150" y="240" />
< to x="190" y="250" />
</scaleStatus>

Sprich in dem Fall 10mm hoch und 40mm breit und eine Balkenhöhe von 2mm. Die Größe des Textes ist jetzt abhängig von der angegebenen Höhe des Kastens 10mm)
minus der Balkenhöhe (2mm), d.h. wenn man die Kastenhöhe höher macht, dann wird der Text größer.
Zur Verdeutlichung werden in der folgenden Abbildung die Werte

<scaleStatus barHeight="2">
< from x="150" y="240" />
< to x="190" y="250" />
</scaleStatus>

durch einen grauen Rahmen angezeigt. Der graue Rahmen ergibt sich aus den
Koordinatenwerte die man bei scalestatus angibt:

Maßstabsbalken

Warum ist der Balken nicht so lang wie der Kasten?
Der Balken entspricht der Länge der angegeben Meter/Kilometer in der Karte.
Die Länge die man für den Kasten angibt, ist die maximale Länge die der Balken
einnehmen darf. In Realität ist der Balken also in den meisten fällen nicht so lange wie der im grauen Kasten.

Copyright Texte die in der Kartenverwaltung eingetragen wurden, können für den Ausdruck an der gewünschten Position definiert werden.

Copyright Text in der Kartenverwaltung

Dazu erfolgt ein Eintrag wie bei den Variablen als StaticText:

<statictext text="${copyright}">    
  <from x="200" y="10" />            
  <font size="8" face="Arial" />   
</statictext>

Protokollierung aktivieren

Zum Aktivieren der Logging Funktion muss in der web.config im Verzeichnis

C:\inetpub\wwwroot\Mum.Geo.Server.Printing

ein neuer Key hinzugefügt werden:

<appSettings>...     
    <add key="LogFile" value="C:\inetpub\wwwroot\MumGeoData\Log\ServerPrinting.log"/>   
    <add key="LogLevel" value="error"/>      
<appSettings>

Mit dem Key LogLevel können folgende mögliche Werte gesetzt werden: Error, Warn, Info, Debug (Groß- Kleinschreibung ist egal). Die Datei ServerPrinting.log muss in dem Verzeichnis manuell angelegt werden:

C:\inetpub\wwwroot\MumGeoData\Log\ServerPrinting.log

Wenn diese nicht vorhanden ist wird auch nichts protokolliert !

Öffnen sie den Ordner Knowledgebase, dort befindet sich ein PDF zu der Standard Plotkonfiguration.

Mehrere Plotkonfigurationen in einem Projekt

Man kann im MapEdit AppBuilder einem Projekt mehrere Plotkonfigurationen zuweisen.

Ein Layout Title/Name muss in allen config Dateien die man benutzt eindeutig sein.
Wenn ein gleicher Name/Title in mehr als einer Datei vorkommt, dann gibt es einen Mehrfacheintrag in der Liste und bei der Auswahl wird dann ggf vom Programm intern das falsche gewählt.

Werden Varaiblen mit „<set“ benutzt, wie dies zum Beisiel:
&lt;set name="logo" value="../Images/Symbols/logo.jpg" /&gt;
&lt;set name="city" value="Musterstadt (Westf.)" /&gt;

dann gewinnt immer die letzte Zuweisung.
Oder wenn zum Beispiel:
<set name=“logo“ value=“../Images/Symbols/logo.jpg“ />
in der ersten, zweiten und dritten Config Datei vorkommt dann gewinnt die Einstellung der dritten config Datei, egal was in den anderen steht.

Updated on November 30, 2020