[Talk-de] Gebäude-Mapping

Peter Wendorff wendorff at uni-paderborn.de
Mo Nov 8 10:25:22 UTC 2010


Hallo Tobias.
Am 08.11.2010 11:02, schrieb Tobias Knerr:
> Am 05.11.2010 23:14, schrieb Peter Wendorff:
>> Ich plane aber, in den nächsten Wochen/Monaten daran weiterzubasteln und
>> es auch in einen normalen Proposal-Prozess einzubringen.
>> Auch in der Hinsicht sind mir Kommentare und Verweise zu anderen
>> Schemata natürlich willkommen.
> Ich hoffe, du findest die Zeit, ein Proposal zu dem Thema zu entwickeln.
>
> Noch einmal eine konkrete Frage zu deinem Vorschlag: Werden die Tags
> "building:levels=*" allein verwendet oder jeweils gemeinsam mit
> building=yes? Gibt es also genau ein Objekt mit building=yes für das
> gesamte Gebäude, an den dann Namen, Relationsmitgliedschaften etc.
> angebracht werden können, oder "zerfällt" das Gebäude?
Momentan bekommt jedes Polygon ein building=yes, und zwar aus rein 
praktischen Gründen: Auf diese Weise werden aktuelle Renderer, die das 
nicht unterstützen, das Gebäude insgesamt weitgehend korrekt rendern, 
nämlich die insgesamt abgedeckte Fläche - unter Umständen mit 
zusätzlichen Konturlinien.
Das ist semantisch nicht ganz korrekt, das ist mir klar; aber eben aus 
Kompatibilitätsgründen IMHO die beste Lösung, ohne Gebäude für renderer 
"kaputtzumachen".
> Abgesehen davon überlege ich noch, wie ein Rendering am besten umgesetzt
> würde - speziell in dem Fall, wenn nicht für alle Gebäudeteile absolute
> height/min_height-Werte vorhanden sind.
> Ein Stockwerk ist ja nicht bei jedem Gebäude gleich hoch, und
> insbesondere auch nicht auf derselben absoluten Höhe. Also müsste ein
> Renderer wohl so vorgehen:
> * in einem ersten Schritt Gruppen von sich (ggf. transitiv)
> überlappenden Gebäudeteilen bestimmen
> * innerhalb jeder Gruppe absolute Höhen der Stockwerksgrenzen festlegen
> * mit dieser Information dann die Grundflächen der Gebäudeteile zwischen
> den jeweiligen Stockwerksgrenzen extrudieren
> Wäre eine solche Auswertung das, was du dir vorgestellt hast, oder
> hättest du eine andere - ggf. sogar einfachere - Idee?
Jein.
Ich würde einen einfacheren Ansatz vorziehen, der meist zu einem 
Ergebnis führen dürfte und zusätzlich unnötige Fehler behebt:
Dabei fällt dein erster Schritt weg:
* Stockwerkhöhe wird, wenn nicht anders angegeben, konstant angenommen. 
Es lässt sich also aus den Stockwerkangaben eine meter-Angabe berechnen, 
die für nicht gesetzte Meterangaben herangezogen wird.
* Die einzelnen Polygone werden entsprechend extrudiert.

Warum reicht das aus bzw. was hat das zur Folge?

Angenommen, die untere "Schicht" (Stockwerk 1) hat keine explizit 
angegebene Höhe, die darüberliegende Schicht (Stockwerk 2) aber schon.
Dann lässt sich dieser Fehler alleine aus den Daten heraus beheben (wenn 
auch das rein algorithmische Beheben aufwändig sein dürfte).

Deshalb nehme ich bei oben beschriebenem Algorithmus in Kauf, dass in 
diesen Fällen Lücken oder Überlappungen sichtbar werden: Die Fehler 
sollen bitte behoben werden - und nichts spricht dagegen.

Solange also keine unterschiedlichen Stockwerkhöhen aus dem Gebäudetypen 
oder so abgeleitet werden sollen, reicht dieses Verfahren aus. Bei 
Kirchen etc. wird es natürlich trotzdem zu Problemen führen - aber 
sobald Stockwerke in einem Gebäudekomplex nicht mehr gleich hoch sind 
(gerade bei Kirchen oft der Fall), hilft dein Verfahren da auch nicht 
weiter.

Dabei entstehende Fehler lassen sich jeweils durch die Angabe der 
einzelnen Höhen beheben.

Ein größeres Problem, zu dem mir tatsächlich noch keine Lösung einfällt, 
besteht bei Gebäuden am Hang, bei denen das "Erdgeschoss" je nach Seite 
unterschiedlich ist. Hier sehe ich aber auch keine Lösung, ohne 
Höhendaten der Umgebung hinzuzufügen, die uns bisher vollständig fehlen.

Gruß
Peter




Mehr Informationen über die Mailingliste Talk-de