Karte aus OSM-Daten in SVG o.ä. mit wählbarer Ausrichtung

Ich arbeite gelegentlich mit Maperitive und bearbeite die Ergebnise dann mit Inkscape. Viel mehr Ahnung habe ich leider nicht.
Mit meinen Möglichkeiten möchte ich nun gern eine Karte generieren, bei welcher Norden nicht oben ist. Ich will also meine Karte drehen. Bei einer begrenzten Zahl vom Beschriftungen ist das kein Problem. Wir die Zahl größer, wird es sehr anstregend, “jedes Wort” auf der Karte nach dem Drehen wieder so auszurichten, dass es von unten lesbar ist.
Wie kann ich meinn Problem lösen?

…fragt Uwe

Nicht genordete Karten sind meiner Meinung nach Teufelswerk;-)
… daher habe ich mich erst jetzt mal mit dem Thema beschäftigt,
und tatsächlich habe ich in Maperitive (leider) keine globale Einstellung für einen vorgegebenen Textwinkel gefunden …

In Inkscape kann man unter
Bearbeiten → das Gleiche Auswählen
aber gleich(artig)e Texte auswählen und unter
Objekt → Transformation → Drehen (“auf jedes Objekt getrennt anwenden” aktivieren!)
um einen definierten Winkel drehen.
Das ist mir eben mal probehalber in meinem svg bei mehreren hundert Texten in einem Arbeitsgang gelungen,
musst halt mal schauen, ob das für dich eine Option ist …

Grüße Jo

… ist wohl so, ich hatte schon befürchtet, dass ich gar keine Antwort bekomme

Nach so etwas - oder einer Möglichkeit, die komplette Ansicht vor dem Festlegen der “Printing Boudaries” zu drehen - hatte ich ebenfalls gesucht und nicht gefunden!
Deshalb:
Danke für die Ratschläge in Inkscape - also eigentlich ganz außerhalb von OSM!!

Das scheint die Lösung zu sein.

Gruß Uwe

Du verpasst nichts, Mapnik hat das auch nicht.

Funktioniert das auch mit Beschriftungen entlang einer gebogenen Linie (Kurve)? Ich habe da meine Zweifel.

Welches Nord meinst du?

  • Geographisch-Nord,
  • Gitter-Nord oder
  • Magnetisch Nord?

:laughing:

Sven

@Nakaner: Damit da keine Missverständnisse entstehen, ich bin kein Inkscape-Experte,
sondern nutze das Programm derzeit nur als svg → png Konverter.
Erfolgreich gedreht habe ich gleichförmige POI-Beschriftungen.
“Beschriftungen entlang einer gebogenen Linie” habe ich in meinem Kartenprojekt nur als Straßennamen und die würde ich jedenfalls mit dem gesamten Kartenbild mitdrehen wollen.
Ansonsten gilt mein: “[…] musst halt mal schauen, ob das für dich eine Option ist …”

Falls Du dich mit Maperitive auskennst: dort bin ich beim png-Export irgendwo um >3500 px gescheitert (nur daher svg über Inkscape!), sehe ich das richtig, dass dort die Grenze liegt?

@streckenkundler: mir reicht schon das Norden, das da meistens oben ist;-)

Wenn man in Maperitive Einfluss auf die Kartenprojektion nehmen kann, dann kann man damit die Ausrichtung anpassen (kenne mich mit maperitive nicht aus)

Maperitive kann nur Web-Mercator.

Oder die Eingabedaten schon bearbeiten bevor sie Maperitive verarbeitet…

Also die lat/lon über den Mittelpunkt der Karte drehen und so die OSM Daten schon entspechend manipolieren… :wink:

Das ist mein Problem, das geht nicht! … oder?

??? ?ie kann ich das verstehen? Wie manipuliere ich die OSM Daten damt ich irgendwas gedreht bekomme?

naja, dazu muss es dann schon ein skript geben, welches das macht. ganz banal ausgedrückt bestimmst du erst einmal deinen mittelpunkt, um welchen du “drehen” möchtest. dann ist es einfache mathematik: von diesem mittelpunkt ziehst du gedanklich eine linie zu einem beliebigen punkt, damit hast du also nichts anderes als einen vektor, und nun drehst du diesen vektor von mittelpunkt aus um deinen gewünschten winkel und hast somit einen neuen (verschobenen) punkt.
sprich die geokoordinate 50,10 wäre nach der berechnung dann eben z.B. 51,9

Das wäre aber zumindest nicht mal eine Drehung um den Ursprung.
Die Rotation von Koordinatensystemen selbst um den Ursprung ist nicht ganz so trivial https://de.wikipedia.org/wiki/Drehmatrix

ich würde glaub eher das Programm wechseln in diesem Fall. Mit QGIS kannst du z.B. beliebige Projektionen verwenden, und musst auch nichts „programmieren“ sondern kannst die Layouts grafisch mit der Maus definieren. Oder hat Maperitive ein Alleinstellungsmerkmal bzw. Killerfeatures, so dass es das sein muss? Hillshading kann man auch in QGis machen mit GDAL, am einfachsten und schneller ginge es allerdings, fertiges Hillshading irgendwoher zu bekommen (z.B. tiles).

UPDATE: svg Export geht zwar in QGis, aber das dann noch weiterzubearbeiten ist teilweise mühselig, je nachdem was es ist, die Sachen (Labels) sind nicht unbedingt so gruppiert oder in Layern wie man es gerne hätte

Wie muss denn der Projektionsstring (Proj4) aussehen um eine Karte um 90° zu drehen?

Ich würde von irgendeiner Kegelprojektion ausgehen (z.B. Lambert, EPSG 3034) und dann den Mittelmeridian um 180° verschieben, so dass er gegenüber dem Kartenausschnitt liegt.

Für 90° drehung hab ich grad kein Beispiel, weil ich mapserver verwende, das Karten sowieso drehen kann. Für ungefähr 45° siehts so aus:

Links mit Mittelmeridian lat_0 bei 10°

<3034> +proj=lcc +lat_1=65 +lat_2=35 +lat_0=52 +lon_0=10 +ellps=GRS80 +units=m +no_defs +over +wktext <>

Rechts mit

         ....  +lon_0=90 ... 

Was dann ungefähr zu einer (90°-10)°/2=40°-Drehung führt.

Grüße
Max

Eine echte Drehung ist nur bei ganz wenigen obskuren Projektionen durch Parameter +gamma= implementiert (z.B. bei +proj=omerc). Das heißt, in der Regel kannst du ein effektives Drehen nur indirekt erreichen.

Danke … hier mal meine Ergebnisse.

So sieht die Karte für Münster in WebMercator-Projektion aus (Referenz):

Und so mit dem Proj4-String (“+proj=lcc +lat_1=65 +lat_2=35 +lat_0=52 +lon_0=90 +ellps=GRS80 +units=m +no_defs +over +wktext”) von maxbe:

Hintergrund der Frage: Ich arbeite derzeit an einer Erweiterung für Printmaps, die Karten in beliebiger Projektion (EPSG-Nummer oder Proj4-String) ermöglichen soll.