9. Modul PLOT - Plotlayout schreiben

9.1. Allgemeines

Mit dem Modul PLOT können Plotlayouts mit Elementen wie Titelblatt, Nordpfeil, Koordinatenkreuze, etc. erzeugt werden. Der Modul Plot wird typischerweise in Kombination mit dem Modul PSOUT für PostScript/PDF,JPG/TIFF-Dateien oder DXFOUT für DXF/DWG-Dateine eingesetzt.

Der Modul wird mit:

|INCL \script\plot.mod

in einer ICS Konfiguration verfügbar gemacht.

9.2. Abhängigkeiten von anderen Modulen

Der Modul wird nicht als selbständiges Modul, sindern als Zusatz zu anderen Modulen , z.B. PSOUT oder DXFOUT, eingesetzt.

9.3. Parametermap PLOT_PARAM

Folgende Parameter können in der Map PLOT_PARAM für den Modul gesetzt werden:

Parameterreq/optBeschreibung
TYPErPLOT|RASTER|OFF. Definiert den Plottype. Der Plottype PLOT basiert auf einem Format A0 bis A4. Der Plottype RASTER erzeugt ein Rasterfile und wird im Zusammenhang mit dem Modul PSOUT verwendet. Der Wert OFF ignoriert die Plotanteile.
FORMAToA0|A1|A2|A3|A4. Definiert das Plot-Papierformat.
FORMATORIENTATIONohoch|quer. Definiert die Ausrichtung des Plot-Papierformates.
ORIGINo<x>/<y>. Definiert den Ursprung des Plotes.
ANGLEo<r>. Definiert den Drehwinkel des Plotes
SCALEo1:<scale>. Definiert den Massstab für des Plotes
WIDTHo<m>. Definiert die Breite im Massstab 1:1 der Daten in Meter es Plotes
HEIGHTo<m>. Definiert die Höhe im Massstab 1:1 der Daten in Meter es Plotes
LAYOUToON|OFF. Definiert, ob die Layout-Element des Plotes erzeugt werden.
COORDCROSSoON|OFF. Definiert, ob die Koordinatenkreuze des Plotes erzeugt werden.
COORDCROSSoON|OFF. Definiert, ob die Koordinatenband des Plotes erzeugt werden.
SCALEBANDoON|OFF. Definiert, ob die Skalierungband des Plotes erzeugt werden.
DATA_URLo<strring>. Definiert ein GeoShop-URL für ein Bild. Beispiel: http://localhost:3501/image?reqid=image1 &view=av &layers=AV_Bodenbedeckung,AV_Liegenschaften,AV_Fixpunkte,AV_Einzelobjekte &dpi=100&user=test&password=test
ADJUSToON|OFF. Default = OFF. Definiert ob alle Input-Daten in den Plot eingepasst werden sollen.

Mit den aufgeführten Parameter lassen sich folgende Typen von Outputs generieren.

Output Type Plot

Dieser Typ benötigt immer einen Plotlayout. Dazu mehr im nächsten Kapitel. Folgende Parameter werden für diesen Plottyp benötigt

Required immer
--------------
PLOT_PARAM.TYPE='PLOT'
PLOT_PARAM.FORMAT               Papiergrösse
PLOT_PARAM.FORMATORIENTATION    Papierausrichtung


Required 1
----------
Folgende Parameter setzen, falls der Plot einen bestimmten 
Ausschnitt und einen bestimmten Massstab besitzt.

PLOT_PARAM.ORIGIN               x/y-Koordinate Ausschnitt unten links
PLOT_PARAM.ANGLE                Rotation Ausschnitt
PLOT_PARAM.SCALE                Massstab


Required 2
----------
Folgende Parameter/Optionen setzen, falls Daten in den Plot eingepasst werden sollen.

PLOT_PARAM.ADJUST=ON            ON:
                                Die Daten werden in das Format eingepasst
                                PLOT_PARAM.SCALE wird nicht berücksichtigt 

PLOT_PARAM.ORIGIN               x/y-Koordinate Ausschnitt unten links
PLOT_PARAM.ANGLE                Rotation Ausschnitt
PLOT_PARAM.WIDTH                Data Breite in Meter
PLOT_PARAM.HEIGHT               Data Höhe in Meter
                                Falls diese Parameter nicht gesetzt sind,
                                werden alle Daten eingepasst, sonst nur
                                der spezifizierte Bereich.

