You are not logged in.

#1 2016-03-25 13:46:34

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Ich habe von meiner Gemeinde einen kleinen Aufrag bekommen, der mich aber nun doch schon zwei Tage beschäftigt, was diverse Gründe hat.

Der Auftrag ist eigentlich recht trivial (bis es an die Umsetzung geht): Bundeslandgrenzen, Autobahnen, Bundesstraßen, Rennsteig, Städe (>20.000 EW), Schleusegrund

Zuerst geht es an die Datenbeschaffung, die schonmal die ersten Probleme mit sich bringt, z.B. größere Teile von Bundesstraßen die nicht in einer Relation sind (z.B. B 85). Naja, aber mit folgenden zwei Kommandos habe ich zumindest erstmal einen brauchbaren Datenbestand:

// bbox extrahieren
osmconvert --drop-author -b=9.52,49.70,11.83,51.12 germany-latest.osm.pbf -o=uebersicht.o5m

// daten filtern
osmfilter uebersicht.o5m --keep="place=town =city place=municipality highway=* AND ref=B\ *" --keep-relations="route=hiking AND name=Rennsteig type=TMC AND name=A* route=road AND ref=B\ * boundary=administrative AND admin_level=4" -o=uebersicht.osm

und mit der maperitive rule (siehe unten) sieht es auf den ersten Blick gar nicht mal sooo schlecht aus:
jbget572.png

Aber jetzt kommt ja dann noch das Finishing für die Druckaufbereitung, z.B. sollen nebenläufige Bundesstrassenabschnitte von Autobahnen (z.B. B26 Bamberg-Schweinfurt, B19 Würzburz-Schweinfurt, B 303 die zwischen Ebersdorf und Kronach zweigleisig verläuft?!) der übersichtlichkeithalber entfernt werden.

Ich habe also in maperitive einfach mal export-svg angeschmissen und den output mit Inkscape geöffnet, in der Annahme, dass ich dann Pfade oder Linien vorfinde, die ich dann ganz einfach bearbeiten/vereinfachen/kombinieren kann - so wie ich es schon jahrelang gewohnt bin ... und das Drama nahm seinen Lauf:

ci28pyhs.png

Mehrere Ebenen selben Typs, Keine Pfade/Linien und keine Texte sondern Symbole (?!) (siehe Quelltext unten), Umwandlung von Objekt/Kontur in Pfade hilft nur teilweise, usw.

HILFE!!!

Wer kann mir hierbei weiterhelfen? Gerne auch TileMill oder QGis 2.x. Habe die Tage auch schon beides versucht, bin dort aber nur halb soweit gekommen, da ich aktuell leider kein funktionierendes PostGIS am Laufen habe, sondern z.B. in QGIS einfach die OSM-Daten in eine SpatialDB importiert habe (und dort die Relationen fehlen/nicht gehen?!).

ZIEL: vereinfacht gesagt 5 Ebenen (Bundeslandgrenzen, Autobahn, Bundesstrasse, Rennsteig, Städe) in inkscape und pro Ebene (außer Städe) zusammenhängende Linien/Pfade

PS: Nach den Tagen bin ich, wenn es um die Datenbeschaffung, das Drucken und der Druckaufbereitung mit OSM Daten geht doch ziemlich ernüchtert und ich mir schon überlege, wo ich überall Notes hinterlasse sad

maperitive rule:

features
	points, areas

	areas

	lines

		bundesstrasse : highway AND @isMatch (ref, "^B.*")
		bundesstrasse : relation[(route=road AND @isMatch (ref, "^B.*"))]
		autobahn : relation[type=TMC AND @isMatch (name, "^A.*")]
		rennsteig: relation[type=route AND name=Rennsteig]
		boundary : relation[boundary=administrative AND admin_level=4 AND NOT natural=coastline]

	points
		point town : ((place=town or place=city) AND population >= 25000)
		point schleusegrund: place=municipality AND name="Schleusegrund"

properties
	map-background-color	: #FFFFFF
	map-background-opacity	: 1
	font-weight : bold
	font-family : Verdana
	text-max-width : 7
	text-halo-width : 25%
	text-halo-opacity : 0.75
	text-align-horizontal : center
	text-align-vertical : center
	font-stretch : 0.9
	map.rendering.lflp.min-buffer-space : 5
	map.rendering.lflp.max-allowed-corner-angle : 40

