Giter Site home page Giter Site logo

osmnotes2csv's Introduction

Printmaps Webservice

Printmaps ist ein Webservice der die Erstellung großformatiger, OSM-basierter Karten in Druckqualität erlaubt. Die Karte kann dabei um beliebige Benutzerelemente und Benutzerdaten ergänzt werden.

  • großformatige Karten in Druckqualität
  • verschiedene Kartenstile (osm-carto, schwarzplan+, ...)
  • verschiedene Dateiformate (png, pdf, svg)
  • aktuelle OpenStreetMap-Kartendaten
  • Kartendaten verfügbar für die gesamte Erdoberfläche
  • benutzerdefinierte Zusatzelemente (Rahmen, Gitter, Legende, Maßstabsbalken, ...)
  • benutzerdefinierte Datenobjekte (gpx, kml, shape, geojson, csv, ...)
  • wählbare Kartenabbildung (EPSG:3857, EPSG:32632, EPSG:27700, EPSG:2056, ...)

Printmaps kann genutzt werden

  • als Webservice
  • via Printmaps-CLI-Client

Funktionsweise

Der Benutzer definiert zunächst lokal eine Printmaps-Steuerdatei (map.yaml), die anschließend unter einer eindeutigen ID serverseitig gespeichert wird. Die Steuerdatei legt fest, wie die zu rendernde Karte aussehen soll. Hierbei kann der Benutzer die Karte um individuellle Objekte (Benutzerdaten) ergänzen. Für die Interaktion mit dem Benutzer ist der Webservice zuständig. Die eigentliche Erzeugung der Karte übernimmt der Buildservice. Der Buildservice generiert aus der Printmaps-Steuerdatei eine individuelle Mapnik-Steuerdatei (mapnik.xml). Hierbei wird die Mapnik-Steuerdatei um die Vorschriften zur Darstellung der Karten- und Benutzerzusatzelemente ergänzt. Anschließend wird die Karte durch das Programm Mapnik (via Nik4) erzeugt. Der Buildservice läuft dabei unabhängig vom Webservice. Über den Webservice hat der Benutzer jedoch die Möglichkeit, den jeweils aktuellen Buildstatus zu erfragen. Ist die Karte fertig gerendert, kann sie via Webservice herunter geladen werden.

Status

Printmaps befindet sich aktuell im Status Pre-Release "beta2 (release candidate)".

Wie anfangen

  • durcharbeiten der Webseite Printmaps Website
  • erzeugen einiger Karten mit dem Printmaps-CLI-Client
  • sich vertraut machen mit den Printmaps-Eigenschaften und -möglichkeiten
  • aufsetzen einer (minimalen) eigenen Printmaps-Testumgebung (ohne DB)
  • aufsetzen einer (vollumfänglichen) Printmaps-Umgebung (mit DB)

Printmaps besteht aus folgenden Komponenten

Server (printmaps_webservice, printmaps_buildservice, Nik4)

  • printmaps_webservice
  • printmaps_buildservice
  • Nik4

Siehe README.md in den entsprechenden Verzeichnissen.

Client (printmaps_client)

Siehe README.md im printmaps_client-Verzeichnis.

Kartenstile (printmaps_styles)

  • osm-carto
  • raster10
  • schwarzplan
  • schwarzplan+

Siehe README.md im printmaps_styles-Verzeichnis.

Icons (printmaps_icons)

Siehe README.md im printmaps_icons-Verzeichnis.

Pattern (printmaps_pattern1, printmaps_pattern2)

Siehe README.md in den entsprechenden Verzeichnissen.

Datenpflege (printmaps_updater, printmaps_purger)

  • printmaps_updater
  • printmaps_purger

Siehe README.md in den entsprechenden Verzeichnissen.

Webseite (printmaps-osm.de)

Siehe README.md im printmaps-osm.de-Verzeichnis.

Empfohlene (Server-) Verzeichnisstruktur

printmaps
    printmaps
        orders
        maps
    printstyles
        markers
        osm-carto
        osm-carto-ele
        osm-carto-mono
        raster10
        schwarzplan
        schwarzplan+
    printdata
        updater
        purger
    Nik4

Vorbedingungen der Serverumgebung

Folgende Programme und Tools müssen installiert sein:

  • python
  • mapnik
  • mapnik-utils
  • python-mapnik
  • zip

Beispiel für Ubuntu:

sudo apt install python 
sudo apt install libmapnik3.0 libmapnik-dev mapnik-utils python-mapnik
sudo apt install zip

Test der Serverumgebung

Es empfiehlt sich, zunächst mit einer minimalen Serverumgebung (ohne Datenbank) zu starten:

printmaps
    printmaps
        orders
        maps
    printstyles
        markers
        raster10
    Nik4

Folgende Konfiguration sind anzupassen:

  • printmaps_webservice.yaml
  • printmaps_buildservice.yaml

Desweiteren ist in der Kartenkonfiguration (map.yaml für den CLI-Client) die URL der Testumgebung einzutragen.


(Browser-) Web-Applikation

Für Printmaps steht mit dem Printmaps-CLI-Client eine vollumfängliche, kommandozeilenorientierte Bedienoberfläche zur Verfügung. Wünschenswert wäre eine zusätzliche grafische Benutzeroberfläche in Form einer (Browser-) Web-Applikation. Möglicherweise ist jemand interessiert etwas in dieser Richtung zu entwickeln und zu veröffentlichen (gerne in diesem Repository). Hier einige Ideen dazu:

Grundsätzlich:

  • die Web-Applikation sollte sich auf HTML5 und JavaScript beschränken
  • die Web-Applikation (GUI) sollte keine Serverkomponenten benötigen
  • Kartendefinitionen (map.yaml) sollten lokal gespeichert werden können

Oberfläche:

  • Menüpunkte: Überblick, Daten, Karte, Aktion, Hilfe, Impressum
  • Überblick: allgemeine Erläuterungen (Zweck, Nutzung, ...)
  • Daten:
    • Kartendefinition gemäß map.yaml
    • Laden und Speichern möglich
  • Karte:
    • Anzeigen des definierten Kartenausschnittes
    • Verschieben des Kartenausschnittes möglich
  • Aktion:
    • order, state, download
    • upload, create, etc. automatisch im Hintergrund
  • Hilfe: Erläuterung und Details zur Funktionsweise
  • Impressum: Impressum

Anmerkungen:

  • Die von der Weboberfläche erzeugte Kartendefinitionsdatei "map.yaml" sollte auch vom CLI-Client verwendet werden können und umgekehrt.
  • Die Datei "map.id" ist ebenfalls zu speichern und zu laden.

to be done - english translation

osmnotes2csv's People

Watchers

 avatar

osmnotes2csv's Issues

http protocol not supported

perl osmnotes2csv.pl -bbox=6.43,36.545,18.8,47.3 -csvfile=note-italia.csv

osmnotes2csv.pl, 0.1.1, OSM-Notes -> CSV-File

bbox = 6.43,36.545,18.8,47.3
csvfile = note-italia.csv
proxy =
timeout = 53
limit = 999
closed = 0

Requesting OSM notes ...
Request uri = http://api.openstreetmap.org/api/0.6/notes.json?bbox=6.43,36.545,18.8,47.3&limit=999&closed=0
User agent = osmnotes2csv.pl/0.1.1
ERROR : The OSM service request failed.
STATUS : 501 Protocol scheme 'http' is not supported

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.