[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