GIS Daten reparieren
Zur Reparatur der GIS Daten können folgende Einstellungen getroffen werden:
- Toleranz Suche Datenblock auf Linie
- 3D Linien Suchen oder auch nicht
- Toleranz ab welcher Datenblock auf Linie geschoben werden soll
- Blöcke 3D verschieben oder nicht
- Fehlerblöcke setzen
- Linien: Fehlende GIS-Datensätze ergänzen
- GIS-Attribute aus Blockattributen ergänzen
- Blockattribute haben Priorität
- Fehlende GIS-Attribute aus Block ergänzen
Die Funktion dient dazu um existierende Zeichnungen zu reparieren oder auch GIS Datensätze, die noch nicht existieren, anhand der von Datenblöcken aus der Zeichnung zu erstellen.
Ablauf
1) Suche Datenblöcke und Zuordnung zu GIS Datensätzen
Es werden in den GIS Daten Verbindungen zu Autocad Objekten entfernt, die es nicht mehr gibt.
Es werden alle Attributvorlagen in der Konfiguration gesucht. Dort ist die CfgID und das Thema der Datenblöcke definiert.
Damit werden in der Zeichnung die Datenblöcke gesucht.
Wenn ein Datenblock gefunden wird, dann wird geschaut ob dieser mit einem existierenden GIS Datensatz verbunden ist. (In den schon existierenden GIS Datensätzen wird geschaut ob einer davon eine Referenz auf diesen Block gespeichert hat.)
Umgekehrt werden alle GIS Daten durchlaufen und geschaut ob darin Datenblöcke/Symbole referenziert sind und diese geprüft.
Wenn ein Block gefunden wird, zu dem es noch keinen GIS Datensatz gibt, dann wird die zugehörige Attributvorlage gesucht. Ist diese nicht vorhanden, dann ist es kein GIS Datenblock und der Block wird ignoriert.
Die Attribute des Blockes werden ausgelesen und über die Attributvorlage wird nach der GUID gesucht.
Ist eine GUID vorhanden, dann kann gezielt nach dem zugehörigen GIS Datensatz gesucht werden.
Wird kein Datensatz gefunden, oder ist keine GUID vorhanden, dann wird ein neuer Datensatz erstellt.
Der GIS Datensatz wird mit dem Datenblock oder Symbol verbunden.
Fehlende Attribute und Metadaten werden aus der z.B. aus der Attributvorlage im GIS Datensatz ergänzt.
Linien: Fehlende GIS-Datensätze ergänzen
Standardmäßig werden nur Linien repariert wenn ein GIS-Datenblock auf der Linie gefunden wird. Wenn diese Option aktiviert ist, dann werden alle Linien mit GIS-Daten versorgt, sofern über die CfgID ein passendes GIS-Daten Template gefunden wird.
GIS-Attribute aus Blockattributen ergänzen
Wenn die Blöcke Attribute haben, die zu den Namen der GIS-Attribute passen, dann werden fehlende Werte aus dem Block übernommen.
Blockattribute haben Priotität
Wenn diese Option gesetzt ist, dann wird den Blockattributen mehr vertraut als den GIS-Attributen. Die Blockattribute überschreiben die GIS-Attribute – aber nur sofern im Blockattribut ein Wert steht. Es werden keine GIS-Attribute durch Leerstrings überschrieben.
Fehlende GIS-Attribute aus Block ergänzen
Diese Einstellung bietet die Möglichkeit zusätzliche Blockattribute auf den GIS-Datensatz zu übernehmen, die dort noch nicht vorkommen. Damit kann man alle Blockattribute auf den GIS-Datensatz übertragen, ohne diese in den GIS-Attributvorlagen definiert zu haben.
Ausnahme: Das Programm versucht Werte zu erkennen die nichts in den dynamischen Attributen verloren haben und ignoriert diese. z.B. „GUID“, „Code“ Metadaten und ähnliches.
2) Fehlende Datenblöcke in Zeichnung einfügen
Die GIS Daten werden durchlaufen und fehlende Datenblöcke in Zeichnung eingetragen. Das betrifft alle Objekte außer Blöcken/Symbolen. Die werden selbst als Datenblock verwendet.
3) Suche Linien zu neuen Datenblöcken
Wenn ein GIS Datensatz schon Linien hat und diese noch in der Zeichnung existieren, dann werden keine neuen Linien gesucht.
Die Liniensuche gilt nicht für GIS Datensätze die an GeosiPLAN Symbolen, oder anderen Blöcken hängen. Die Liniensuche wird nur durchgeführt nur wenn es einen reinen „Datenblock“ gibt.
Existierende GIS Datensätze wissen wo der Datenblock zuletzt war. An dieser Stelle werden darunterliegende Linien gesucht.
Bei einem Neuen GIS Datensatz wird die Suchposition durch die Lage des GIS Datenblocks vorgegeben.
Der GIS Datensatz wird mit den innerhalb der gegebenen Toleranz gefundenen Linien verbunden.
4) Verschiebung Datenblöcke auf Linien
Es wird überprüft ob der Datenblock auf der Linie liegt oder daneben.
Die Überprüfung funktioniert für alle Zeichnungselemente die auf „AcDbCurve“ aufbauen, die Reparatur nur bei Polylinien.
Wenn ein Datenblock nicht auf der Linie liegt, dann werden alle Lotfußpunkte und am nächsten gelegenen Punkte aller mit dem GIS Datensatz verbundenen Linien bestimmt.
Der Datenblock wird dann auf den am nächsten gelegenen Punkt verschoben und bei Bedarf neu an der Linie ausgerichtet (Drehung).
5) Blockattribute in Zeichnung aktualisieren
Zum Schluss werden noch die Attribute im Block in der Zeichnung entsprechend dem GIS Datensatz aktualisiert.
Zusammenfassung
Nach der Reparatur gibt es einen statistischen Überblick über alle durchgeführten Maßnahmen:
- Was wurde an GIS Vorlagen und GIS Blöcken in der Konfiguration gefunden
- Was wurde an den GIS Daten geändert (vorhandene Datensätze, neue Datensätze, neu verbundene Datensätze, fehlende Linien…)
- Was wurde an der Zeichnung geändert (erstelle Datenblöcke, verschobene Datenblöcke, neu verbundene Linien, aktualisierte Blöcke)
- Wieviele Fehler sind aufgetreten
Fehlermeldungen
Nach der Statistik wird bei Bedarf noch eine Liste der Fehlermeldungen ausgegeben.
z.B. fehlende Blockdefinitionen, GIS Datensätze ohne Koordinate, GIS Datensätze zu denen nichts gefunden wurde, usw…