Planungsvarianten erstellen --------------------------- In dieser Anleitung wird gezeigt, wie unterschiedliche Depots kombiniert werden können, um Planungsvarianten zu generieren. Diese können z. B. in eigenen Layern und Views veröffentlicht werden. In den dargestellten Szenarien wird beispielhaft von zwei Ausgangsdepots vom Typ ``Mesh`` ausgegangen (``Bestandsgebäude`` und ``Neuplanungen``). Per Switchboard-Funktion ``Best of LOD`` ======================================== Diese Variante eignet sich, wenn die Objekte beider Datensätze eine eindeutige ID besitzen, sodass hierüber die Zusammenführung erfolgen kann (Altgebäude und Neubauten an den gleichen Positionen besitzen jeweils die gleichen IDs). Die Switchboard-Funktion ``Best of LOD`` ermöglicht es mehrere Depots des Typs ``Mesh`` zusammenzuführen. Als Ergebnis werden nur die Objekte behalten, die den höchsten LOD besitzen. Dabei erfolgt die Zuordnung über Gleichheit des Attributs ``key``. Sollten die Eingabedepots den gleichen LOD besitzen, wird bei Gleichheit zweier Objekte das zuletzt hinzugefügte verwendet. Für die Zusammenführung der Depots ``Bestandsgebäude`` und ``Neuplanungen`` bedeutet dies, dass alle Gebäude aus dem ersten Datensatz durch die Gebäude des zweiten Datensatzes ersetzt werden, wenn eine Übereinstimmung des Attributs ``key`` vorhanden ist (z. B. ``ID``). .. figure:: planning_workflow_1.png :align: center Hinweis: Die Funktion ``Best of LOD`` ist auch für Objekte des Typs ``CityObject`` verfügbar. Per Switchboard-Funktionen ``properties.filter.in`` und ``properties.exclude.in`` ================================================================================= Diese Variante eignet sich, wenn die Objekte beider Datensätze zwar eine ID besitzen, aber keine Übereinstimmung der IDs in beiden Datensätzen vorhanden ist. Mithilfe der Switchboard-Funktion ``properties.exclude.in`` können aus dem Depot ``Bestandsgebäude`` die Gebäude ausgeschlossen werden, die durch die Neuplanung ersetzt werden sollen. Analog dazu können mit der Funktion ``properties.filter.in`` die Objekte aus dem Depot ``Neuplanungen`` gewählt werden, die in die Bestandsgebäude integriert werden sollen. Bei beiden Funktionen müssen die entsprechenden IDs als Liste im Feld ``value`` und der entsprechende Schlüssel im Feld ``key`` angeben werden. Bei einem einzelnen zu ersetzenden Gebäude können alternativ die Funktionen ``properties.exclude`` und ``properties.filter`` verwendet werden. Diese erwarten im Feld ``value`` keine Liste von Werten, sondern die einzelne ID als Text. Um die beiden gefilterten Datensätze zusammenzuführen kann die Funktion ``gen.concat`` verwendet werden. .. figure:: planning_workflow_2.png :align: center Per Switchboard-Funktion ``mesh.filter.disjoint`` ================================================= Diese Variante eignet sich, wenn die Datensätze nicht über ihre Attribute (z. B. ``ID``) zusammengeführt werden können, sondern nur über ihre geographische Lage. Als erstes müssen hierfür die 2D-Grundflächen der Objekte aus dem Depot `Neuplanungen`` ermittelt werden. Hierzu kann die Funktion ``mesh.outline`` verwendet werden. Anschließend werden mittels der Funktion ``mesh.filter.disjoint`` alle Objekte aus dem Depot ``Bestandsgebäude`` ausgeschlossen, die sich mit diesen Grundrissen überschneiden. Schließlich können mit der Funktion ``gen.concat`` der gefilterte Bestandsdatensatz und die Neuplanungen zusammengeführt werden. .. figure:: planning_workflow_3.png :align: center Hinweis: Bei der Filterung der Bestandsgebäude mit der Funktion ``mesh.filter.disjoint`` ist darauf zu achten, dass auch tatsächlich nur die gewünschten Objekte herausgefiltert werden. Aufgrund der räumlichen Abfrage kann es in bestimmten Fällen passieren, dass mehr als die gewünschten Gebäude bei Überschneidungen ausgeschlossen werden.