rules

	target : autobahn
		define
			min-zoom : 8
			line-style : solid
			line-join : round
			line-start-cap : round
			line-end-cap : round
			line-style : solid
			line-width : 8
			line-color : #006eb4
		draw : line

	target : rennsteig
		define
			min-zoom : 8
			line-color : #077100
			line-opacity : 1
			line-width : 6
		draw : line

	target : bundesstrasse
		define
			line-style : solid
			line-join : round
			line-start-cap : round
			line-end-cap : round
			line-style : solid
			line-color : #FFD300
			line-opacity : 1
			line-width : 6
		draw : line

	target : point*
		define
			font-weight : bold
			font-size : 10
		define
			shape : circle
			shape-size : 8
			fill-color : red
			line-color : red
			line-width : 1
		if : *schleusegrund
			define
				shape-size : 15
			define
				font-size : 15
		draw : shape
		draw : text
			
	target : boundary
		define
			line-width : 2
			line-color : #954000
			line-opacity : 1
			line-style : dashdot
		draw : line

output.svg

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" xml:space="preserve" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" x="0" y="0" width="433" height="433" clip-path="url(#MapClipRectangle)" style="overflow:hidden;text-rendering:optimizeLegibility" xmlns="http://www.w3.org/2000/svg">
	<title>Map Generated Using Maperitive (http://maperitive.net)</title>
	<desc>Map Generator: Maperitive v2.3.35 by Igor Brejc
Time: 03/25/2016 13:35:20
</desc>
	<defs>
		<clipPath clipPathUnits="userSpaceOnUse" id="MapClipRectangle">
			<rect x="0" y="0" width="433" height="433" />
		</clipPath>
		<symbol id="1" style="fill:none">
			<path d="M220.46 139.02 l0.38 -1.18 0.97 -0.89 1.26 -0.74 1.09 -0.6 1.57 -1.14 2.51 -2.42 1.04 -0.84 1.94 -1.35 2.65 -1.82 1.31 -0.83 1.44 -0.77" />
			<path d="M236.61 126.4 l-1.48 0.77 -1.31 0.82 -2.66 1.82 -1.2 0.82 -1.47 1.08 -2.82 2.71 -1.07 0.82 -1.58 0.91 -1.25 0.72 -1 0.95 -0.38 1.21" />
		</symbol>
		<symbol id="3" style="fill:none">
			<path d="M141.99 40.11 l-0.05 -0.12" />
			<path d="M392.03 76.95 l-1.37 0.78" />
			<path d="M390.7 77.77 l1.09 -0.71 0.25 -0.06" />
			<path d="M63.41 406.67 l0.02 -0.16" />
		</symbol>
		<symbol id="4" style="fill:none">
			<path d="M141.99 40.11 l-0.05 -0.12" />
			<path d="M63.41 406.67 l0.02 -0.16" />
			<path d="M52.92 346.93 l-0.56 1.54" />
		</symbol>
...
		<symbol id="symbol_shape_1" style="fill:#FF0000;stroke-linejoin:round;stroke:#FF0000">
			<circle cx="0" cy="0" r="15" />
		</symbol>
		<symbol id="symbol_shape_2" style="fill:#FF0000;stroke-linejoin:round;stroke:#FF0000">
			<circle cx="0" cy="0" r="8" />
		</symbol>
		<symbol id="symbol_text_3">
			<text transform="translate(200.92,184.27) scale(0.9,1)">Schleusegrund</text>
			<text transform="translate(200.92,184.27) scale(0.9,1)">Schleusegrund</text>
		</symbol>
		<symbol id="symbol_text_4">
			<text transform="translate(209.96,161.79) scale(0.9,1)">Suhl</text>
			<text transform="translate(209.96,161.79) scale(0.9,1)">Suhl</text>
		</symbol>
...
	</defs>
	<g id="Map_background" style="fill:#F1EEE8;stroke:#000000" inkscape:groupmode="layer" inkscape:label="Map background">
		<g id="map_background" inkscape:groupmode="layer" inkscape:label="map background">
			<rect x="0" y="0" width="433" height="433" id="Map_Background_Fill" style="stroke:none" />
		</g>
	</g>
	<g id="Line_artwork" style="stroke-linejoin:round" inkscape:groupmode="layer" inkscape:label="Line artwork">
		<g id="autobahn" style="stroke-linecap:round;stroke:#006EB4;stroke-width:8" inkscape:groupmode="layer" inkscape:label="autobahn">
			<use xlink:href="#1" />
		</g>
		<g id="bundesstrasse" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#3" />
		</g>
		<g id="bundesstrasse1" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#4" />
		</g>
		<g id="autobahn1" style="stroke-linecap:round;stroke:#006EB4;stroke-width:8" inkscape:groupmode="layer" inkscape:label="autobahn">
			<use xlink:href="#5" />
		</g>
		<g id="boundary" style="stroke-dasharray:6,2,2,2;stroke:#954000;stroke-width:2" inkscape:groupmode="layer" inkscape:label="boundary">
			<use xlink:href="#6" />
		</g>
		<g id="bundesstrasse11" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#7" />
		</g>
		<g id="bundesstrasse111" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#8" />
		</g>
		<g id="rennsteig" style="stroke:#077100;stroke-width:6" inkscape:groupmode="layer" inkscape:label="rennsteig">
			<use xlink:href="#9" />
		</g>
		<g id="autobahn11" style="stroke-linecap:round;stroke:#006EB4;stroke-width:8" inkscape:groupmode="layer" inkscape:label="autobahn">
			<use xlink:href="#10" />
		</g>
		<g id="bundesstrasse1111" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#11" />
		</g>
		<g id="bundesstrasse11111" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#12" />
		</g>
		<g id="rennsteig1" style="stroke:#077100;stroke-width:6" inkscape:groupmode="layer" inkscape:label="rennsteig">
			<use xlink:href="#13" />
		</g>
		<g id="autobahn111" style="stroke-linecap:round;stroke:#006EB4;stroke-width:8" inkscape:groupmode="layer" inkscape:label="autobahn">
			<use xlink:href="#14" />
		</g>
		<g id="bundesstrasse111111" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#15" />
		</g>
		<g id="bundesstrasse1111111" style="stroke-linecap:round;stroke:#FFD300;stroke-width:6" inkscape:groupmode="layer" inkscape:label="bundesstrasse">
			<use xlink:href="#16" />
		</g>
		<g id="autobahn1111" style="stroke-linecap:round;stroke:#006EB4;stroke-width:8" inkscape:groupmode="layer" inkscape:label="autobahn">
			<use xlink:href="#17" />
		</g>
	</g>
	<g id="Symbols__icons" style="fill:#FF0000;stroke-linejoin:round;stroke:#FF0000" inkscape:groupmode="layer" inkscape:label="Symbols &amp; icons">
		<g id="point_schleusegrund__shape" inkscape:groupmode="layer" inkscape:label="point schleusegrund (shape)">
			<use transform="translate(256.88,176.85)" xlink:href="#symbol_shape_1" />
		</g>
		<g id="point_town__shape" inkscape:groupmode="layer" inkscape:label="point town (shape)">
...
		</g>
	</g>
	<g id="Labels" style="stroke:#000000;font-family:Verdana;font-weight:bold" inkscape:groupmode="layer" inkscape:label="Labels">
		<g id="point_schleusegrund__text" style="font-size:15px" inkscape:groupmode="layer" inkscape:label="point schleusegrund (text)">
			<g style="stroke-width:3.75;stroke:#FFFFFF;fill:none;stroke-opacity:0.75">
				<use xlink:href="#symbol_text_3" />
			</g>
			<g style="fill:#000000;stroke:none;fill-opacity:1">
				<use xlink:href="#symbol_text_3" />
			</g>
		</g>
		<g id="point_town__text" style="font-size:10px" inkscape:groupmode="layer" inkscape:label="point town (text)">
			<g style="stroke-width:2.5;stroke:#FFFFFF;fill:none;stroke-opacity:0.75">
				<use xlink:href="#symbol_text_4" />
			</g>
			<g style="fill:#000000;stroke:none;fill-opacity:1">
				<use xlink:href="#symbol_text_4" />
			</g>
...
		</g>
	</g>
...
</svg>

Last edited by Harald Hartmann (2016-03-25 16:20:53)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#2 2016-03-25 15:43:01

toc-rox
Member
From: Münster
Registered: 2011-07-20
Posts: 2,259
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Möglicherweise ist es günstiger zunächst zwei Karten zu erzeugen. Eine Übersichtskarte für das Umland und eine Detailkarte deiner Gemeinde. Wenn du beides hast, legst du die Detailkarte über die Übersichtskarte.

Gruß Klaus

Offline

#3 2016-03-25 16:17:49

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

?! Sorry, verstehe dich nicht, oder ich habe mich oben nicht eindeutig ausgedrückt: Mehr als in dem output oben (Übersichtskarte) soll es nicht werden und wäre es fürs web, würde ich das vermutlich genauso als export-bmp veröffentlichen. Mir geht es definitiv um das Finishing bzw. Nachbearbeitung in inkscape inkl. Erstellung von PDF oder PS, da es in den Druck gehen soll.

Eine Detailkarte der Gemeinde spielt aktuell keine Rolle.

Last edited by Harald Hartmann (2016-03-25 16:23:17)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#4 2016-03-25 19:45:11

Eberth
Member
Registered: 2010-03-21
Posts: 207

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Da ich grad wenig Zeit habe, nur mal auf die Schnelle:

Du kannst in Inkscape mit "Bearbeiten -> Klonen -> Klonverbindung auftrennen" aus den markierten "ways" Linien machen. Danach musst Du noch die Füllung löschen (X). Jetzt kannst Du einzelne Linien anwählen und verändern – ggf. vorher noch "Gruppierung aufheben".

Leider erstellt Maperitive mehrere gleichnamige Ebenen, in denen unterschiedliche Abschnitte derselben "ways" sind. Das macht die Sache schnell unübersichtlich. Dafür habe ich auch noch keine praktikable Lösung gefunden.

Thomas

Offline

#5 2016-03-25 21:23:38

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,635
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Harald Hartmann wrote:

HILFE!!!

Wer kann mir hierbei weiterhelfen? Gerne auch TileMill oder QGis 2.x. Habe die Tage auch schon beides versucht, bin dort aber nur halb soweit gekommen, da ich aktuell leider kein funktionierendes PostGIS am Laufen habe, sondern z.B. in QGIS einfach die OSM-Daten in eine SpatialDB importiert habe (und dort die Relationen fehlen/nicht gehen?!).

Sorry, ein hartes Statement:

MMn nach machst du 2 Kardinalfehler. Du verzichtest auf eine PostGIS-Datenbank, die dir relativ leicht spatiale Abfragen ermöglichst, und als zweites versuchst du die dadurch auftretenden Mängel durch "Rumpfuschen" mittels eines graphischen Editors zu retuschieren.

Ich hab deine Anfrage mittels PostGIS und in diesem Falle OpenJump visualisiert und meine, dass ich relativ nah dran bin.

siehe:
tn_schleusegrund2.png

Was noch fehlt, ist die Unterdrückung der B 303 und Verwendung der Pseudo Mercator Projektion SRS:3587. Ersteres war mir zu mühsam und das Ändern der Projektion hab ich bei OpenJump noch nie gemacht. Qgis geht natürlich auch, zickt aber derzeit bei mir rum.

Der "Trick" ist, die unerwünschten Straßen bereits bei der Query zu filtern.

select way,ref
from planet_osm_roads
where tags ? 'highway'
and ref like 'B %' and ref not in ('B 19','B 26');

Bei der B303 muss man eventuell noch eine spatiale Abfrage verwenden, die nur bestimmte Teilstücke filtert.

Gruss
walter

download SVG: https://osm.wno-edv-service.de/images/o … grundX.svg

Last edited by wambacher (2016-03-25 21:52:55)

Offline

#6 2016-03-25 21:59:23

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

wambacher wrote:

Sorry, ein hartes Statement

So lange das konstruktiv ist, habe ich da nichts dagegen, auch nicht gegen das Wort "rumpfuschen" wink

wambacher wrote:

Ich hab deine Anfrage mittels PostGIS und in diesem Falle OpenJump visualisiert und meine, dass ich relativ nah dran bin.

Okay, dann werde ich mir mal OpenJump anschauen (und nebenbei mal wieder PostGIS aufsetzen), ist mir bisher noch kein einziges mal untergekommen ... bei keiner Suche hmm

wambacher wrote:

Der "Trick" ist, die unerwünschten Straßen bereits bei der Query zu filtern. ... Bei der B303 muss man eventuell noch eine spatiale Abfrage verwenden, die nur bestimmte Teilstücke filtert.

Tja, sooo einfach ist das ja nicht, da auch bei der B26 und B19 nur autobahnbegleitende Stücke entfernt werden sollen, d.h. ab Karlstadt Richtung Frankfurt soll die B26 auftauchen, genauso die B19 von Meiningen nach Eisenach. Anfangs hatte ich natürlich bei osmfilter genau diese ref!=B\ 26 Filterung drin, wollte es im obigen Codeschnipsel so einfach wie möglich halten.
Ich hatte zunächst auch den Positivfall als ref=B\ 88 or ref=B\ 303 usw probiert, aber dann fehlten mir auch wieder Stücke, weil nicht richtig getaggt (Datenqualität) hmm

Und das alles mit Abfragen schon einzugrenzen mag vielleicht möglich sein .. aber wenn der SVG Output einigermaßen passt, bin ich mit rumpfuschen in Inkscape definitiv schneller (Pfad an den Stellen auftrennen und löschen) ... da fällt mir ein, das ich ja auch das OSM in JOSM öffnen und schon soweit bearbeiten (überflüssige Teilabschnitte löschen und die restlichen Abschnitte mergen) könnte big_smile

wambacher wrote:

Wollte das erzeugte SVG-File hier posten, aber Joomla! weigert sich, das SVG  zu akzeptieren ("Possible IE XSS Attack found."). Wenn du es haben will, schick mir ne Mail.

Meine Emailadresse hast du, also Danke wink

Last edited by Harald Hartmann (2016-03-25 22:06:02)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#7 2016-03-25 22:03:33

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Eberth wrote:

Du kannst in Inkscape mit "Bearbeiten -> Klonen -> Klonverbindung auftrennen" aus den markierten "ways" Linien machen. Danach musst Du noch die Füllung löschen (X). Jetzt kannst Du einzelne Linien anwählen und verändern – ggf. vorher noch "Gruppierung aufheben".

Leider erstellt Maperitive mehrere gleichnamige Ebenen, in denen unterschiedliche Abschnitte derselben "ways" sind. Das macht die Sache schnell unübersichtlich. Dafür habe ich auch noch keine praktikable Lösung gefunden.

Danke für den Tipp, funktioniert durchaus, ist aber immer noch richtig aufwendig ... auch nachdem ich die Inhalte gleichnamiger Ebenen in die oberste dieser Ebenen verschoben und Pfade kombiniert habe... naja ma gucken.


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#8 2016-03-25 22:10:25

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,635
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Harald Hartmann wrote:

Okay, dann werde ich mir mal OpenJump anschauen (und nebenbei mal wieder PostGIS aufsetzen), ist mir bisher noch kein einziges mal untergekommen ... bei keiner Suche hmm

mach es ruhig mit QGIS. Bis du in OJ drin bist, ist Ostern rum wink Bei mir zickt QGIS, weil ich den ganzen Planeten online habe und manche Queries extrem lange dauern. OJ ist da einfacher gestrickt und performanter.

wambacher wrote:

Der "Trick" ist, die unerwünschten Straßen bereits bei der Query zu filtern. ... Bei der B303 muss man eventuell noch eine spatiale Abfrage verwenden, die nur bestimmte Teilstücke filtert.

Tja, sooo einfach ist das ja nicht, da auch bei der B26 und B19 nur autobahnbegleitende Stücke entfernt werden sollen, d.h. ab Karlstadt Richtung Frankfurt soll die B26 auftauchen, genauso die B19 von Meiningen nach Eisenach. Anfangs hatte ich natürlich bei osmfilter genau diese ref!=B\ 26 Filterung drin, wollte es im obigen Codeschnipsel so einfach wie möglich halten.
Ich hatte zunächst auch den Positivfall als ref=B\ 88 or ref=B\ 303 usw probiert, aber dann fehlten mir auch wieder Stücke, weil nicht richtig getaggt (Datenqualität) :

Deswegen hatte ich auch bei der B 303 geschrieben, dass man die unnötigen Teilstücke mit einen spatialen Query rausfiltern sollte: ("Die B303-Teilstücke,  die in dieser Bbox sind, bitte nicht importieren")

Und das alles mit Abfragen schon einzugrenzen mag vielleicht möglich sein .. aber wenn der SVG Output einigermaßen passt, bin ich mit rumpfuschen in Inkscape definitiv schneller (Pfad an den Stellen auftrennen und löschen) ... da fällt mir ein, das ich ja auch das OSM in JOSM öffnen und schon soweit bearbeiten könnte big_smile

Jo, egal wie, Haupsache diese Teilstücke sind nicht in den Rohdaten drin, die du weiter verarbeiten willst.

wambacher wrote:

Wollte das erzeugte SVG-File hier posten, aber Joomla! weigert sich, das SVG  zu akzeptieren ("Possible IE XSS Attack found."). Wenn du es haben will, schick mir ne Mail.

Ist inzwischen online: https://osm.wno-edv-service.de/images/o … grundX.svg

Gruss
walter

Last edited by wambacher (2016-03-25 22:13:22)

Offline

#9 2016-03-26 11:27:41

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Ach und noch ein Grund warum ich so auf das Thema "Nachbearbeitung" rumreite: Der Druckbereich ist 110x110 mit einem Maßstab von ungefähr 1:1.500.000 und da macht es nicht wirklich Sinn die Detailtreue von OSM herzunehmen, d.h. ich will das nachträglich ja etwas "schematischer" darstellen, in dem ich dann in inkscape einfach die "Pfade vereinfache".

Habe mal angefangen in JOSM zu bereinigen, da gehts schon los, dass ich die Autobahnen ja erstmal zu "einem" Weg zusammen fassen muss, Autobahnen aber ja baulich getrennt also zwei Ways gemappt sind usw.


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#10 2016-03-26 12:29:37

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,635
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Harald Hartmann wrote:

Ach und noch ein Grund warum ich so auf das Thema "Nachbearbeitung" rumreite: Der Druckbereich ist 110x110 mit einem Maßstab von ungefähr 1:1.500.000 und da macht es nicht wirklich Sinn die Detailtreue von OSM herzunehmen, d.h. ich will das nachträglich ja etwas "schematischer" darstellen, in dem ich dann in inkscape einfach die "Pfade vereinfache".

PostGIS: ST_Simplify() oder besser noch ST_SimplifyPreserveTopology():

Habe mal angefangen in JOSM zu bereinigen, da gehts schon los, dass ich die Autobahnen ja erstmal zu "einem" Weg zusammen fassen muss, Autobahnen aber ja baulich getrennt also zwei Ways gemappt sind usw.

Da muss ich passen. Zudem, weil mich das nicht stören würde.

Gruss
walter

Ich nehme mal an, du hast dafür noch kein PostGIS aufgesetzt, gell?

Offline

#11 2016-03-26 12:51:31

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Ich hatte mal vor über einem Jahr PostGIS aufgesetzt ... aber irgendwie habe ich irgendwannmal wie auch immer mein postgresql zerschrottet (angeblich ist es laut apt installiert, wenn ich postgresql starten will kommt keine Fehlermeldung auch nicht in /var/log... aber der Port 5432 ist trotzdem nicht offen)

Autobahnen habe ich nun einfach bei osmfilter mit "AND TMC:cid_58:tabcd_1:Direction=positive" nur noch einspurig vor mir liegen smile


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#12 2016-03-26 17:05:03

toc-rox
Member
From: Münster
Registered: 2011-07-20
Posts: 2,259
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Harald Hartmann wrote:

... Der Druckbereich ist 110x110 mit einem Maßstab von ungefähr 1:1.500.000 und da macht es nicht wirklich Sinn die Detailtreue von OSM herzunehmen, d.h. ich will das nachträglich ja etwas "schematischer" darstellen, in dem ich dann in inkscape einfach die "Pfade vereinfache". ...

Das entspräche auf der OSM-Karte der Zoomstufe 8.5 und deckt eine Fläche von 1650*1650 km ab. Hmm?

Gruß Klaus

Offline

#13 2016-03-27 11:44:33

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Wie kommst du da drauf? Also ich bin ja folgender Meinung:
Maßstab 1:1.500.000 = 1cm(Kartenstrecke):15km(Naturstrecke) = 110mm(Druckmaß!) = 165km
Bist du vielleicht irgendwo um eine Dezimalstelle verrutscht?


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#14 2016-03-29 14:53:52

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

wambacher wrote:

PostGIS: ST_Simplify() oder besser noch ST_SimplifyPreserveTopology():
...
Ich nehme mal an, du hast dafür noch kein PostGIS aufgesetzt, gell?

So, habe meine postgresql wieder am Laufen, eine neue DB "uebersicht" erstellt, dieser die PostGIS Extensions verpasst und meine uebersicht.osm per osm2pgsql importiert.

Wenn ich jetzt in QGIS die planet_osm_roads als Layer reinziehe, erscheinen alle Straßen. Dann gehe ich in den Layer und mache z.B. einen Filter "highway"="motorway", nun sehe ich alle Autobahnen.

Dann wollte ich auf Vektor > GeometrieWerkzeuge > Geometrie vereinfachen und habe da ein bisschen rumgespielt, aber da tut sich nichts vereinfachen ... also vielleicht vereinfacht sich da schon was, aber es wird nicht "schemenhafter"

Und wie mache ich das mit ST_Simplify()? Ich habe bisher noch nicht wirklich rausgefunden, wie man direkt in QGIS z.B.

SELECT st_simplify(way,10) from planet_osm_roads where highway='motorway'

eintragen kann. Ich habe dafür mit pgadmin mal eine View ("einfach") erzeugt, wenn ich die aber als Layer reinziehe, dann kommt

layer ist ungültig: Der Layer dbname='uebersicht' host=localhost port=5432 sslmode=disable key='st_simplify' srid=900913 type=LineString table="public"."einfach" (st_simplify) sql= ist ungültig und kann der Karte nicht hinzugefügt werden

Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#15 2016-03-29 15:32:24

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Nachtrag: Ich habe noch einen weiteren Test gemacht: A9, A70, A73 in JOSM alle Ways zu EINEM gemergt, A4 und A7 habe ich gelassen wie sie waren. Wenn ich jetzt in QGIS die Daten lade und dort per SVG exportiere, in Inkscape reinlade und dann versuchte die "Pfade zu vereinfachen", dann geschieht dies lediglich für die Autobahnen, die zu einem einzigen Ways gemerged wurden, aber nicht für die A4/A7 (obwohl die die Pfade in Inkscape "kombiniert" habe).

D.h. bekommt man es in QGIS auch irgendwie hin, dass man ways zu einem einzigen merged, so, dass man z.B. für eine komplette Autobahn nur eine einzige komplette Linie hat?


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#16 2016-03-29 16:56:10

stephan75
Member
Registered: 2008-05-28
Posts: 2,878

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Ich empfehle für einen (Neu-)Einstieg in QGIS, zu dem man KEINE extra Datenbank benötigt, folgendes:

Daten reinladen in QGIS mittels QuickOSM-Erweiterung ... da kannst du OverpassAPI/Turbo-Abfragen reinmachen und dann gezielt Daten abrufen, welche dann auch in einzelne QGIS-Layer reingehen.

Intern macht QGIS dann glaub ich Shapefiles draus.
Ob Relationen wie benötigt beibehalten werden, weiß ich nicht.

Dann Bearbeitung der Daten und eigenes Map-Styling laut den (schon älteren, aber sehr brauchbaren) Videos laut
https://vimeo.com/mangomap/videos ausprobieren.

Einfach die Tutorials Teil 1-5 anschauen und nachvollziehen.

Und dann über den DruckManager in QGIS einen Export.

Offline

#17 2016-03-29 18:38:52

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,635
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Harald Hartmann wrote:

Und wie mache ich das mit ST_Simplify()? Ich habe bisher noch nicht wirklich rausgefunden, wie man direkt in QGIS z.B.

SELECT st_simplify(way,10) from planet_osm_roads where highway='motorway'

eintragen kann.
indem Ich habe dafür mit pgadmin mal eine View ("einfach") erzeugt, wenn ich die aber als Layer reinziehe, dann kommt

layer ist ungültig: Der Layer dbname='uebersicht' host=localhost port=5432 sslmode=disable key='st_simplify' srid=900913 type=LineString table="public"."einfach" (st_simplify) sql= ist ungültig und kann der Karte nicht hinzugefügt werden

Die Lösung besteht darin, dass man die Geometrie des Ways im View angibt. Beispiel:

CREATE VIEW v_simpleways AS 
   SELECT ST_Simplify(way,10)::geometry(POLYGON,4326) As Sway 
     FROM planet_osm_polygon;

ist wohl mit der 2.0 von PostGIS reingekommen.

Last edited by wambacher (2016-03-29 18:50:38)

Offline

#18 2016-03-29 19:30:13

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Hat leider nicht geholfen...ja, ich habe statt Polygon LineString verwendet, da ich ja die roads nehme und habe mich an den Eigenschaften des von osm2pgsql importierten planet_osm_roads genommen...

Layer ist ungültig: Der Layer dbname='uebersicht' host=localhost port=5432 sslmode=disable key='sway' srid=4326 type=LineString table="public"."einfach" (sway) sql= ist ungültig und kann der Karte nicht hinzugefügt werden

Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#19 2016-03-29 19:39:06

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,635
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Harald Hartmann wrote:

Hat leider nicht geholfen...ja, ich habe statt Polygon LineString verwendet, da ich ja die roads nehme und habe mich an den Eigenschaften des von osm2pgsql importierten planet_osm_roads genommen...

Layer ist ungültig: Der Layer dbname='uebersicht' host=localhost port=5432 sslmode=disable key='sway' srid=4326 type=LineString table="public"."einfach" (sway) sql= ist ungültig und kann der Karte nicht hinzugefügt werden

a) das hat zu funktionieren
b) das funzt
c) ohne wirklich konkrete Infos kann auch ich nix machen.

