OpenStreetMap

Gebäudemapping in Neubaugebieten mit GPS und ohne Luftbilder

Posted by Nakaner on 1 February 2015 in German (Deutsch)

Da die Gemeinden in meiner Umgebung fleißig alle zwei bis drei Jahre ein neues Neubaugebiet ausweisen, komme ich in "Genuss" regelmäßig etwas zum Mappen zu finden. Das nehme ich natürlich gerne als Herausforderung an, denn da kann man zeigen, dass man kein reiner Luftbild-Abpinsel-Mapper ist. Am Hand des Neubaugebiets "Am Schulzentrum" in Brackenheim zeige ich in diesem Blogpost, wie man Gebäude nur mit GPS mappt.

Neubaugebiete haben, nachdem sie erschlossen sind (d.h. Ver- und Entsorgungsleitungen verlegt und die Straßen befahrbar sind) eine Zeit lang den Vorteil, dass die Bautätigkeit erst beginnt und eine sehr geringe Abschattung besteht. Dadurch kann man mit einem normalen Garmin noch akzeptable Genauigkeiten erzielen.

Da eine Neuauflage der Bing-Bilder nicht absehbar ist und die Landesregierung Orthophotos nicht für OSM zur Verfügung stellen möchte, muss man eben zu den "klassischen" Methoden greifen, die in der Prä-Bing-Ära noch ganz normal waren.

Vorbereitung

Um Gebäude mit GPS einzumessen, empfiehlt es sich, das Baugebiet in dem Moment aufzusuchen, indem noch keine oder nur sehr wenige Eigentümer eingezogen sind. Der Sonntagenachmittag ist kein guter Tag, denn da besichtigen die Bauherren meistens ihre Baustelle. :-) Zufällig als sehr geeignet hat sich der Heiligabend 2014 erwiesen. Es hat nicht geregnet und die einzigen Personen, die mir begegnet sind, waren eine Streifenwagenbesatzung, die, ohne zu bremsen, an mir vorbeigefahren ist. Das Baugebiet war zu diesem Zeitpunkt noch unbewohnt, d.h. noch kein künftiger Bewohner war eingezogen.

Ein Paar stabile Stiefel (ich bin dank meines dualen Studiums in der Vermessung mit zwei Paar Sicherheitsschuhen ausgestattet), die schmutzig werden dürfen, sollte man auch nicht vergessen. Eine Warnweste vermittelt einen offiziellen Eindruck. Sie kann dazu führen, dass ihr gefragt werdet, ob ihr als Mitarbeiter des Bauordnungsamts kontrolliert, dass keiner zu hoch baut. :-)

Außendienst

Vor Ort angekommen, sollte man das GPS-Gerät, nachdem es einen Fix bekommen hat (also eine Position berechnen kann), erst einmal etwa fünf Minuten "warm laufen lassen". Während dieser Zeit empfängt es die aktuellen Bahndaten und muss nicht auf die ungenaueren vorherberechneten Bahndaten zurückgreifen, die auf dem Zeitpunkt basieren, an dem das Gerät zuletzt eingeschaltet war. Wenn man sich in Süddeutschland auf einer Hochebene oder an einem Südhang befindet, kann man auch noch "WAAS" (damit ist EGNOS gemeint) einschalten. Der Garmin empfängt dann Korrekturdaten von einem geostationären Satelliten über dem Äquator, der bei uns sehr niedrig steht.

Während das Gerät noch "warm läuft", kann man schon durch das Baugebiet laufen und sich ein Bild machen. Währenddessen kann man auch schon die Gebäude und Straßen skizzieren.

Nachdem der Garmin nun brauchbar ist, begibt man sich in die Achse der Außenkante des ersten einzumessenden Gebäudes. Man speichert einen Wegpunkt ab und notiert in der Skizze den Ort, an dem man sich befindet (Kreuzchen setzen) und schreibt die Nummer des Wegpunkts daneben. Nun bewegt man sich in der Achse der Gebäudeaußenkante weiter weg. Nach einigen Metern bleibt man stehen und speichert einen zweiten Wegpunkt. Wer die eigenen Messung kontrollieren will, speichert noch einen dritten Punkt. Nun ist eine der vier Gebäudeaußenkante festgelegt.

Für alle parallel zu dieser Achse verlaufenden Gebäudeaußenkante genügt es, einen Punkt in der Achse der Gebäudekante zu messen.

Bei einem Gebäude mit rechteckigem Grundriss wiederholt man diese Schritte für die übrigen Gebäudeaußenkanten, die nicht parallel zur ersten Kante verlaufen.

Ein Aufzeichnen des Tracks während der Messung ist nicht unbedingt notwendig, schadet aber auch nicht. Er legt Multipath-bedingte Ungenauigkeiten in Gebäudenähe auf, wenn der Track plötzlich zur Seite springt, obwohl man geradeaus weitergelaufen ist.

Wenn man schon vor Ort ist, kann man auch gleich, falls der Bau schon so weit fortgeschritten ist, die Geschossanzahl und Dachform notieren und später in OSM einpflegen.

