Zum Hauptinhalt springen
Version: Preview

Redline Export Commandozeilen Werkzeug

Ab Version 27.1.35

Exportiert die Elemente einer serverseitigen Public Redlining-Datei (*.sod) in eine DXF, GeoJSON-Datei oder SQL Datei ohne jede Benutzerinteraktion, damit der Export zeitgesteuert laufen kann.

Geschrieben werden nur Elemente, die seit dem letzten Export angelegt wurden. Der Job kann also jede Nacht laufen, ohne dasselbe Element zweimal zu exportieren. Die Redlining-Datei selbst wird dabei nie verändert — die MapEdit-Anwender arbeiten unverändert damit weiter.

Die zwei Modi

Mode=Local (Standard)Mode=Remote
Läuft aufdem MapEdit-Server selbsteinem beliebigen Rechner
Anmeldungkeinemeldet sich an wie jedes andere Executor-Kommando
Tokennicht nötigRedlineExportToken in der Ini
Nötig in der IniMapEditDataPathMapEditServerUrl + MapEditStorageName
Dateizugriffdirekt auf der Platteüber den MapEdit-Webservice

Mode=Local ist der Standard, weil das der vorgesehene Aufbau ist: das Werkzeug läuft auf dem Rechner, auf dem die Redlining-Dateien schon liegen, es gibt also nichts, wo man sich anmelden müsste. Außerdem entfallen damit die zwei Einschränkungen des Remote-Wegs (siehe Grenzen).

Ini-Datei

Die MapEdit.Executor.Desktop.exe liegt im selben Ordner wie der AppBuilder selbst. Der Token-Dialog im Settings-Dokument des AppBuilders (Kontext-Ribbon, Gruppe Token) zeigt den genauen Pad zure EXE Datei an.

Alles Folgende Parameter gehört in die MapEdit.Executor.ini neben der MapEdit.Executor.Desktop.exe.

# Mode=Local
MapEditDataPath=C:\inetpub\wwwroot\MumGeoData

# Mode=Remote
MapEditServerUrl=https://myserver/mum.geo.services
MapEditStorageName=C:\Sandbox\Cache\MapEdit\MyServer
RedlineExportToken="1F8B0800000000000400..."

MapEditDataPath ist der DataPath des MapEdit-Servers — der Ordner, der Userdata, System und Repositories enthält. Der AppBuilder zeigt ihn im weiter unten beschriebenen Token-Dialog an.

Jeder Ini-Eintrag kann auch auf der Kommandozeile übergeben werden und gewinnt dann gegen die Ini. Das ist praktisch, wenn ein Rechner mehrere Server oder Projekte bedient:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~MapEditDataPath=D:\OtherServerData~...

Kommandozeilenparameter

Die Parameter werden mit ~ getrennt, genau wie bei jedem anderen Executor-Kommando.

ParameterPflichtBedeutung
Execute=RedlineExportjawählt dieses Kommando aus
Project=jaProjektname. Die Redlining-Dateien werden in <MapEditDataPath>\Userdata\<Project>\Public\Redlining gesucht
RedlineFile=jaName der Redlining-Datei in diesem Ordner. Die Endung .sod darf weggelassen werden. Reiner Dateiname ohne Pfadangabe.
OutFile=javollständiger Pfad der zu erzeugenden Datei. Fehlende Ordner werden angelegt. Eine vorhandene Datei wird zu Beginn des Laufs gelöscht, siehe unten. DxfFile= ist der ältere Name und funktioniert weiter; sind beide gesetzt, gewinnt OutFile=
Format=neinDxf (Standard), GeoJson, OracleSql oder PostgresSql, siehe Die Formate
Tablename=bei SQLName der Zieltabelle für Format=OracleSql und Format=PostgresSql. Bei den anderen Formaten ohne Wirkung
GeometryColumn=neinName der Geometriespalte der INSERT-Anweisungen, Standard GEOM
Epsg=neinEPSG-Code der Koordinaten, z. B. 31467. Die Redlining-Datei speichert keinen EPSG-Code, dieser Parameter ist die einzige Quelle dafür. Ohne ihn wird keine SRID geschrieben
Mode=neinLocal (Standard) oder Remote
LogFile=neinvollständiger Pfad der Logdatei. Ohne diesen Parameter ist das Log die MapEdit.Executor.log neben der Exe. In beiden Fällen wird sie bei jedem Lauf geleert, sie enthält also immer den letzten Lauf und nichts sonst
ExportedAfter=neinexportiert alles, was nach diesem Datum angelegt wurde, statt das gespeicherte Datum zu verwenden. Ein Datum vor 1900 exportiert alles. Nur für einen manuellen Nachlauf, siehe unten
Interactive=trueneinlässt das Konsolenfenster offen, wenn es Fehler gab
AutoClose=falseneinlässt das Konsolenfenster auch ohne Fehler offen
Debug=trueneinhängt beim Start den Debugger an