Gruss
walter

Offline

#20 2016-03-29 19:42:51

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

stephan75 wrote:

... Daten reinladen in QGIS mittels QuickOSM-Erweiterung ... da kannst du OverpassAPI/Turbo-Abfragen reinmachen und dann gezielt Daten abrufen, welche dann auch in einzelne QGIS-Layer reingehen. ...
Dann Bearbeitung der Daten und eigenes Map-Styling laut den (schon älteren, aber sehr brauchbaren) Videos laut
https://vimeo.com/mangomap/videos ausprobieren.

Einfach die Tutorials Teil 1-5 anschauen und nachvollziehen.

Und dann über den DruckManager in QGIS einen Export.

Danke für die Videos ... die leider mein eigentlichen Problem auch nicht beheben.

Ich habe mir mal kurz die Zeit genommen und einfach mal per QuickOSM die A4 in Thüringen als Layer geladen und per DruckManager als SVG exportiert ... auch diese (Einzel-)"Pfade" kann ich in Inkscape (auch nachdem ich sie "kombiniert" habe) leider nicht "vereinfachen" (also schematisieren.

PS: Letztendlich geht es um das hier, ich werde mich da mal ein bisschen einlesen.

PPS: Aber schon bei den ersten Posts habe ich so das Gefühl, dass ich mit meiner Methode, in JOSM aus den vielen Einzelways EINEN Gesamtway zu machen, diesen per Maperitive dann als svg exportieren lasse und in Inkscape dann mehrmals hintereinander "Pfade vereinfachen" drücke, bis mir das Ergebnis gefällt.


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#21 2016-03-29 19:45:45

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,635
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

zu den gestückelten ways: Ja, st_simplify() macht das natürlich pro Way. Die könnte man in PostGIS natürlich irgendwie zusammenfassen (st_union() ?), aber da komm ich etwas in's Schwimmen. Mit PostGis Topologies geht das aber das wäre ein Bagger im Sandkasten.

Offline

#22 2016-03-29 19:46:52

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Hier mal 5 Stufen nach "Pfade vereinfachen". Am oberen Rand die A4 (Bad Hersfeld>Erfurt) und am rechten Rand die A9 (Nürnberg>Hof), beide habe ich NICHT als einen Way (highway=motorway) in JOSM gemerged, die anderen A (7,70,71,73,3) dafür schon.
y4tk7sua.png
b7pej7on.png
z4zxaz3n.png
d99qb4o5.png
hcgfelra.png


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#23 2016-03-29 19:56:56

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,635
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

Harald Hartmann wrote:

Hier mal 5 Stufen nach "Pfade vereinfachen". Am oberen Rand die A4 (Bad Hersfeld>Erfurt) und am rechten Rand die A9 (Nürnberg>Hof), beide habe ich NICHT als einen Way (highway=motorway) in JOSM gemerged, die anderen A (7,70,71,73,3) dafür schon.

Wie hast du denn vereinfacht? Josm oder PostGIS?

Hübsch, obwohl ich fast keine Unterschiede der 5 Versionen erkennen kann. Und wenn du mit dem Ergebnis zufrieden bist, mach das mit der A4 und A9 halt genau so.

gruss
walter

ps: was ist denn jetzt mit dem View? Funzt oder wird nicht benötigt?

Offline

#24 2016-03-30 17:09:11

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Übersichtskarte erstellen ... und dann mit Inkscape nachbearbeiten

ich habs dir mal übereinandergelegt: blau im Hintergrund ist mit inkscape per "Pfade vereinfachen" geglättet, gold im Vordergrund sind die original OSM Ways.
fiipmckb.png
... und ich denke mal, das sieht man schon einen Unterschied.

So, in inkscape funktioniert das aber auch nur, weil ich vorher in JOSM die angesprochenen Autobahnabschnitte durch die Relation ausgewählt, dann alle Tags außer highway=motorway und ref=A* weggelöscht und abschließend die Ways "gemerged" habe, es also wirklich nur eine komplette durchgezogenen Linie (way) - natürlich mit sehr vielen zwischenpunkten, nämlich die anfangs- und endpunkte der ursprünglichen ways - pro Autobahn ist.

So, da wie du angesprochen hast st_simplify ja auch nur die einzelnen Ways glättet bringt mir das in diesem Maßstab nicht wirklich viel, oder man müsste eben wie du auch geschrieben hast versuchen das vorher mit st_union zu verbinden, dann würde ich mir das mergen der Ways in JOSM sparen.

Last edited by Harald Hartmann (2016-03-30 17:11:15)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

Board footer

Powered by FluxBB