Output Typ Raster

Typischerweise betrifft dies ein tif-Output. Andere Fileformate wie pdf/jpg werden aber auch unterstützt. Folgende Parameter werden für diesen Plottyp benötigt

Required
--------
PLOT_PARAM.TYPE='RASTER'  
PLOT_PARAM.ORIGIN               x/y-Koordinate Ausschnitt unten links
PLOT_PARAM.ANGLE                Rotation Ausschnitt
PLOT_PARAM.WIDTH                Data Breite in Meter
PLOT_PARAM.HEIGHT               Data Höhe in Meter

Optionen

Alle Parameter lassen sich von aussen mit Optionen übersteuern. Für den Namen der Option für den entsprechenden Parameter gilt:

PLOT_PARAM.<parameter> entspricht OPT.plot_<parameter>

wobei in der Option der Parameter klein geschrieben wird.

Beispiele:

PLOT_PARAMETER.TYPE entspricht OPT.plot_type

PLOT_PARAMETER.FORMAT entspricht OPT.plot_format

So lassen sich die Parameter als Optionen an eine Konfiguration übergeben:

ICS_DIR\system\bin\ics.opt -script mypdf.cfg -plot_type PLOT -plot_format A4 ...

9.4. Plotlayout Map PLOT_LAYOUT

Für den Output Typ PLOT mit PLOT_PARAM.TYPE => PLOT werden Plotlayouts benötigt, die den Layout des Plots definieren. Ein Plotlayout enthält Definitionen wie den Titel oder den Nordpfeil für einen Plot. Welcher Plotlayout für welches Papierformat und Massstab verwendet werden soll, wird in der Map PLOT_LAYOUT definiert. Diese Map beinhaltet folgende Definitionen:

MAP PLOT_LAYOUT
   ...
   <format>,formatorientation>,<scale> => <Layout-INTERLIS-File>
   ...
END_MAP

<format>

Definiert das Papierformat für den Plotlayout. Papierformate sind A0,A1,A2,A3,A4 oder * wenn der Plotlayout für alle Papierformate gilt.

<formatorientation>

Definiert die Ausrichtung des Papierformates für den Plotlayout. Ausrichtungen sind quer, hoch oder * wenn der Plotlayout für alle Ausrichtungen gilt.

<scale>

Definiert den Massstab für den Plotlayout. Massstäbe sind beliebige im Format 1:<Massstab> * wenn der Plotlayout für alle Masstäbe gilt.

<Layout-INTERLIS-File>

Definiert die INTERLIS Datei welche die Plotlayout-Elemente enthält.

Beispiel einer Definition:

MAP PLOT_LAYOUT
   ! Format,hoch|quer,Massstab
   A0,quer,*   => \plot\a0q500.itf
   A0,hoch,*   => \plot\a0h500.itf
   A1,quer,*   => \plot\a1q500.itf
   A1,hoch,*   => \plot\a1h500.itf
   A2,quer,*   => \plot\a2q500.itf
   A2,hoch,*   => \plot\a2h500.itf
   A3,quer,*   => \plot\a3q500.itf
   A3,hoch,*   => \plot\a3h500.itf
   A4,quer,*   => \plot\a4q500.itf
   A4,hoch,*   => \plot\a4h500.itf
   DEFAULT     => \plot\a4h500.itf
END_MAP

Die Daten der INTERLIS Files mit den Plotlayout-Elementen müssen dem INTERLIS Modell PlotLayout.ili entsprechen. Dieses Modell ist unter ILTOOLS_DIR\system\plot\PlotLayout.ili vorhanden. Im demselben Verzeichnis sind auch INTERLIS Beispieldateien für verschiedene Plotlayouts vorhanden.

Wie Plotlyouts erstellt werden, ist im folgenden Dokument beschrieben.

ICS Plotlayouts

9.5. Koordinatenkreuze Map PLOT_COORDCROSS_WIDTH

In dieser Map kann für die Koordinatenkreuze und das Koordinatenband der Abstand der Koordinatenkreuze pro Massstab definiert werden.