Exportiert werden nur öffentliche Redlining-Dateien. Es gibt keinen Layer-Parameter: exportiert wird die komplette Redlining-Datei mit allen ihren Redlining-Layern.

Die Formate

Format=Dxf (Standard)Format=GeoJsonFormat=OracleSql / PostgresSql
LayerDXF-Layer je Redlining-LayerEigenschaft Layer am Featurenicht vorhanden
FarbeLinien- und Flächenfarbe, Punktfarbealle Farbnamen als Eigenschaftennicht vorhanden
Strichstärke, Strichmuster, Schraffur, Deckkraftnicht vorhandenals Eigenschaften vorhandennicht vorhanden
Textechte TEXT-Entity mit Höhe und DrehungPunkt-Feature mit der Eigenschaft Textnur die Geometrie des Textpunkts
Anlagedatumnicht vorhandenEigenschaft CreatedUtcnicht vorhanden
Darstellungein CAD zeigt die Zeichnungnichts stellt es von allein dardie Datenbank zeichnet nicht
Ausgabeeine DXF-Dateieine GeoJSON-Dateieine Textdatei mit INSERT-Anweisungen

DXF

Aus jedem Redlining-Layer wird ein DXF-Layer (Großbuchstaben, maximal 26 Zeichen; Elemente des Standard-Redlining-Layers landen im Layer REDLINING). Punkte werden als Block (Kreis in der Füllfarbe) in Symbolgröße geschrieben, Texte als TEXT-Entity mit Schriftgröße und Drehung, Linien und Flächen als Polylinie in der Strichfarbe.

GeoJSON

Eine FeatureCollection mit einem Feature je Element, ein Feature je Zeile. Die Geometrie steht in geometry, alles andere in properties:

