OpenStreetMap Karten generieren mit Map Machine

tl;dr: Dieser Artikel beschreibt, wie man mit Map Machine, das in einem Docker Container läuft, Karten als SVG basierend auf OpenStreetMap generieren kann. Map Machine ist ein Projekt, das die Fülle und Vielfalt der Daten von OpenStreetMap zeigen möchte. Es ist ein Map Renderer, der in Python geschrieben ist und unter MIT License auf GitHub veröffentlicht ist. Um das das Docker Image für das Map Machine-Projekt bauen zu können, benötigen wir selbstverständlich auf unserem Rechner docker und git. Auf git könnte man verzichten, wenn man sich das Repository als gepacktes Zip herunterlädt. Dann benötigt man halt die Software zum Zip entpacken. Wenn Docker noch nicht installiert ist, so gibt es Anleitungen z.B. für Ubuntu oder Archlinux. Zunächst erzeugen wir eine lokale Kopie. Dazu müssen wir das das Repository clonen (oder herunterladen und entpacken): git clone https://github.com/enzet/map-machine.git Anschließend können wir in das Verzeichnis map-machine wechseln, um das Docker Image zu bauen: ...

Februar 9, 2022 · 5 Minuten

Kartieren eines Neubaugebiets in Lancken mit Drohnenfotos

In diesem Beitrag möchte ich kurz zusammenfassen, wie ich beim Kartieren eines Neubaugebietes für OpenStreetMap vorgegangen bin, für das es noch keine aktuellen Luftbilder gibt. Warum? Ausgehend von einer Diskussion mit dem OpenStreetMap-Nutzer Pferdo, die wir ursprünglich wegen eines Wanderweges gestartet hatten, kamen wir schnell auf das in der Nähe entstehende Neubaugebiet in Lancken. Die derzeit aktuellsten Luftbilder von Bing sind an dieser Stelle verpixelt. Luftbilder anderer Anbieter wie Esri, Maxar oder Mapbox sind leider in dieser Gegend zu veraltet. Das liegt vermutlich daran, dass das Gebiet die ehemalige Flugabwehrraketenabteilung 4335 der NVA war und das immer noch als zu zensierendes Gebiet bei Bing vermerkt ist. Pferdo bot an, von dem Neubaugebiet Fotos mit Hilfe seiner Drohne anzufertigen und ich bot an, das in OpenStreetMap zu kartieren. Und da wären wir nun für den Ausgangspunkt dieses Blogeintrags. Vorbereitung Fotos auswählen Die mir vorliegenden Drohnenaufnahmen zeigen einerseits das Neubaugebiet aus der Perspektive und aus der Draufsicht. Zum Kartieren wähle ich mir die Draufsichtfotos aus. Die Fotos von der Seite sind gut, um einzusortieren, wo die Fotos der Draufsicht anzuordnen sind. ...

Januar 13, 2022 · 3 Minuten

Ausflug zu Pixelfed mit Docker im November 2019

Intro Dieses Wochenende habe ich mir mal Pixelfed angesehen - eine Art Instagram-Klon. Dieser Blogeintrag dient dazu, die recherchierten Informationen mal alle zusammenzutragen, weil die Dokumentation zu wünschen übrig lässt. Pixelfed ist ein mit Laravel in PHP erstelltes Projekt. Neben PHP hat es noch weitere Abhängigkeiten zu einer Datenbank: MySQL, PGSQL und sqlite werden wohl unterstützt, wobei MySQL im Moment also default vorgesehen ist. Außerdem kommt noch Redis dazu. Das klingt super, um es in Docker Container zu packen. Erste Aktivitäten bzgl. Docker sind in dem Projekt auch schon gestartet. Leider nutzt der Initiator des Projekts, Daniel, nicht Docker. Daher ist alles rund um Docker etwas stiefmütterlich gepflegt. Das führt also zu diesem Blog und ein paar Änderungen für Docker, die auch schon in das Projekt eingeflossen sind. Installation Wie in der Installtionsdokumentation geschrieben, lädt man sich zunächst eine Kopie des Projekts und erstellt die Produktionsumgebung: git clone -b dev https://github.com/pixelfed/pixelfed.git pixelfed cd pixelfed cp .env.example .env Die Datei .env passt man entsprechend den eigenen Anforderungen an. Hierbei gibt es zu beachten, dass man den APP_KEY mit exakt 32 zufälligen Zeichen befüllt. Der eigentliche Weg wäre gewesen, dieses Feld leer zu lassen und mit dem Befehl php artisan key:generate einen Key zu erstellen. Doch das befüllte bei mir dieses Feld mit einem base64 codierten Schlüssel, mit dem die Applikation nichts anfangen konnte. Also habe ich kurzerhand KeepassXC bemüht, mir 32 Zeichen Zufall zu geben und diese manuall eingetragen. Ich habe noch nicht herausgefunden, welchen Nebeneffekt das haben könnte. Außerdem habe ich das mit key:generate noch mit der Version v0.10.6 getestet. Mittlerweile habe ich auf den heutigen Stand vom dev Branch gewechselt, wo ich nicht noch einmal ausprobiert habe, ob das Problem noch exisitiert. ...

November 2, 2019 · 4 Minuten

Benutzer im Dockerfile hinzufügen

In Alpine Linux basierten Dockerfiles kann man einen neuen Nutzer mit Standardbenutzerprivilegien wie folgt hinzufügen: addgroup myuser && adduser -D -G myuser myuser chown -R myuser: /home/myuser In Ubuntu/Debian geht das wie folgt: useradd -ms /bin/bash myuser Schließlich kann man den Nutzer im Dockerfile mit USER aktivieren und sein Home-Verzeichnis als WORKDIR einstellen: USER myuser WORKDIR /home/myuser

Oktober 11, 2019 · 1 Minute

NTFS schreiben in Mac OS X via ntfs-3g (mit Homebrew installiert)

Um auf NTFS Dateisysteme in Mac OS X schreiben zu können, kann man ntfs-3g installieren. Zunächst installiert man die Abhängigkeit [FUSE for macOS] 1 und anschließend direkt [ntfs-3g] 2. brew cask install osxfuse brew install ntfs-3g Hierbei schlägt bei mir der brew link Schritt fehl, sodass ich den mkntfs-Befehl nicht im Pfad habe. Aber das ist okay für mich, weil mein USB-Stick schon mit NTFS formatiert ist. Als nächstes darf man in Windows-Manier erstmal neustarten. Nach dem Neustart kann endlich ein USB-Stick, der mit NTFS formatiert ist, gemountet werden: sudo mkdir /Volumes/NTFS sudo umount /dev/disk2s1 sudo /usr/local/Cellar/ntfs-3g/2017.3.23/bin/ntfs-3g /dev/disk2s1 /Volumes/NTFS -olocal -oallow_other Der erste Befehl erstellt das Zielverzeichnis, wo der USB-Stick eingehangen werden soll. Danach wird der automatisch eingehangene, nur lesbare USB-Stick ausgehangen und schließlich mit dem dritten Befehl beschreibbar unter das Zielverzeichnis eingehangen. Doch dann kommen diverse Popups bzgl. der Sicherheitseinstellungen, die auf Risiken hinweisen. ...

Mai 20, 2019 · 1 Minute