Tipp für Mapper, denen Gesetze egal sind: Wenn euch niemand beobachtet, wird eure Messung genauer, wenn ihr die Stützpunkte nicht nur auf der Straße messt, sondern dazu auch benachbarte, unbebaute Grundstücke betretet. Ihr seid dann weiter vom Gebäude entfernt, was einerseits der GPS-Genauigkeit gut tut, andererseits wirkt sich ein Messfehler quer zur Richtung der Achse weniger stark aus, da sich die Richtung der Achse dann nicht so stark ändert.

Innendienst

Nachdem man nun wieder daheim am Rechner angekommen ist, startet man JOSM und lädt die Wegpunkte und Tracks. Von der OSM-API lädt man sich die aktuellen Daten, über Datei -> Neue Ebene legt man eine zweite Datenebene an, die wir für Hilfslinien während der Konstruktion verwenden. In diese Hilfsebene wechseln wir nun (grünes Häckchen an den entsprechenden Eintrag im Ebenebereich setzen).

Zeichnen der Gebäudeachsen in JOSM

Alle Wegpunkte, die eine Achse bilden sollen, verbindet man mit einer Linie. Damit die Linie auch eine Achse und keine Zick-Zack-Linie ist, drückt man die Taste A nicht einmal, sondern zweimal. Dann ist der 90-/180-Grad-Punktfang eingeschaltet. So zeichnet man die erste Flucht. Mit Strg+C und Strg+V kopiert man die gezeichnete Linie und schiebt sie auf den Wegpunkt, der die zweite, parallele Gebäudeflucht festlegt. Selbiges wiederholt man für die anderen Gebäudkanten, die nicht parallel zur Kante 1 sind.

Das Plugin utilsplugin2 hält die Funktion "Punkt an Schnittpunkten einfügen" bereit. Dazu markiert man alle vier Achsen und drückt Shift+I. Anschließend kann man die überstehenden Teile der Achsen entfernen und mit C die Linien zu einer Linie vereinigen.

Nun kann man die Hilfsebene mit der Hauptebene vereinigen, indem man im Ebenenbereich rechts auf die Hilfsebene klickt und auf "Vereinen" klickt.

Bitte nicht vergessen, das Gebäude zu taggen und beim Hochladen im Feld "Quelle" "GPS survey" anzugeben. Gerade das "GPS" ist wichtig, damit andere Mapper nachvollziehen können, warum das Gebäude nicht zum Luftbild passt.

Ausblick

Für die kommenden Monate plane ich im selben Baugebiet (es wird mein Übungsgelände) noch Methoden der terrestrischen Photogrammetrie anzuwenden. Mit meiner Spiegelreflexkamera (Nikon D90) und einem 35 mm-Festbrennweitenobjektiv habe ich vor eine dreistellige Anzahl an Fotos zu machen und daraus dann mit VisualSfM eine Punktwolke berechnen. Einige bekannte Objekte, die man auch auf den Bing-Bildern sieht werde ich zur Maßstabsberechnung verwenden, denn die originale Punktwolke ist maßstabslos (d.h. ohne Längeninformation). Mit der Annahme, dass die Hauswände senkrecht sind, und einigen bekannten Punkten, von denen ich 2D-Koordinaten habe, möchte ich die Punktwolke dann georeferenzieren.

Anschließend habe ich vor, einen Horizontalschnitt der Punktwolke zu berechnen (dürfte mit CloudCompare gehen) und diesen als Rastergrafik in JOSM abzuzeichnen.

Wenn jemand eine Drohne sein eigenen nennt, darf er mir auch gerne zum Experimentieren Aufnahmen zukommen lassen. Jeder Punkt sollte auf mindestens drei Aufnahmen zu sehen sein. Die Aufnahmen sollten möglichst nicht verlustbehaftet komprimiert sein.

Location: 49.078, 9.057

Comment from aseerel4c26 on 2 February 2015 at 01:28

Danke, interessant zu lesen … dass es noch mehr solcher Idioten wie mich gibt ... ;-) Bei ganzen Baugebieten (statt nur einzelne Neubauten) ziehe ich aber dann doch vor, auf Luftbilder zu warten.

Alternativ zu GPS lassen sich vor allem bei rechtwinklig und zur Straße parallelen Gebäuden "einfach" per Schrittanzahlmessung (samt Umrechnung in Meter) auch recht gute Ergebnisse erzielen (kann man natürlich auch mit GPS kombinieren). Sinnvoll ist natürlich ein möglichst naher, Referenzpunkt, sofern man einfach von einer vorab bekannten, durchschnittlichen Schrittlänge ausgehen möchte, statt jene auch noch für jenen Einsatz anhand zweier Referenzpunkte zu berechnen.

Hide this comment

Comment from malenki on 2 February 2015 at 07:51

Es ging offenbar etwas verloren: | quer zur Richtung der Achse weniger stark aus, da sich die Achse | Innendienst

