[Maperitive] Stadtgrenzen von Köln anzeigen
-
[Maperitive] Stadtgrenzen von Köln anzeigen · Mexdus (Gast) · 25.10.2017 14:21 · [flux]
Hallo liebe Kartografie-Experten,
für unser aktuelles Semester brauchen wir einen modifizierten Schwarzplan von Köln. Die Regeln für Maperitive habe ich schon. Allerdings weiß ich nicht, wie ich die Stadtgrenzen (oder auch Stadtteilgrenzen) wieder anzeigen lassen kann. Weiß da jemand, wie ich rauskriege, was ich in die .rules Datei schreiben muss, damit dies geht? Mit der aktuellen Konfiguration klappts nicht.Hier kann man die Stadtgrenze auf dem Rhein und nördlich von Hitdorf sehen, diese will ich etwa in dem Stil auch behalten zusammen mit den Gebäuden und der Wasserfläche.
So sieht sie aktuell aus:
//␣␣␣␣Rules␣for␣Maperitive␣by␣ABRob/quasilotte // //␣␣␣␣Schwarzplan features areas building␣:␣building water␣:␣natural=water␣OR␣waterway=riverbank␣OR␣landuse=reservoir␣OR␣landuse=basin␣OR␣natural=lake␣OR␣natural=sea
lines boundary␣country␣:␣boundary=administrative␣AND␣admin_level=2 boundary␣country␣:␣border_type=nation boundary␣district␣:␣boundary=administrative␣AND␣admin_level=4 boundary␣canton␣:␣boundary=administrative␣AND␣admin_level=5 boundary␣commune␣:␣boundary=administrative␣AND␣admin_level=6 boundary␣municipal␣:␣boundary=administrative␣AND␣admin_level=8 boundary␣quartier␣:␣boundary=administrative␣AND␣admin_level=9 // railway␣:␣railway=rail
properties map-background-color␣␣␣␣:␣#FFFFFF line-style␣:␣none rules target␣:␣building define fill-color␣:␣black draw␣:␣fill target␣:water
define
min-zoom␣:␣10
fill-color␣:␣#808080
draw␣:␣fill target␣:␣railway define line-style␣:␣dashlong line-color␣:␣white line-width␣:␣2 border-style␣:␣solid border-color␣:␣#a1a1a1 border-width␣:␣50% draw␣:␣line
target␣:␣boundary define line-opacity␣:␣1 if␣:␣boundary␣country define line-color␣:␣#0000FF line-style␣:␣solid line-width␣:␣6:1;9:3;10:6 elseif␣:␣boundary␣district define line-color␣:␣#9900FF line-opacity␣:␣1 min-zoom␣:␣4 line-width␣:␣3:1;11:7 line-style␣:␣dash elseif␣:␣boundary␣canton define line-color␣:␣#FF0000 line-opacity␣:␣1 min-zoom␣:␣6 line-width␣:␣3:1;9:2;11:7 line-style␣:␣dot elseif␣:␣boundary␣commune define line-color␣:␣#999900 line-opacity␣:␣1 min-zoom␣:␣8 line-width␣:␣9:1;11:5 line-style␣:␣dashdotdot
elseif␣:␣boundary␣municipal define min-zoom␣:␣12 line-color␣:␣#660000 line-width␣:␣12:1;14:2 line-style␣:␣dash
elseif␣:␣boundary␣quartier define line-color␣:␣#66FF66 min-zoom␣:␣8 line-width␣:␣9:0.1;11:1 line-style␣:␣dot draw␣:␣line
Die Eisenbahn habe ich erstmal ausgeklammert, da wir sie noch nicht brauen. Die Stadtgrenzen wären aber sehr wichtig, da wir wissen müssen, bis wohin die Kölner Bebbauung reicht.
Kann man sogar alles außerhalb Kölns beim Export ausblenden?
Lieben Gruß
Max- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · Harald Hartmann (Gast) · 25.10.2017 14:35 · [flux]
Hallo Max,
leider habe ich jetzt aktuell kein Maperitive am laufen um es sicher sagen zu können, aber müsste es nicht
boundary␣commune:␣relation[boundary=administrative␣AND␣admin_level=6]
sein? Und natürlich muss die entsprechende admin-boundary auch in euren Rohdaten sein, nicht das die z.B. beim Filter rausgeschmissen wurden. Desweiteren würde ich mir von wambachers boundaries map das poly für Köln holen und damit filtern, dann sollte alles außerhalb dieser Grenzen eh schon weg sein.
PS: Wie hab ihr denn überhaupt "exportiert" oder gefilter bzw. eure Rohdaten wie erzeugt?
ADD: nur zur Feststellung, bei eurem
boundary␣commune␣:␣boundary=administrative␣AND␣admin_level=6
würde meiner Meinung nach nur die Ways mit diesen Eigenschaften gefiltert werden, aber eigentlich sollten diese Eigenschaften gar nicht an den Ways sein, sondern nur in der Relation stehen
- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · Nakaner (Gast) · 25.10.2017 14:35 · [flux]
Hallo Max,
herzlich willkommen im Forum.
Mexdus wrote:
für unser aktuelles Semester brauchen wir einen modifizierten Schwarzplan von Köln. Die Regeln für Maperitive habe ich schon. Allerdings weiß ich nicht, wie ich die Stadtgrenzen (oder auch Stadtteilgrenzen) wieder anzeigen lassen kann. Weiß da jemand, wie ich rauskriege, was ich in die .rules Datei schreiben muss, damit dies geht? Mit der aktuellen Konfiguration klappts nicht. So sieht sie aktuell aus:
//␣␣␣␣Rules␣for␣Maperitive␣by␣ABRob/quasilotte // //␣␣␣␣Schwarzplan features areas building␣:␣building water␣:␣natural=water␣OR␣waterway=riverbank␣OR␣landuse=reservoir␣OR␣landuse=basin␣OR␣natural=lake␣OR␣natural=sea
lines boundary␣country␣:␣boundary=administrative␣AND␣admin_level=2 boundary␣country␣:␣border_type=nation boundary␣district␣:␣boundary=administrative␣AND␣admin_level=4 boundary␣canton␣:␣boundary=administrative␣AND␣admin_level=5 boundary␣commune␣:␣boundary=administrative␣AND␣admin_level=6 boundary␣municipal␣:␣boundary=administrative␣AND␣admin_level=8 boundary␣quartier␣:␣boundary=administrative␣AND␣admin_level=9 // railway␣:␣railway=rail
properties map-background-color␣␣␣␣:␣#FFFFFF line-style␣:␣none rules target␣:␣building define fill-color␣:␣black draw␣:␣fill target␣:water
define
min-zoom␣:␣10
fill-color␣:␣#808080
draw␣:␣fill target␣:␣railway define line-style␣:␣dashlong line-color␣:␣white line-width␣:␣2 border-style␣:␣solid border-color␣:␣#a1a1a1 border-width␣:␣50% draw␣:␣line
target␣:␣boundary define line-opacity␣:␣1 if␣:␣boundary␣country define line-color␣:␣#0000FF line-style␣:␣solid line-width␣:␣6:1;9:3;10:6 elseif␣:␣boundary␣district define line-color␣:␣#9900FF line-opacity␣:␣1 min-zoom␣:␣4 line-width␣:␣3:1;11:7 line-style␣:␣dash elseif␣:␣boundary␣canton define line-color␣:␣#FF0000 line-opacity␣:␣1 min-zoom␣:␣6 line-width␣:␣3:1;9:2;11:7 line-style␣:␣dot elseif␣:␣boundary␣commune define line-color␣:␣#999900 line-opacity␣:␣1 min-zoom␣:␣8 line-width␣:␣9:1;11:5 line-style␣:␣dashdotdot
elseif␣:␣boundary␣municipal define min-zoom␣:␣12 line-color␣:␣#660000 line-width␣:␣12:1;14:2 line-style␣:␣dash
elseif␣:␣boundary␣quartier define line-color␣:␣#66FF66 min-zoom␣:␣8 line-width␣:␣9:0.1;11:1 line-style␣:␣dot draw␣:␣line
"target : boundary" heißt, dass der folgende Abschnitt für die Klasse "boundary" gilt, aber du hast keine Klasse "boundary", sondern "boundary country", "boundary county" usw. definiert. "target: boundary*" dürfte aber funktionieren.
Mexdus wrote:
Kann man sogar alles außerhalb Kölns beim Export ausblenden?
Nicht so ohne weiteres. Selbst wenn du mit Osmium oder Osmconvert exakt an der Stadtgrenze abschneiden würdest, würden die Geometrien immer noch darüber hinaus ragen. Mir fällt auf Anhieb auch keine Software ein, die direkt an der Grenze die Geometrien abschneidet, da das nicht trivial ist. Mein Vorschlag wäre im Falle von Maperitive (bei Mapnik und Mapserver wäre es in dem Fall einfacher, aber deren Setup ist beim ersten Mal aufwendiger), von Hand ein Polygon zu zeichnen, das den außerkölnischen Teil der Welt/Karte umfasst, auf dem obersten Layer liegt und eine weiße Füllfarbe hat. Ich bin kein SVG-Guru, die wissen u.U. noch mehr.
Viele Grüße
Michael
- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · Harald Hartmann (Gast) · 25.10.2017 14:40 · [flux]
Nakaner wrote:
Nicht so ohne weiteres. Selbst wenn du mit Osmium oder Osmconvert exakt an der Stadtgrenze abschneiden würdest, würden die Geometrien immer noch darüber hinaus ragen.
Diese Einschränkung gilt in der Tat auch für meine Aussage weiter oben ... da es aber hier hauptsächlich ja auf die Gebäude ankommt, habe ich das unterschlagen 😉
- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · Mexdus (Gast) · 25.10.2017 14:50 · [flux]
@Harald Hartmann
Die Kartendaten wurden ganz normal mit der API von Maperitive runtergeladen (WebMap) und dann hat man ja die Offline OSM-File Karte. Diese mappt/rendert man ja mit den Regeln. Daher weiß ich auch nie, woher ich die "Namen" der Stadtgrenzen bekomme, sodass ich sie in den Regeln explizit weiter angezeigt bekomme.
Generell ist das Abschneiden aller Sachen außerhalb Köln nicht zwingend erforderlich, sondern nur ein "nice to have".
EDIT: Danke für die Codezeile. Die Stadgrenze ist schonmal sichtbar. Jetzt muss ich nur noch rausfinden, wie ich Linienstärke und Farbe anpasse.
Stadtteilgrenzen lassen sich auch auf diesem Wege noch anzeigen, sofern mal im Semester Bedarf sein sollte?
- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · Harald Hartmann (Gast) · 25.10.2017 15:13 · [flux]
Mexdus wrote:
Die Kartendaten wurden ganz normal mit der API von Maperitive runtergeladen (WebMap) und dann hat man ja die Offline OSM-File Karte.
Oh ha, da könntet ihr gerade nochmal Glück gehabt haben, weil wenn die Datenmenge zu groß ist, streikt dieser Weg.
Mexdus wrote:
Daher weiß ich auch nie, woher ich die "Namen" der Stadtgrenzen bekomme, sodass ich sie in den Regeln explizit weiter angezeigt bekomme.
Wie oben schon erwähnt die boundaries map von wambacher ... zumindest dürfte das für euch der "einfachere" weg sein, oder eventuell auch via overpass turbo
Mexdus wrote:
Jetzt muss ich nur noch rausfinden, wie ich Linienstärke und Farbe anpasse.
ich würde mal sagen das sollte eigentlich selbstredend sein, oder?
line-color␣:␣#999900 line-opacity␣:␣1 min-zoom␣:␣8 line-width␣:␣9:1;11:5 line-style␣:␣dashdotdot
Mexdus wrote:
Stadtteilgrenzen lassen sich auch auf diesem Wege noch anzeigen, sofern mal im Semester Bedarf sein sollte?
Klar, so lange es in den OSM (Offline) Rohdaten drin ist und nicht anderweitig "ausgefiltert" wurde
- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · toc-rox (Gast) · 25.10.2017 15:37 · [flux]
Vermutlich ist dein Vorhaben auch mit Printmaps (http://printmaps-osm.de:8080/) realisierbar. Dies nur als Hinweis, denn so wie es aussieht bist du ja schon recht weit mit dem Maperative-Ansatz gekommen.
- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · Mexdus (Gast) · 25.10.2017 15:50 · [flux]
Ich finde eure alternativen Vorschläge mit den anderen Diensten wirklich ganz toll. Sieht auch auf den ersten Blick gut aus.
Problem ist nur, mir sagt das alles nichts. Mit GIS und co. kenne ich mich nur im Sinne von Maperitive etwas aus. Ich wüsste weder wie ich printmaps-osm, boundaries map noch overpass turbo benutzen kann... 🤔
- Re: [Maperitive] Stadtgrenzen von Köln anzeigen · wambacher (Gast) · 25.10.2017 16:51 · [flux]
Harald Hartmann wrote:
Desweiteren würde ich mir von wambachers boundaries map das poly für Köln holen und damit filtern, dann sollte alles außerhalb dieser Grenzen eh schon weg sein.
Als BPOLY (Buffered Poly-File) mit einem Buffer von 0.1 km. Dadurch ist sichergestellt, dass die Grenze selber - also die Ways aus denen die Stadtgrenze besteht - nicht aus Versehen abgeschnitten wird.
Gruss
walter