x

[Maperitive] Stadtgrenzen von Köln anzeigen


  1. [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