MAP PLOT_COORDCROSS_WIDTH
   ...
   <scale> => <distance>
   ...
END_MAP

<scale>

Definiert den Plotmassstab.

<distance>

Definiert den Abstand der Koordinatenkreuze.

Beispiel einer Definition:

MAP PLOT_COORDCROSS_WIDTH
   '1:250'     => 50.0
   '1:500'     => 50.0
   '1:1000'    => 100.0
   DEFAULT     => 100.0
END_MAP

9.6. Skalierungsband Map PLOT_SCALEBAND_WIDTH

In dieser Map kann für das Skalierungsband Breite,Höhe,Offset und Texthöhe pro Massstab definiert werden.

MAP PLOT_COORDCROSS_WIDTH
   ...
   <scale> => <width>[,<height>,<offsetx>,<offsety>,<textheight>]
   ...
END_MAP

<scale>

Definiert den Plotmassstab.

<width>

Definiert die Breite des Skalierungsbandes.

<height>

Definiert die Höhe des Skalierungsbandes.

<offsetx>

Definiert den X-Offset Plotlayout-Border unten links zu Skalierungsband unten links

<offsety>

Definiert den Y-Offset Plotlayout-Border unten links zu Skalierungsband unten links

<textheight>

Definiert die Texthöhe der Anschrift des Skalierungsband

Beispiel einer Definition:

MAP PLOT_SCALEBAND_WIDTH
   '1:250'     => 12.0
   '1:500'     => 20.0
   '1:1000'    => 40.0
END_MAP

9.7. Werte Map PLOT_VALUES

In dieser Map können Werte für den Plot gesetzt werden. In der Regel handelt es sich bei den Werte um Platzhalter die im Plotlayout verwendet werden, wie den Massstab oder Werte für das Titelblatt.

MAP PLOT_VALUES
   ...
   <object> => <variable for value>
   ...
END_MAP

<object>

Ein Objekt kann eine Variable, eine Prozedur oder eine Konstante sein. Das Objekt liefert den Wert.

<variable for value>

Definiert die Variable, die den Wert enthalten soll.

Beispiel einer Definition:

MAP PLOT_VALUES
   PLOT_PARAM.SCALE  => OPT.massstab
   PLOT_DATE         => OPT.datum
   'Demogemeinde'    => OPT.gemeinde
END_MAP

9.8. Objekt Map PLOT_WRITE_OBJECT

In dieser Map wird definiert, wie die Plot-Objekte geschrieben werden. Das schreiben ist abhängig vom Output-Modul und entspricht dem gängigen Verfahren wie mir RUN1.

MAP PLOT_WRITE_OBJECT
   ...
   <topic>,<table> => <rule to write>
   ...
END_MAP

<topic>,<table>

Topic und Table des Plot-Objektes entsprechend dem Modell PlotLayout.ili

<rule to write>

Schreibregel enstprecheden dem Output-Module.

Beispiel einer Definition (Output-Modul PSOUT):