Zum Vereinigen von Ebenen kann man auch ctrl-m drücken.

Zum Thema: vor ein paar Jahren habe ich eine Siedlung mit GPS+Fotokamera (statt WPT zu setzen) erfasst. 20 Minuten Erfassung, 5 Stunden am Rechner… ;)

Hide this comment

Comment from Polarbear on 6 February 2015 at 22:34

Sehr schön, so ähnlich habe ich das auch gemacht bevor ich wieder ins luftbildverwöhnte Berlin gekommen bin.

Und ich weiss jetzt endlich warum mir JOSM manchmal "heimlich" den Angle-snap einschaltet, ohne dass dieser eine eigene hotkey hat :-)

Hide this comment

Comment from SammysHP on 7 February 2015 at 10:25

SFM… Das hatte ich vor zwei Jahren auch schonmal probiert.

http://sammyshp.de/betablog/post/16

Mein Problem seitdem war, dass ich VisualSFM nicht unter Linux zum Laufen bekommen habe. Da scheint sich in den letzten Monaten aber was getan zu haben, werde ich nochmal probieren.

Hide this comment

Comment from Nakaner on 7 February 2015 at 10:30

SammysHP schrieb:

Mein Problem seitdem war, dass ich VisualSFM nicht unter Linux zum Laufen bekommen habe. Da scheint sich in den letzten Monaten aber was getan zu haben, werde ich nochmal probieren.

Ich habe (auf Arch Linux) VisualSfM vom Juli 2014 verwendet und selbst kompiliert. Es ist zwar etwas aufwendig (das AUR-Paket kompiliert die Sourcen nicht, sondern lädt sich die Binaries, weshalb ich dann einfach selbst alles von Hand kompiliert habe), aber es geht. Dummerweise habe ich mir damals keine Anleitung geschrieben.

Brauchbar ist VisualSfM aber erst, wenn du die Hardwarebeschleunigung (GPU) nutzen kannst, sonst braucht SIFT (die Featuresuche in den Bildern) mindestens dreimal solange.

Flächen/Volumenkörper braucht man IMHO keine berechnen und Meshlab mag ich nicht, weil es, anders als CloudCompare, keine GPU nutzt (CloudCompare kommt auch noch mit 6 Mio. Punkten klar).

Hide this comment

Comment from SammysHP on 7 February 2015 at 11:39

Ich hatte mir gerade nochmal das PKGBUILD angeschaut (bei meinem letzten Versuch 2013 gab es das noch nicht) und es ist eine Katastrophe. Es lädt sich zwar den Source herunter (ok, auch nur die Objektdateien, aber gibt es etwas anders?), aber die Abhängigkeiten sind recht unaufgeräumt und nach dem Motto "packen wir es mal hinein". CVMS fehlt scheinbar völlig.

Da ich eine Radeon habe, wollte ich anschließend PBA ohne CUDA kompilieren (also mit make -f makefile_no_gpu), allerdings ist das Makefile dermaßen kaputt, dass man es zweimal laufen lassen muss.

Anschließend die ganzen Abhängigkeiten zusammenwürfeln etc – nein danke.

Allgemein muss ich sagen, dass das Projekt eine typische Forschungsarbeit ist: Experimentell zusammengeklatscht, viel Handarbeit nötig, schlechte Dokumentation. Darf ich sagen, weil meine meistens auch so aussehen. ;)

Hast du dein VisualSFM in einem einzigen Verzeichnis und läuft es? Dann könntest du es mir vielleicht schicken (Downloadlink oder Mail an sven@sammyshp.de), sodass ich mich nicht mit dem Kompilieren und Zusammenpuzzeln herumquälen muss. ;)

Hide this comment

Comment from SammysHP on 7 February 2015 at 11:41

Flächen/Volumenkörper braucht man IMHO keine berechnen und Meshlab mag ich nicht, weil es, anders als CloudCompare, keine GPU nutzt (CloudCompare kommt auch noch mit 6 Mio. Punkten klar).

Damals habe ich das noch unter Windows gemacht und das war das erste, was ich gefunden hatte. ;)

Durch mein Studium und diverse Photogrammetrie und Bildanalyse Vorlesungen weiß ich jetzt zwar, wie die ganzen Techniken dahinter funktionieren, mit den diversen Implementierungen komme ich aber absolut nicht klar. :(

Hide this comment

Comment from SammysHP on 7 February 2015 at 19:24

So, scheint jetzt zu laufen. Allerdings bekomme ich nicht einmal die Feature Detection mit meiner Radeon HD 4870 zum Laufen, obwohl das auch über GLSL laufen müsste. Er meckert, dass er nicht genügend Register hätte. Hmm, also komplett auf CPU angewiesen, ich bin raus. :D

Man merke: Für solche Spielereien ordentliche Grafikkarten und die proprietären Treiber nutzen.

Hide this comment

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

    [Text](URL)
  • Image

    ![Alt text](URL)

Login to leave a comment