{ "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [2680512.310000,1247856.220000] ] },
"properties": { "Layer": "Baustelle", "CreatedUtc": "2026-09-01T21:14:07Z", "GeometryType": "LineString",
"StyleType": "Line", "StrokeColor": "Red", "StrokeThickness": 2.0,
"StrokeDashArray": "", "Opacity": 100, "UseRoundCap": true,
"ArrowWidth": 0.0, "ArrowHeight": 0.0, "DrawUnit": "Pixel" } }
  • Immer vorhanden: Layer, CreatedUtc, GeometryType, StyleType.
  • CreatedUtc ist null bei Elementen ohne Anlagedatum (siehe Welche Elemente exportiert werden).
  • Je nach StyleType kommen dazu: FillColor, StrokeColor, Symbol, SymbolWidth, SymbolHeight, SymbolOffsetX/Y, Rotation (Punkt); Text, FontSize, FontFamily, TextColor, BackgroundColor, Rotation, Ausrichtungen, HasBorder, BorderColor, BorderThickness, IsItalic, IsUnderlined, Opacity (Text); StrokeColor, StrokeThickness, StrokeDashArray, Opacity, UseRoundCap, ArrowWidth, ArrowHeight (Linie); dieselben plus FillColor und HatchStyle (Fläche); StrokeColor, TextColor, TextBackgroundColor, FontSize, DimArrowStyle, DimTextPrecision, UserdefinedDimText (Bemaßung).
  • Gruppierte Elemente tragen zusätzlich GroupId und GroupType.
  • Farben stehen als der Name, den MapEdit speichert (Red, oder #FF0000), sie werden nicht umgerechnet.
  • GeoJSON kennt keinen Kreis. Ein Kreis wird als Punkt geschrieben (Mittelpunkt); der Radius steht in den Eigenschaften, der exakte Kreis ist daraus wieder herstellbar.
  • Die Koordinaten stehen so in der Datei, wie sie in der Redlining-Datei stehen, also im Bezugssystem des Projekts — siehe Grenzen.

OracleSql und PostgresSql

Eine Textdatei mit einer INSERT-Anweisung je Element. Geschrieben wird nur die Geometrie, keine Attribute — die Zieltabelle braucht also genau eine Spalte. Wer Layer, Anlagedatum oder Stil braucht, nimmt Format=GeoJson.

-- MapEdit RedlineExport, 2026-09-04 23:00:01
-- 42 Element(s), Table REDLINING_IMPORT, Geometry Column GEOM
-- Oracle (SDO_GEOMETRY), EPSG 31467

INSERT INTO REDLINING_IMPORT (GEOM) VALUES (SDO_GEOMETRY('POINT(3426998.5 5787573.57)',31467));
INSERT INTO REDLINING_IMPORT (GEOM) VALUES (SDO_GEOMETRY('LINESTRING(3426998.5 5787573.57,3427012.1 5787590.4)',31467));

COMMIT;

Bei Format=PostgresSql steht dort ST_GeomFromText('...',31467) statt SDO_GEOMETRY(...).

  • Tablename= ist Pflicht, GeometryColumn= ist optional (Standard GEOM).
  • Ohne Epsg= wird die Geometrie ohne SRID geschrieben, also SDO_GEOMETRY('POINT(...)') bzw. ST_GeomFromText('POINT(...)'). Beide Datenbanken nehmen das an.
  • Die Tabelle wird nicht angelegt, es gibt kein CREATE TABLE. Das ist Sache des Kunden.
  • Ein COMMIT; steht am Ende, auch wenn nichts zu exportieren war.
  • Kreise werden als Punkt geschrieben (Mittelpunkt, ohne Radius). ToWKT schreibt einen Kreis als CIRCLE(x y r), und das ist kein gültiges WKT — die Anweisung würde in der Datenbank scheitern. Bögen brauchen das nicht, sie werden als CIRCULARSTRING und COMPOUNDCURVE geschrieben, was Oracle liest.
  • Es steht kein Kundentext in der Datei, nur Zahlen und WKT-Schlüsselwörter. Deshalb muss auch nichts maskiert werden. Wer später Attribute ergänzt, muss sich um Hochkommata kümmern.

Beispiele

Normaler nächtlicher Lauf auf dem Server:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Project=GIS_MENTENANTA~RedlineFile=Redlining.sod~OutFile=D:\Export\redline.dxf~LogFile=D:\Export\redline.log

Dasselbe als GeoJSON:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Format=GeoJson~Project=GIS_MENTENANTA~RedlineFile=Redlining.sod~OutFile=D:\Export\redline.geojson~LogFile=D:\Export\redline.log

Als INSERT-Anweisungen für Oracle, in die Tabelle REDLINING_IMPORT:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Format=OracleSql~Tablename=REDLINING_IMPORT~Epsg=31467~Project=GIS_MENTENANTA~RedlineFile=Redlining.sod~OutFile=D:\Export\redline.sql~LogFile=D:\Export\redline.log

Dasselbe für PostgreSQL, mit eigener Geometriespalte:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Format=PostgresSql~Tablename=redlining_import~GeometryColumn=geom~Epsg=25832~Project=GIS_MENTENANTA~RedlineFile=Redlining.sod~OutFile=D:\Export\redline.sql

Dasselbe von einem anderen Rechner aus, mit Token:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Mode=Remote~Project=GIS_MENTENANTA~RedlineFile=Redlining.sod~OutFile=D:\Export\redline.dxf~LogFile=D:\Export\redline.log

Zum Testen von Hand, mit offen bleibendem Fenster:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Project=LasVegas~RedlineFile=Redlining~OutFile=C:\Temp\redline.dxf~Interactive=true~AutoClose=false

Einen Export wiederholen, weil die Datei der letzten Nacht verloren gegangen ist, ohne den Zeitplan zu stören:

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Project=LasVegas~RedlineFile=Redlining~OutFile=C:\Temp\again.dxf~ExportedAfter=2026-09-01 23:00:00

Alles exportieren, ohne den Marker und damit den Zeitplan anzufassen (jedes Datum vor 1900 nimmt auch die Elemente ohne Anlagedatum mit):

MapEdit.Executor.Desktop.exe Execute=RedlineExport~Project=LasVegas~RedlineFile=Redlining~OutFile=C:\Temp\all.geojson~Format=GeoJson~ExportedAfter=1800-01-01 00:00:00

In der Windows-Aufgabenplanung eine Aufgabe anlegen mit

  • Programm: der vollständige Pfad der MapEdit.Executor.Desktop.exe
  • Argumente: Execute=RedlineExport~Project=...~RedlineFile=...~OutFile=...~LogFile=...
  • Starten in: dem Ordner der Exe (von dort liest sie die MapEdit.Executor.ini)

und täglich laufen lassen. Das Konto, unter dem die Aufgabe läuft, braucht Leserechte auf den Redlining-Ordner und Schreibrechte auf den Ausgabeordner — und bei Mode=Local zusätzlich Schreibrechte auf den Redlining-Ordner, wegen der Markerdatei.

Der Pfad der Exe ist keine feste Größe und sollte nicht von Hand eingetippt werden: die Exe liegt im selben Ordner wie der AppBuilder selbst, und der liegt unterhalb des Benutzerprofils und ist damit je Benutzer und je installiertem Zweig ein anderer. Der Token-Dialog, beschrieben unter Token erzeugen, zeigt Programm, Starten in und Argumente des Rechners, auf dem er läuft, fertig zum Kopieren — und sagt es, wenn die Exe nicht in diesem Ordner liegt. Ihn zu öffnen lohnt sich auch für Mode=Local, wo überhaupt kein Token gebraucht wird.

Welche Elemente exportiert werden

Jedes Redlining-Element trägt ein Anlagedatum (CreatedUtc).

Das Feld "CreatedUtc" gibt es erst ab Version 27.1.34/26.1.339 und wurde speziell für den Export eingebaut.

Das Datum des letzten Exports steht in einer kleinen Markerdatei neben der Redlining-Datei:

...\Userdata\<Project>\Public\Redlining\Redlining.sod
...\Userdata\<Project>\Public\Redlining\Redlining.sod.lastexport
{"LastExportUtc":"2026-09-01T21:00:00Z","LastExportLocal":"01.09.2026 23:00:00",
"ElementCount":42,"OutFileName":"D:\\Export\\redline.dxf","Format":"Dxf",
"ExportedByMaschine":"MAPEDITSRV","MapEditVersion":"27.1"}
  • Keine Markerdatei — das ist der erste Export dieser Datei, also werden alle Elemente exportiert. Dazu gehören auch Elemente ohne Anlagedatum (gezeichnet mit einer MapEdit-Version, die noch keines gespeichert hat, oder aus einem DXF importiert); sie kommen in diesem ersten Lauf mit und danach nie wieder.
  • Markerdatei vorhanden — exportiert werden nur Elemente, die nach LastExportUtc angelegt wurden.
  • Nach einem erfolgreichen Export wird der Marker auf die Startzeit des Laufs gesetzt, nicht auf die Endzeit. Ein Element, das während des laufenden Jobs gezeichnet wird, kommt deshalb im nächsten Lauf mit, statt übersprungen zu werden.
  • Der Marker wird nur geschrieben, wenn die Ausgabedatei tatsächlich geschrieben wurde, und nie bei Verwendung von ExportedAfter=. Ein fehlgeschlagener Lauf verschluckt also keine Elemente, und ein manueller Nachlauf bringt den Zeitplan nicht durcheinander. Ein Lauf, der nichts Neues gefunden hat, gilt als erfolgreich und setzt den Marker weiter — dabei kann nichts verloren gehen, denn ein Element innerhalb des Zeitfensters wäre exportiert worden.
  • Um alles zu exportieren, ohne den Zeitplan zu stören, ExportedAfter=1800-01-01 00:00:00 verwenden. Elemente ohne Anlagedatum tragen intern den 01.01.1900, ein Datum davor nimmt also wirklich alles mit — ab 1900 fehlen genau diese Elemente. Der Marker bleibt dabei unangetastet, der Lauf der nächsten Nacht exportiert also weiter nur das Neue.
  • Um alles erneut zu exportieren, die Markerdatei löschen.
  • Es gibt einen Marker je Redlining-Datei, kein Format steht darin für sich. Wer dieselbe Redlining-Datei in beide Formate exportiert, muss beide Läufe als einen betrachten: der erste Lauf verschiebt den Marker, der zweite findet nichts Neues mehr. Zwei Formate parallel heißt also: zwei Kopien der Redlining-Datei, oder für den zweiten Lauf ExportedAfter=.

Die Markerdatei kann im Dialog "Redlining-Datei laden" des Clients nicht auftauchen, weil dieser den Ordner mit dem Muster *.sod auflistet. Die Endung wird an den vollen Namen angehängt (x.sod.lastexport) und ersetzt nicht .sod, denn Directory.GetFiles liefert bei einem dreibuchstabigen Endungsmuster auch Dateien zurück, deren Endung mit diesen Zeichen lediglich beginnt — ein Name wie x.sodexport würde in der Dateiliste des Anwenders erscheinen.

Gibt es nichts Neues, wird eine leere Datei geschrieben — warum, steht im nächsten Abschnitt.

Die Ausgabedatei, und woran man einen erfolgreichen Lauf erkennt

Die mit OutFile= benannte Datei wird zu Beginn des Laufs gelöscht, noch vor allem anderen, und nicht erst kurz vor dem Schreiben der neuen. Das abholende Werkzeug kann eine alte Datei nicht von einer frischen unterscheiden, ein fehlgeschlagener Lauf darf also nicht die Datei von gestern liegen lassen, die dann ein zweites Mal geladen wird.

Gibt es nichts Neues, wird eine leere Datei geschrieben und nicht einfach keine. Zusammen ergibt das für die abholende Seite eine einzige Regel:

Nach dem LaufBedeutung
Datei vorhandender Lauf hat funktioniert. Sie enthält genau die Elemente dieses Laufs — womöglich keine
Datei fehltder Lauf ist fehlgeschlagen. Warum, steht im Log

Ein leeres DXF ist ein gültiges DXF ohne Entities, ein leeres GeoJSON eine FeatureCollection mit leerem features-Array. Beides liefert in FME einfach null Features, nachgelagert braucht es also keinen Sonderfall.

Die Exe liefert zusätzlich einen Exit Code: 0, wenn der Lauf erfolgreich war, 1, wenn es Fehler gab (dieselben Fehler, die das Log unter ERRORS: auflistet). "Nichts Neues zu exportieren" ist ein Erfolg, liefert also 0 und eine leere Datei. Eine geplante Aufgabe wird damit von selbst rot, und ein aufrufendes Werkzeug kann auf den Code verzweigen, statt das Log zu parsen. Das Log selbst ist für Menschen gedacht — es hat kein stabiles maschinenlesbares Format, bitte keinen Parser darauf bauen.

Lässt sich die alte Datei nicht löschen — meistens, weil sie noch irgendwo offen ist —, bricht der Lauf mit einem Fehler ab, exportiert nichts und liefert 1.

Token erzeugen (nur Mode=Remote)

Mode=Local braucht kein Token. Für Mode=Remote:

  1. Den AppBuilder starten und ein Settings-Dokument öffnen.

  2. Im Kontext-Ribbon auf Token klicken (Gruppe Token).

  3. Ein Dialog zeigt die Zeile

    RedlineExportToken="1F8B0800000000000400..."

    Liegt neben dem AppBuilder eine MapEdit.Executor.ini, wurde die Zeile dort schon eingetragen und die alte ersetzt. Andernfalls die Zeile in die MapEdit.Executor.ini neben der MapEdit.Executor.Desktop.exe auf dem Rechner kopieren, der den Job ausführt.

  4. Derselbe Dialog zeigt außerdem die Zeile MapEditDataPath= für Mode=Local sowie Programm, Starten in und Argumente der Windows-Aufgabe, mit dem echten Pfad der MapEdit.Executor.Desktop.exe auf dem Rechner, auf dem der AppBuilder läuft. Liegt die Exe nicht in diesem Ordner, sagt der Dialog das, statt einen Pfad auszugeben, der nicht funktioniert.

Das Token trägt Benutzernamen und Kennwort des aktuell angemeldeten AppBuilder-Benutzers. Es sollte also mit dem Konto erzeugt werden, unter dem der Job laufen soll. Es ist derselbe Mechanismus wie beim TileUpdater-Token (TUBDocument.AddTileUpdaterTokenToIni), und deshalb stehen in der Kommandozeile nie Zugangsdaten.

Das Token ist komprimiert, nicht verschlüsselt. Wer die Ini-Datei lesen kann, kann das Kennwort wieder herauslesen. Die MapEdit.Executor.ini also entsprechend behandeln — oder Mode=Local verwenden, das überhaupt keine Zugangsdaten braucht.

Log und Fehler

Jeder Schritt wird auf die Konsole und in die Logdatei geschrieben:

Run Redline Export
------------------
Date : 01.09.2026 23:00:01
Mode : Local
Format : Dxf
Epsg : not set
Project : GIS_MENTENANTA
Redline : Redlining.sod
OutFile : D:\Export\redline.dxf
Deleted : D:\Export\redline.dxf of the last Run
SodFile : C:\inetpub\wwwroot\MumGeoData\Userdata\GIS_MENTENANTA\Public\Redlining\Redlining.sod
Cutoff : 2026-08-31T21:00:00Z (31.08.2026 23:00:00 local) (last Export)
Elements: 1302 in the File, 42 to export, 1260 exported before
DXF : D:\Export\redline.dxf written
Marker : ...\Redlining.sod.lastexport set to 2026-09-01T21:00:00Z (01.09.2026 23:00:00 local)
Duration: 2sec
Done

Bei Format=GeoJson heißt die Zeile GeoJson : statt DXF :, bei den SQL-Formaten Sql :. Diese schreiben zusätzlich eine Zeile Table : <Tabelle> (<Spalte>) in den Kopf. Enthält der Export Elemente mit einer Geometrie, die das gewählte Format nicht darstellen kann, sagt eine zusätzliche Elements:-Zeile, wie viele nicht in der Datei stehen.

Fehler werden gesammelt und am Ende unter ERRORS: ausgegeben, die Exe liefert dann den Exit Code 1. Als Fehler gemeldet und den Lauf abbrechend: ein fehlender Parameter, ein unbekannter Wert von Format=, eine nicht vorhandene Redlining-Datei, eine nicht löschbare Ausgabedatei des letzten Laufs, eine unlesbare oder ungültige Markerdatei und ein Fehlschlag beim Erzeugen der Ausgabedatei.

Ein Fall ist es wert, ihn zu kennen: wurde die Ausgabedatei geschrieben, konnte der Marker aber nicht gespeichert werden, dann sagt das Log das ausdrücklich — der nächste Lauf würde diese Elemente ein zweites Mal exportieren. Eine ungültige Markerdatei wird ebenfalls nie stillschweigend übergangen, denn ein Rückfall auf "alles exportieren" würde dem Kunden Elemente, die er schon hat, ein weiteres Mal in seine Tabelle schieben.

Grenzen

  • Exportiert wird die komplette Redlining-Datei, einzelne Redlining-Layer lassen sich nicht auswählen.
  • Erzeugt wird nur die Datei. Sie in eine Datenbank zu laden, ist Sache des Kunden (FME bei Engie).
  • Kein EPSG-Code in den Daten. Die Redlining-Datei speichert ihre Geometrien als reines WKT ohne SRID, und das Bezugssystem des Projekts hängt am MapWindow, das dieser Export nie lädt. Der EPSG-Code kommt also aus Epsg= oder gar nicht. Es wird nie umprojiziert: exportiert werden immer die Koordinaten, wie sie in der Redlining-Datei stehen.
  • GeoJSON und Bezugssystem: RFC 7946 schreibt WGS84 in Längen- und Breitengrad vor. Mit Epsg= wird der Code als crs-Member geschrieben (die alte, aus dem Standard entfernte Schreibweise, die FME und QGIS weiterhin lesen), ohne Epsg= steht dort nichts — geraten wird nichts. Ein Empfänger, der GeoJSON wörtlich als WGS84 nimmt, legt die Daten an die falsche Stelle. Er muss das Bezugssystem kennen oder gesetzt bekommen.
  • Ein Kreis wird auf seinen Mittelpunkt reduziert, nur das DXF enthält einen echten Kreis. In GeoJSON bleibt der Radius als Eigenschaft erhalten, in den SQL-Formaten geht er verloren.
  • Die SQL-Formate schreiben nur die Geometrie, keine Attribute, und legen die Tabelle nicht an.
  • Mode=Remote meldet sich über CheckAppBuilderAccess an, dieses Konto braucht also AppBuilder-Rechte, nicht nur Zugriff auf den öffentlichen Redlining-Ordner. Für Mode=Local gilt das nicht.
  • Mode=Remote bricht ab, wenn die Version der Exe nicht zur Serverversion passt. Nach einem Server-Update muss die Exe auf dem Rechner, der den Job ausführt, neu verteilt werden. Mode=Local ist davon nicht betroffen.