UMap für interaktive Karten

Als ergänzende Software zum OpenStreetMap Server habe ich etwas gesucht, damit man Marker auf eine Karte setzen kann. Gefunden habe ich UMap und habe den Docker gleich mal installiert. Nun ist es möglich frei auf der Karte Marker mit Infos zu erstellen. Auch Linien und Flächen sind möglich. Zudem lassen sich die Karten mit Namen und Berechtigungen speichern, auch komplett öffentlich.

uMap Deggingen Notfunkwochenende Übung

Für die Installation habe ich mich für den Docker Container entschieden (GitHub: https://github.com/umap-project/umap). Mit dem Docker Compose laufen die zwei Container (db und app) innerhalb kürzester Zeit.

Docker-Compose.yml

version: '3'
services:
  db:
    healthcheck:
        test: ["CMD-SHELL", "pg_isready -U postgres"]
        interval: 2s
    image: postgis/postgis:14-3.3-alpine
    restart: always
    environment:
      - POSTGRES_HOST_AUTH_METHOD=trust
    volumes:
      - db:/var/lib/postgresql/data

 

  app:
    depends_on:
      db:
        condition: service_healthy
    image: umap/umap:2.2.0
    restart: always
    ports:
      - "${PORT-8000}:8000"
    environment:
      - DATABASE_URL=postgis://postgres@db/postgres
      - SECRET_KEY=5047233200
      - SITE_URL=http://pbx/
      - UMAP_ALLOW_ANONYMOUS=True
      - DEBUG=1
    volumes:
      - data:/srv/umap/uploads

 

volumes:
  data:
  db:

Damit man sich in das Admin Backend (http://server:8000/admin) anmelden kann, muss man sich einen Superuser erstellen, das geschieht im Container:

umap createsuperuser

Zusätzlich habe ich noch einige Icons installiert, dies geht auch um einiges schneller über die CLI. Download hier: OSMIC Icons, REMIX Icons

Installation:

# Copy to docker volume
cp remix /var/lib/docker/volumes/umap_data/_data/pictogram -r
cp osmic /var/lib/docker/volumes/umap_data/_data/pictogram -r

# Jump into Container
sudo docker exec -it umap-app-1 /bin/bash

# Import Icons
umap import_pictograms --attribution "REMIX" /srv/umap/uploads/piktogram/remix
umap import_pictograms --attribution "OSMIC" /srv/umap/uploads/piktogram/osmic

# You can remove the folders

Nun fehlt nur noch der passende Tile Server im Backend. Erstmal habe ich den default entfernt und OpenStreetMap hinzugefügt. Für die lokale Open Street Map wurde es nun schwieriger, denn bis jetzt habe ich noch keine Option gefunden auf die aktuelle Host-URL mit einem anderen Port zu verweisen. Demnach habe ich die lokalen Maps mit allen möglichen Hostnames ertellt, in meinem Fall pbx:8080 und dc9pa-001.local.mesh:8080.

uMap Administration Tile Server

Die URL sind immer nach dem gleichen Prinzip aufgebaut:

http://{s}.<host>/tiles/{z}/{x}/{y}.png => z = Zoom, x und y = Position, s = Server (a - c, optional)

http://pbx:8080/tile/{z}/{x}/{y}.png

http://{s}.openstreetmap.org/tile/{z}/{x}/{y}.png