Mit dem Modul MTOPO können geschlossene Flächen aus Begrenzungslinien (Boundaries) und Zentroiden berechnet werden. Im Gegensatz zum Modul TOPO können mit MTOPO mehrere Flächennetze gleichzeitig berechnet werden.
MTOPO wird mit:
|INCL \script\mtopo.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Folgende Parameter können in der Map TOPO_PARAM
für den Modul gesetzt werden:
Parameter | req/opt | Beschreibung |
RESOLUTION | r | Geometrische Auflösung der Inputgeometrien. Für mm muss
z.B. 0.001 eingegeben werden. |
OVERLAP | r | Möglicher Overlap für Kreisbögen gemäss INTERLIS
Spezifikation (z.B. 0.2 ). |
Falls die Map |
Dem Modul MTOPO werden Objekte mit den vordefinierten Prozeduren
TOPO_WRITE_CENTROID3
bzw.
TOPO_WRITE_BOUNDARY2
übergeben (s.a. unten). Nach der
Toplogieberechnung liefert der MTOPO Modul folgende IN-Objekte:
Komponente | req/opt | Beschreibung |
IN.LAYER(s) | r | Layer des gelieferten Objekts (s.a. unten). |
IN.GEOM(a) | r | Geometrie der berechneten Fläche. |
IN.VALUE(s) | r | Attributwert der berechneten Fläche. |
Prozedur | MTOPO_OPEN ! [s arg][] |
Beschreibung | Öffnet den Topologiemodul. Das
Argument |
Beispiel | '' MTOPO_OPEN |
Prozedur | MTOPO_READ_OBJECT ! [][b status] |
Beschreibung | Liest das nächste IN-Objekt
gemäss Objektmodell. |
Beispiel | MTOPO_READ_OBJECT [TRUE] |
Prozedur | MTOPO_CLOSE ! [][] |
Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Ressourcen wieder frei. Alle temporären Dateien werden wieder gelöscht. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel | MTOPO_CLOSE |
Prozedur | MTOPO_WRITE_BOUNDARY2 ! s layer, l boundary |
Beschreibung | Schreibt die Begrenzungslinie
<boundary > in den Topologiebuffer
<layer> . Es können beliebig viele
Topologiebuffer via <layer> angesprochen
werden. |
Beispiel | ... => MTOPO_WRITE_BOUNDARY2,buffer1,IN.GEOM |
Prozedur | MTOPO_WRITE_CENTROID3 ! s layer, o value, p centroidpoint |
Beschreibung | Schreibt das Zentroid in den
Topologiebuffer <layer> . Das Zentroid
erhält den Attributwert <value> und der
Zentroidpunkt ist
<centroidpoint >. |
Beispiel | ... => MTOPO_WRITE_CENTROID3,buffer1,IN.TXT,IN.GEOM |
Es ist auch möglich die Topologie mit der Klasse TOPO ohne die Verwendung von RUN1 zu berechnen (s.a. iG/Script Benutzer- und Referenzhandbuch). |
! Diese ICS Konfiugration berechnet aus DXF Polylines geschlossene ! Flaechen. Die Flaechen werden in der .log Datei angezeigt. ! Fuer die Berechnung wird der MTOPO Modul eingesetzt. |LICENSE \license\iltools.lic MAP USER_INPUT1 DIALOG => FILE ! FILE | STRING | ODBC MESSAGE => 'Enter .dxf Input File' FILE_FILTER => dxf FILE_EXISTS => TRUE OPT => input END_MAP MAP DXFIN_PARAM STATISTICS => ON DEBUG => OFF END_MAP MAP INPUT_SOURCES I1 => DXFIN,OPT.input I2 => MTOPO END_MAP MAP INOUT I1 => IN.LAYER I1,01234 => MTOPO_WRITE_BOUNDARY2,buffer1,IN.GEOM I1,01235 => MTOPO_WRITE_CENTROID3,buffer1,IN.TXT,IN.GEOM I1,* => OFF I2 => DISPLAY_OBJECT1,IN END_MAP |INCL \script\util.lib |INCL \script\mtopo.mod |INCL \script\dxfin.mod |INCL \script\run1.prg