MAP PLOT_WRITE_OBJECT
   Plot_Elemente,Border_Flaeche                    => OFF
   Plot_Elemente,Clipp_Flaeche                     => PSOUT_WRITE_CLIP2,IN.Geometrie,-1001
   Plot_Elemente,Flaeche                           => PSOUT_WRITE_POLYGON3,IN.Geometrie,white,-1005,PSOUT_WRITE_POLYLINE5,IN.Geometrie,continuous,black,0.05,-1004
   Plot_Elemente,Linie                             => PSOUT_WRITE_POLYLINE5,IN.Geometrie,continuous,black,0.05,-1004
   Plot_Elemente,Bild                              => PSOUT_WRITE_JPG6,IN.Geometrie,IN.Ori,IN.Width,IN.Height,IN.Bild,-1003
   Plot_Elemente,Text                              => PSOUT_WRITE_TEXT12,IN.Text,IN.Geometrie,IN.Ori,IN.HAli,IN.VAli,IN.Font,IN.Height,black,,IN.Slant,,-1003
   Plot_Elemente,Symbol_Linie                      => PSOUT_WRITE_POLYLINE5,IN.Geometrie,continuous,black,0.05,-1004
   Plot_Elemente,Symbol_Flaeche                    => PSOUT_WRITE_POLYGON3,IN.Geometrie,black,-1005

   Plot_Generiert,Koordinatenkreuz                 => PSOUT_WRITE_SYMBOL7,IN.Geometrie,IN.Ori,097055,black,IN.Scale,,100001
   Plot_Generiert,Koordinatenband_Linie            => PSOUT_WRITE_POLYLINE5,IN.Geometrie,continuous,black,0.05,100001
   Plot_Generiert,Koordinatenband_Text             => PSOUT_WRITE_TEXT12,IN.Text,IN.Geometrie,IN.Ori,IN.HAli,IN.VAli,Helvetica,IN.Height,black,,IN.Slant,,100001
   Plot_Generiert,Skalierungsband_Clipp_Flaeche    => PSOUT_WRITE_POLYGON3,IN.Geometrie,white,100001
   Plot_Generiert,Skalierungsband_Border_Linie     => PSOUT_WRITE_POLYLINE5,IN.Geometrie,continuous,black,0.05,100001
   Plot_Generiert,Skalierungsband_Block_Flaeche1   => PSOUT_WRITE_POLYLINE5,IN.Geometrie,continuous,black,0.05,100001
   Plot_Generiert,Skalierungsband_Block_Flaeche2   => PSOUT_WRITE_POLYGON3,IN.Geometrie,black,100001
   Plot_Generiert,Skalierungsband_Text             => PSOUT_WRITE_TEXT12,IN.Text,IN.Geometrie,IN.Ori,IN.HAli,IN.VAli,Helvetica,IN.Height,black,,IN.Slant,,100001
END_MAP

9.9. Anwendung

Das Modul kann auf zwei Arten angewendet werden.

Anwendung nicht als Input Source.

Das Modul wird inkludiert, die Parameter werden gesetzt. Nach der Verarbeitung der eigentlichen Daten werden die Plot-Objekte durch das Module automatisch verarbeitet.

Anwendung als Input Source.

Das Modul wird inkludiert. Das Modul wird als Input-Source definiert. Die Plot-Elemente werden mit RUN1 als Objekte geliefert und müssen verarbeiten werden.

9.10. Exportierte Prozeduren und Methoden

Zur Anwendung mit RUN1 mit dem Plot-Mould als Input Source.

ProzedurPLOT_OPEN ! [][]
BeschreibungÖffnet aufgrund der Plotparameter Format, Formatorientation und Massstab das entsprechende Plotlayout und initialisiert den Modul. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
PLOT_OPEN
ProzedurPLOT_READ_OBJECT [][b state]
Beschreibung

Liest das nächste IN-Objekt aus der geöffneten Plotlayouts. Die Prozedur wird von RUN1 automatisch aufgerufen.

Beispiel
PLOT_READ_OBJECT [TRUE]
ProzedurPLOT_CLOSE ! [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
PLOT_CLOSE

9.11. Skriptbeispiel

! Anwendung plot.mod nicht als Input Source.
! Diese ICS Konfiguration schreibt von ilin.mod
! gelesenen Objekte mit dxfout.mod in eine DXF-Datei
! und schreibt zusätlich die Plotlayout-Objekte

|LICENSE \license\iltools.lic

MAP USER_INPUT1
   DIALOG => FILE
   MESSAGE => 'Enter .itf Input File'
   FILE_FILTER => itf
   FILE_EXISTS => TRUE
   OPT => input
END_MAP

MAP USER_INPUT2
   DIALOG => FILE
   MESSAGE => 'Enter .dxf Output File'
   FILE_FILTER => dxf
   FILE_EXISTS => FALSE
   OPT => output
END_MAP

MAP ILIN_PARAM
   INTERLIS_DEF => \models\dm01avch24d.ili
   LOG_TABLE => ON
   TRACE => OFF
   STATISTICS => ON
   CALC_SURFACE => ON
END_MAP

MAP DXFOUT_PARAM
   TEMPLATE => \data\geobau2.tem
   CREATE_LAYERS => ON
   STATISTICS => ON
END_MAP

MAP PLOT_PARAM
   TYPE              => PLOT
   FORMAT            => A4
   FORMATORIENTATION => hoch
   ORIGIN            => '675855/245385'
   ANGLE             => '45.0'
   SCALE             => '1:500'
   LAYOUT            => ON
   COORDCROSS        => ON
   COORDBAND         => ON
   SCALEBAND         => ON
END_MAP

MAP PLOT_LAYOUT
   A0,quer,*   => \plot\a0q500.itf
   A0,hoch,*   => \plot\a0h500.itf
   A1,quer,*   => \plot\a1q500.itf
   A1,hoch,*   => \plot\a1h500.itf
   A2,quer,*   => \plot\a2q500.itf
   A2,hoch,*   => \plot\a2h500.itf
   A3,quer,*   => \plot\a3q500.itf
   A3,hoch,*   => \plot\a3h500.itf
   A4,quer,*   => \plot\a4q500.itf
   A4,hoch,*   => \plot\a4h500.itf
   DEFAULT     => \plot\a4h500.itf
END_MAP

MAP PLOT_COORDCROSS_WIDTH
   '1:250'     => 100.0
   '1:500'     => 100.0
   '1:1000'    => 100.0
   DEFAULT     => 100.0
END_MAP

MAP PLOT_SCALEBAND_WIDTH
   '1:250'     => 12.0
   '1:500'     => 20.0
   '1:1000'    => 40.0
END_MAP

MAP PLOT_VALUES
   PLOT_PARAM.SCALE  => OPT.massstab
   PLOT_DATE         => OPT.datum
   'Demogemeinde'    => OPT.gemeinde
END_MAP

MAP PLOT_WRITE_OBJECT
   Plot_Elemente,Border_Flaeche                    => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,plot,CONTINUOUS,7,,,,
   Plot_Elemente,Clipp_Flaeche                     => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,plot_clipp,CONTINUOUS,7,,,,
   Plot_Elemente,Flaeche                           => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,plot,CONTINUOUS,7,,,,
   Plot_Elemente,Linie                             => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,plot,CONTINUOUS,7,,,,
   Plot_Elemente,Bild                              => PSOUT_WRITE_JPG6,IN.Geometrie,IN.Ori,IN.Width,IN.Height,IN.Bild,-1003
   Plot_Elemente,Text                              => DXFOUT_WRITE_TEXT6,IN.Text,IN.Geometrie,IN.Ori,IN.HAli,IN.VAli,plot,CONTINUOUS,7,,STANDARD,IN.Height,,IN.Slant
   Plot_Elemente,Symbol_Linie                      => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,plot,CONTINUOUS,7,,,,
   Plot_Elemente,Symbol_Flaeche                    => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,plot,CONTINUOUS,7,,,,

   Plot_Generiert,Koordinatenkreuz                 => DXFOUT_WRITE_BLOCK3,IN.Geometrie,0.0,coordcross,CONTINUOUS,7,,KOKRZ,IN.Scale
   Plot_Generiert,Koordinatenband_Linie            => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,coordband,CONTINUOUS,7,,,,
   Plot_Generiert,Koordinatenband_Text             => DXFOUT_WRITE_TEXT6,IN.Text,IN.Geometrie,IN.Ori,IN.HAli,IN.VAli,coordband,CONTINUOUS,7,,STANDARD,IN.Height,,IN.Slant
   Plot_Generiert,Skalierungsband_Clipp_Flaeche    => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,scaleband_clipp,CONTINUOUS,7,,,,
   Plot_Generiert,Skalierungsband_Border_Linie     => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,scaleband,CONTINUOUS,7,,,,
   Plot_Generiert,Skalierungsband_Block_Flaeche1   => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,scaleband,CONTINUOUS,7,,,,
   Plot_Generiert,Skalierungsband_Block_Flaeche2   => DXFOUT_WRITE_POLYLINE2,IN.Geometrie,scaleband,CONTINUOUS,7,,,,
   Plot_Generiert,Skalierungsband_Text             => DXFOUT_WRITE_TEXT6,IN.Text,IN.Geometrie,IN.Ori,IN.HAli,IN.VAli,scaleband,CONTINUOUS,7,,STANDARD,IN.Height,,IN.Slant
END_MAP

MAP POINT_SYMBOLOGY
END_MAP

MAP BLOCK_SYMBOLOGY
   BS_1 => 01131,CONTINUOUS,7,,LFP3ST,0.5
END_MAP

MAP SHAPE_SYMBOLOGY
END_MAP

MAP TEXT_SYMBOLOGY
   TS_1 => 01159,CONTINUOUS,7,,STANDARD,1.0,,,
END_MAP

MAP LINE_SYMBOLOGY
END_MAP

MAP POLYLINE_SYMBOLOGY
END_MAP

MAP INPUT_SOURCES
   I1 => ILIN,OPT.input
END_MAP

MAP INOUT
   I1 => IN.TOPIC,IN.TABLE
   I1,FixpunkteKategorie3,LFP3Pos => T_1,TS_1
   I1,FixpunkteKategorie3,LFP3Symbol => B_1,BS_1
   I1,* => OFF

END_MAP

MAP MACRO
   B_1 => DXFOUT_WRITE_BLOCK3,IN.LFP3Symbol_von.Geometrie,0.0
   T_1 => DXFOUT_WRITE_TEXT6,IN.LFP3Pos_von.Nummer,IN.Pos,IN.Ori,IN.HAli,IN.VAli
END_MAP

|INCL \script\plot.mod
|INCL \script\ilin.mod
|INCL \script\dxfout.mod
|INCL \script\run1.prg
! Anwendung plot.mod als Input Source.
! Diese ICS Konfiguration schreibt von ilin.mod
! gelesenen Objekte mit dxfout.mod in eine DXF-Datei
! und schreibt zusätlich die Plotlayout-Objekte

|LICENSE \license\iltools.lic

MAP USER_INPUT1
   DIALOG => FILE
   MESSAGE => 'Enter .itf Input File'
   FILE_FILTER => itf
   FILE_EXISTS => TRUE
   OPT => input
END_MAP

MAP USER_INPUT2
   DIALOG => FILE
   MESSAGE => 'Enter .dxf Output File'
   FILE_FILTER => dxf
   FILE_EXISTS => FALSE
   OPT => output
END_MAP

MAP ILIN_PARAM
   INTERLIS_DEF => \models\dm01avch24d.ili
   LOG_TABLE => ON
   TRACE => OFF
   STATISTICS => ON
   CALC_SURFACE => ON
END_MAP

MAP DXFOUT_PARAM
   TEMPLATE => \data\geobau2.tem
   CREATE_LAYERS => ON
   STATISTICS => ON
END_MAP

MAP PLOT_PARAM
   TYPE              => PLOT
   FORMAT            => A4
   FORMATORIENTATION => hoch
   ORIGIN            => '675855/245385'
   ANGLE             => '45.0'
   SCALE             => '1:500'
   LAYOUT            => ON
   COORDCROSS        => ON
   COORDBAND         => ON
   SCALEBAND         => ON
END_MAP

MAP PLOT_LAYOUT
   A0,quer,*   => \plot\a0q500.itf
   A0,hoch,*   => \plot\a0h500.itf
   A1,quer,*   => \plot\a1q500.itf
   A1,hoch,*   => \plot\a1h500.itf
   A2,quer,*   => \plot\a2q500.itf
   A2,hoch,*   => \plot\a2h500.itf
   A3,quer,*   => \plot\a3q500.itf
   A3,hoch,*   => \plot\a3h500.itf
   A4,quer,*   => \plot\a4q500.itf
   A4,hoch,*   => \plot\a4h500.itf
   DEFAULT     => \plot\a4h500.itf
END_MAP

MAP PLOT_COORDCROSS_WIDTH
   '1:250'     => 100.0
   '1:500'     => 100.0
   '1:1000'    => 100.0
   DEFAULT     => 100.0
END_MAP

MAP PLOT_SCALEBAND_WIDTH
   '1:250'     => 12.0
   '1:500'     => 20.0
   '1:1000'    => 40.0
END_MAP

MAP PLOT_VALUES
   PLOT_PARAM.SCALE  => OPT.massstab
   PLOT_DATE         => OPT.datum
   'Demogemeinde'    => OPT.gemeinde
END_MAP

MAP POINT_SYMBOLOGY
END_MAP

MAP BLOCK_SYMBOLOGY
   BS_1      => 01131,CONTINUOUS,7,,LFP3ST,0.5
   PLOT_BS_1 => coordcross,CONTINUOUS,7,,KOKRZ,IN.Scale
END_MAP

MAP SHAPE_SYMBOLOGY
END_MAP

MAP TEXT_SYMBOLOGY
   TS_1      => 01159,CONTINUOUS,7,,STANDARD,1.0,,,
   PLOT_TS_1 => plot,CONTINUOUS,7,,STANDARD,IN.Height,,IN.Slant
   PLOT_TS_2 => coordband,CONTINUOUS,7,,STANDARD,IN.Height,,IN.Slant
   PLOT_TS_3 => scaleband,CONTINUOUS,7,,STANDARD,IN.Height,,IN.Slant
END_MAP

MAP LINE_SYMBOLOGY
END_MAP

MAP POLYLINE_SYMBOLOGY
   PLOT_PLS_1 => plot,CONTINUOUS,7,,,,
   PLOT_PLS_2 => plot_clipp,CONTINUOUS,7,,,,
   PLOT_PLS_3 => coordband,CONTINUOUS,7,,,,
   PLOT_PLS_4 => scaleband_clipp,CONTINUOUS,7,,,,
   PLOT_PLS_5 => scaleband,CONTINUOUS,7,,,,
END_MAP

MAP INPUT_SOURCES
   I1 => ILIN,OPT.input
   P1 => PLOT
END_MAP

MAP INOUT
   I1 => IN.TOPIC,IN.TABLE
   I1,FixpunkteKategorie3,LFP3Pos => T_1,TS_1
   I1,FixpunkteKategorie3,LFP3Symbol => B_1,BS_1
   I1,* => OFF

   P1 => IN.TOPIC,IN.TABLE
   P1,Plot_Elemente,Border_Flaeche                    => PLOT_PL_1,PLOT_PLS_1
   P1,Plot_Elemente,Clipp_Flaeche                     => PLOT_PL_1,PLOT_PLS_2
   P1,Plot_Elemente,Flaeche                           => PLOT_PL_1,PLOT_PLS_1
   P1,Plot_Elemente,Linie                             => PLOT_PL_1,PLOT_PLS_1
   P1,Plot_Elemente,Text                              => PLOT_T_1,PLOT_TS_2
   P1,Plot_Elemente,Symbol_Linie                      => PLOT_PL_1,PLOT_PLS_1
   P1,Plot_Elemente,Symbol_Flaeche                    => PLOT_PL_1,PLOT_PLS_1

   P1,Plot_Generiert,Koordinatenkreuz                 => PLOT_B_1,PLOT_BS_1
   P1,Plot_Generiert,Koordinatenband_Linie            => PLOT_PL_1,PLOT_PLS_3
   P1,Plot_Generiert,Koordinatenband_Text             => PLOT_T_1,PLOT_TS_2
   P1,Plot_Generiert,Skalierungsband_Clipp_Flaeche    => PLOT_PL_1,PLOT_PLS_4
   P1,Plot_Generiert,Skalierungsband_Border_Linie     => PLOT_PL_1,PLOT_PLS_5
   P1,Plot_Generiert,Skalierungsband_Block_Flaeche1   => PLOT_PL_1,PLOT_PLS_5
   P1,Plot_Generiert,Skalierungsband_Block_Flaeche2   => PLOT_PL_1,PLOT_PLS_5
   P1,Plot_Generiert,Skalierungsband_Text             => PLOT_T_1,PLOT_TS_3
   P1,* => OFF
END_MAP

MAP MACRO
   B_1       => DXFOUT_WRITE_BLOCK3,IN.LFP3Symbol_von.Geometrie,0.0
   T_1       => DXFOUT_WRITE_TEXT6,IN.LFP3Pos_von.Nummer,IN.Pos,IN.Ori,IN.HAli,IN.VAli

   PLOT_B_1  => DXFOUT_WRITE_BLOCK3,IN.Geometrie,0.0
   PLOT_T_1  => DXFOUT_WRITE_TEXT6,IN.Text,IN.Geometrie,IN.Ori,IN.HAli,IN.VAli
   PLOT_PL_1 => DXFOUT_WRITE_POLYLINE2,IN.Geometrie
END_MAP

|INCL \script\plot.mod
|INCL \script\ilin.mod
|INCL \script\dxfout.mod
|INCL \script\run1.prg