Die Karte zeigt, wo in Deutschland der öffentliche Konsum von Cannabis nach § 5 Abs. 2 des Konsumcannabisgesetzes (KCanG) verboten ist, weil eine Schule, ein Kinderspielplatz, eine Kinder- oder Jugendeinrichtung, eine öffentlich zugängliche Sportstätte oder eine Anbauvereinigung in Sichtweite liegt. Rot ist die Fläche, von der aus eine solche Einrichtung zu sehen sein kann — höchstens 100 m weit, und nur dort, wo kein Gebäude die Sicht verdeckt.
Die roten Zonen sind nicht die einzigen Orte, an denen Konsum verboten ist. Unabhängig vom Ort gilt § 5 Abs. 1 KCanG: Der Konsum in unmittelbarer Gegenwart von Minderjährigen ist verboten — auf einer weißen Fläche genauso wie auf einer roten. Dazu kommen Fußgängerzonen zwischen 7 und 20 Uhr und militärische Bereiche (siehe unten).
Die Karte ist eine Orientierungshilfe, keine Rechtsauskunft. Sie beruht auf freiwillig gesammelten Daten (OpenStreetMap) und einem Rechenmodell; beides kann im Einzelfall falsch sein. Verantwortlich für das eigene Verhalten bleibt jede und jeder selbst.
Was rot ist — und was nicht
Rot: Konsumverbot in Sichtweite (§ 5 Abs. 2 Satz 1 Nr. 1–4 und 6 KCanG)
von den folgenden Einrichtungen. Die Liste wird beim Bauen dieser Seite aus
genau der Tag-Datei erzeugt, mit der die Karte gerechnet wird
(config/tags.v5.json (Version 5)); sie kann daher nicht von der Karte abweichen.
- Schulen (§ 5 Abs. 2 Nr. 1) — Allgemein- und berufsbildende Schulen nach den Schulgesetzen der Länder. Fahrschulen (gewerbliche Ausbildungsstätten nach dem Fahrlehrergesetz) und Sprachschulen sind keine Schulen im Sinne des Gesetzes und werden nicht gezeigt; Musikschulen zählen als Kinder- und Jugendeinrichtung.
amenity=school— Schule- Kategorie im Kartenpopup:
school
- Kinderspielplätze (§ 5 Abs. 2 Nr. 2) — Alle Spielplätze, auch nicht öffentliche (das Gesetz verlangt anders als bei Sportstätten keine öffentliche Zugänglichkeit), sowie Indoorspielplätze.
leisure=playground— Spielplatzleisure=indoor_play— Indoorspielplatz- Kategorie im Kartenpopup:
playground
- Kindergärten und Kitas (§ 5 Abs. 2 Nr. 3) — Kindergärten, Kindertagesstätten und Horte (§ 5 Abs. 2 Nr. 3, Kinder- und Jugendeinrichtungen).
amenity=kindergarten— Kindergarten, Kita, Hort- Kategorie im Kartenpopup:
kindergarten
- Kindertagespflege (§ 5 Abs. 2 Nr. 3) — Kinderbetreuung außerhalb von Kitas (Tagesmütter, Krabbelgruppen, Kinderbetreuung in Einrichtungen).
amenity=childcare— Kinderbetreuung- Kategorie im Kartenpopup:
childcare
- Kinder- und Jugendeinrichtungen (§ 5 Abs. 2 Nr. 3) — Jugendzentren und Jugendclubs, soziale Einrichtungen für Kinder und Jugendliche (Heime, Tagesgruppen, Beratungsstellen — nur wenn in OpenStreetMap als für Kinder oder Jugendliche bestimmt eingetragen; Altenheime, Obdachlosenunterkünfte u. ä. zählen nicht), Musikschulen und Jugendherbergen.
community_centre=youth_centre|youth_club— Jugendzentrum, Jugendclubcommunity_centre:for=child|juvenile(auch als Teil einer Liste) — Gemeinschaftseinrichtung für Kinder oder Jugendlichesocial_facility:for=child|juvenile(auch als Teil einer Liste) — Soziale Einrichtung für Kinder oder Jugendliche (Heim, Tagesgruppe, Beratung)amenity=music_school— Musikschule- Jugendherbergen: Hostels (tourism=hostel), deren Name oder Betreiber „Jugendherberge“ oder „DJH“ enthält.
- Kategorie im Kartenpopup:
youth
- Öffentlich zugängliche Sportstätten (§ 5 Abs. 2 Nr. 4) — Sportplätze, Hallen, Stadien, Bäder, Bahnen, Reit- und Golfanlagen, Eisbahnen, Fitnessstudios, Minigolf- und Bowlinganlagen. Öffentlich zugänglich heißt: nicht in OpenStreetMap als privat oder gesperrt markiert (access=private/no); Kundenzugang und Erlaubnis zählen als öffentlich. Einzelne Tischtennis-, Schach- oder Boule-Tische sind Geräte, keine Sportstätten.
leisure=pitch|sports_hall|sports_centre|stadium|track|swimming_pool|water_park|fitness_centre|horse_riding|golf_course|ice_rink|miniature_golf|bowling_alley— Sportplatz, Sporthalle, Sportzentrum, Stadion, Lauf-/Radbahn, Schwimmbecken, Wasserpark/Freibad, Fitnessstudio, Reitanlage, Golfplatz, Eisbahn, Minigolf, Bowlingamenity=swimming_pool— Schwimmbad (ältere Schreibweise)- Ausgenommen: Einzelne Tischtennis-, Schach- oder Boule-Tische (leisure=pitch mit sport=table_tennis/chess/boules) sind Geräte, keine Sportstätten; eine Tischtennishalle als sports_centre bleibt.
- Zugang: Alle Sportstätten: mit access=private oder access=no nicht öffentlich zugänglich; yes, permissive, customers, permit gelten als öffentlich; ohne access-Tag zählt die Anlage.
- Zugang: Schwimmbecken ohne access-Tag zählen erst ab 100 m² Fläche (Gartenpools fallen weg, als Punkt eingetragene Becken ebenfalls).
- Kategorie im Kartenpopup:
sports
- Anbauvereinigungen (§ 5 Abs. 2 Nr. 6) — Cannabis-Anbauvereinigungen, soweit sie in OpenStreetMap eingetragen sind (derzeit nur wenige).
club=cannabis— Cannabis-Cluboffice=cannabis_club— Geschäftsstelle einer Anbauvereinigung- Kategorie im Kartenpopup:
cannabis_club
Nicht auf der Karte, obwohl ebenfalls verboten:
- Konsum in unmittelbarer Gegenwart von Minderjährigen (§ 5 Abs. 1) — das hängt von Menschen ab, nicht von Orten, und gilt überall.
- Konsum in Fußgängerzonen zwischen 7 und 20 Uhr (§ 5 Abs. 2 Nr. 5) — keine Sichtweite, sondern eine Fläche mit Uhrzeit. Eine eigene, zuschaltbare Ebene dafür ist geplant.
- Militärische Bereiche der Bundeswehr (§ 5 Abs. 3).
- Alles, was in OpenStreetMap fehlt oder falsch eingetragen ist (siehe „Fehler melden“).
Der Gesetzestext
§ 5 KCanG – Konsumverbot
(1) Der Konsum von Cannabis in unmittelbarer Gegenwart von Personen, die das 18. Lebensjahr noch nicht vollendet haben, ist verboten.
(2) Der öffentliche Konsum von Cannabis ist verboten: 1. in Schulen und in deren Sichtweite, 2. auf Kinderspielplätzen und in deren Sichtweite, 3. in Kinder- und Jugendeinrichtungen und in deren Sichtweite, 4. in öffentlich zugänglichen Sportstätten und in deren Sichtweite, 5. in Fußgängerzonen zwischen 7 und 20 Uhr und 6. innerhalb des befriedeten Besitztums von Anbauvereinigungen und in deren Sichtweite.
Im Sinne von Satz 1 ist eine Sichtweite bei einem Abstand von mehr als 100 Metern von dem Eingangsbereich der in Satz 1 Nummer 1 bis 4 und 6 genannten Einrichtungen nicht mehr gegeben.
(3) In militärischen Bereichen der Bundeswehr ist der Konsum von Cannabis verboten.
Quelle: gesetze-im-internet.de/kcang/__5.html.
Wie die Zonen berechnet werden
Das Gesetz spricht von Sichtweite, nicht von Abstand. Die 100 m sind eine Obergrenze: Weiter als 100 m vom Eingangsbereich entfernt gilt nichts mehr als Sichtweite — näher dran kommt es darauf an, ob man die Einrichtung tatsächlich sehen kann. Die Bubatzkarte 2.0 rechnet genau das:
- Aus OpenStreetMap werden alle Einrichtungen der genannten Arten und alle Gebäudegrundrisse Deutschlands geladen (rund 500 000 Einrichtungen, 39 Millionen Gebäude).
- Entlang der gesamten Umrisslinie jeder Einrichtung werden alle 0,5 m Beobachterpunkte gesetzt. Weil OpenStreetMap den „Eingangsbereich“ meist nicht kennt, gilt die ganze Kontur als Eingangsbereich — das macht die Zone eher größer als kleiner.
- Für jeden Punkt wird exakt berechnet, welche Fläche im Umkreis von 100 m von dort aus sichtbar ist, wenn Gebäude die Sicht verdecken. Bäume, Mauern, Zäune, Hecken und Geländeformen werden nicht als Sichthindernis gewertet — auch das vergrößert die Zone.
- Die Sichtfelder aller Punkte werden vereinigt, um eine kleine Sicherheitsmarge (0,5 m) nach außen erweitert und mit 2 m Zuschlag für die Lagegenauigkeit der OSM-Daten versehen.
Das Ergebnis ist bewusst konservativ: Wo die Karte weiß ist, ist man nach diesem Modell sicher außerhalb der Sichtweite. Wo sie rot ist, kann ein Verbot gelten — die Karte kann kein Gebüsch und keinen Bauzaun kennen, der die Sicht in Wirklichkeit versperrt.
Ab Zoomstufe 14 sind die Gebäude selbst aus dem Rot herausgeschnitten: Rot endet an der Hauswand. In kleineren Maßstäben sind die Flächen für die Darstellung vergröbert (immer nach außen, nie nach innen).
Das Verfahren folgt einer Bachelorarbeit an der Heinrich-Heine-Universität Düsseldorf (2025).
Für Informatikerinnen und Informatiker: die Algorithmen
Wer es genauer wissen will — die Berechnung ist freie Software (siehe Lizenzen), hier die Bausteine:
- Sichtbarkeitspolygon. Für jeden Beobachterpunkt wird das Sichtbarkeitspolygon gegenüber den Gebäudekanten in Reichweite mit einem Rotationssweep berechnet (Winkelsortierung der Kanten-Endpunkte, Sweep über den Vollkreis mit einer nach Entfernung geordneten Menge aktiver Kanten, O(n log n) je Punkt). Klassische Referenzen: D. T. Lee, Visibility of a simple polygon, Computer Vision, Graphics, and Image Processing 22 (1983); T. Asano, An efficient algorithm for finding the visibility polygon for a polygonal region with holes, IEICE Transactions E68 (1985); P. J. Heffernan, J. S. B. Mitchell, An optimal algorithm for computing visibility in the plane, SIAM Journal on Computing 24 (1995). Die Bachelorarbeit verwendet die triangular expansion (F. Bungiu, M. Hemmer, J. Hershberger, K. Huang, A. Kröller, Efficient computation of visibility polygons, arXiv:1403.3905, 2014, in CGAL implementiert); der Sweep war für viele Punkte in derselben Szene die einfachere, exakt nachrechenbare Wahl.
- Hindernissuche. Die 39 Millionen Gebäude liegen in einem R-Baum (A. Guttman, R-trees: a dynamic index structure for spatial searching, SIGMOD 1984); je Einrichtung werden alle Grundrisse im Umkreis von 102 m geholt und verschmolzen.
- Vereinigung und Marge. Die Punktpolygone werden mit exakter Ganzzahlarithmetik vereinigt (Boolesche Operationen auf Polygonen, Rust-Bibliothek iOverlay); die Sicherheitsmarge ist eine Minkowski-Summe mit einem 200-Eck als Kreis. Fließkomma-Rundung, die Löcher „zuschmiert“ oder Flächen verliert, gibt es dadurch nicht.
- Konservativität als Test. Die Zusicherungen — Zone enthält die Quelle und den gebäudefreien Kreis, deckt eine vierfach dichtere Abtastung ab, wird durch zusätzliche Hindernisse nie größer, ist deterministisch bis aufs Byte und invariant unter Drehung/Verschiebung — sind automatisierte Tests an eingefrorenen realen Objekten. Ein Ankerobjekt in Düsseldorf muss bei jeder Veröffentlichung dieselbe Fläche ergeben.
- Inkrementell. Jede Zone trägt einen Inhaltsschlüssel (BLAKE2b über Kontur, Hindernisse in Reichweite und Parameterversion). Beim täglichen Lauf wird nur neu gerechnet, was sich in OpenStreetMap geändert hat — typisch 0,1 % der Objekte; ganze 2-km-Zellen werden per Fingerabdruck übernommen.
- Kacheln. Die Zonen werden je Zoomstufe einseitig vereinfacht (Douglas-Peucker plus Puffer, sodass jede Vereinfachung eine Obermenge bleibt), mit tippecanoe zu Vektorkacheln gerendert und als eine einzige PMTiles-Datei ausgeliefert, aus der der Browser per HTTP-Range-Anfragen nur die sichtbaren Kacheln liest. Anzeige mit MapLibre GL JS; die Hintergrundkarte ist ein Protomaps-Ausschnitt für Deutschland (5,7 GB, Zoom 0–15), ebenfalls eine PMTiles-Datei. Gerechnet wird in ETRS89 / UTM 32N (EPSG:25832), metrisch und bundesweit einheitlich.
Historisch: Eine erste Fassung (bis September 2026) benutzte eine Schattenkegel-Konstruktion mit beweisbarer Obermenge, die in Innenstädten bis zum 8,7-Fachen zu groß ausfiel; sie wurde gegen das gemessene Verfahren getauscht. Alter Code und Beweise stehen in der Git-Historie.
Zahlen (Stand 15.09.2026, werden nachgeführt)
| Einrichtungen (Verbotsobjekte) | 506 279 |
| Gebäudegrundrisse als Hindernisse | 39,3 Millionen |
| Beobachterpunkte insgesamt | 183 Millionen (Median 226 je Einrichtung, Kontur 91 300 km) |
| Rechenzellen | 52 628 à 2 km × 2 km |
| Fläche aller Zonen | ~19 200 km² |
| Vollständige Neuberechnung | ~2 h auf 16 Threads (Ryzen 7 5700X), ~4 h auf 4 vCPU |
| Tägliche Aktualisierung | ~10 min (16 Threads), ~15–25 min (4 vCPU, Schätzung) |
| Arbeitsspeicher, Spitze | ~13 GB |
| Kachelarchiv | 365 MB, Zoom 8–14 |
Unterschied zur Bubatzkarte (2023)
Die Bubatzkarte (seit Juni 2023) war die Inspiration für dieses Projekt; darüber hinaus gibt es keine Verbindung. Sie zeichnet um jede Einrichtung einen Kreis mit einstellbarem Abstand (Voreinstellung 100 m). Die Bubatzkarte 2.0 rechnet stattdessen die tatsächliche Sichtweite durch die Bebauung. In Innenstädten sind die Zonen dadurch deutlich kleiner — oft nur die Straßenzüge, von denen aus man die Einrichtung sieht — und es gibt keinen Abstandsregler: Es gilt allein die gesetzliche Sichtweite.
Daten, Aktualität, Genauigkeit
- Datenquelle: OpenStreetMap, der Deutschland-Auszug von Geofabrik. Die Karte wird täglich mit den Änderungen des Vortags neu berechnet; eine Korrektur in OpenStreetMap ist in der Regel nach ein bis zwei Tagen zu sehen. Stand der Daten: wird geladen.
- Einrichtungen werden über ihre OSM-Tags erkannt; welche, steht oben
unter „Was rot ist“ — erzeugt aus
config/tags.v5.json(Version 5) im Quellcode. - Grenznähe: Einrichtungen im Ausland werden nicht berücksichtigt; Gebäude jenseits der Grenze verdecken in der Rechnung keine Sicht.
- Fehlerquellen: fehlende oder falsch getaggte Einrichtungen, fehlende Gebäude, Einrichtungen, die geschlossen sind, aber noch in OSM stehen, private Sportanlagen, die in OSM nicht als privat markiert sind.
Fehler melden
- Etwas fehlt oder ist falsch eingezeichnet? Das ist fast immer eine Frage der OpenStreetMap-Daten — und die kann jede und jeder selbst korrigieren: auf openstreetmap.org mit einem Hinweis („Notiz hinzufügen“, kein Konto nötig) oder direkt mit den Apps StreetComplete und MapComplete. Die Bubatzkarte übernimmt die Änderung automatisch.
- Die Karte selbst funktioniert nicht richtig? E-Mail an die Adresse unter „Kontakt“.
- Fehler in der Hintergrundkarte (Straßen, Namen): ebenfalls OpenStreetMap.
Datenschutz
Die Seite setzt keine Cookies, verwendet kein Tracking und keine
Werbung. Seite, Kartendaten und Hintergrundkarte werden vollständig über
Cloudflare ausgeliefert (Cloudflare Pages und R2); Cloudflare verarbeitet
dabei als Auftragsverarbeiter Ihre IP-Adresse, wie jeder Hoster
(Datenschutzerklärung von Cloudflare).
Es werden keine Zugriffsprotokolle ausgewertet. Es wird nichts von
anderen Servern nachgeladen — auch die Hintergrundkarte kommt aus einer
eigenen Kopie (Protomaps), nicht von openstreetmap.org. Der aktuelle
Kartenausschnitt steht in der Adresszeile (nach dem #) und wird nur
übertragen, wenn Sie die Adresse selbst weitergeben.
Lizenzen und Weiterverwendung
- Kartendaten © OpenStreetMap-Mitwirkende, ODbL 1.0. Die berechneten Verbotszonen sind eine daraus abgeleitete Datenbank und stehen ebenfalls unter der ODbL; das vollständige Kachelarchiv gibt es auf Anfrage (Kontakt).
- Die Software (Berechnung und diese Seite) ist freie Software unter der AGPL-3.0-or-later.
- Screenshots dürfen mit Quellenangabe „Bubatzkarte 2.0 / © OpenStreetMap- Mitwirkende“ frei verwendet werden.
- Hintergrundkarte: Protomaps Basemap aus
OpenStreetMap-Daten (ODbL), Stil
@protomaps/basemaps(BSD-3-Clause), Schrift Noto Sans (SIL Open Font License); als eigene Kopie gehostet.
Häufige Fragen
Ist das eine amtliche Karte? Nein. Es ist ein privates, nicht-kommerzielles Projekt einer Einzelperson auf Basis offener Daten; keine Behörde und keine Hochschule stehen dahinter.
Warum ist meine Straße rot, obwohl ich von dort keine Schule sehe? Weil die Karte nur Gebäude als Sichthindernis kennt. Bäume, Mauern oder ein Bahndamm dazwischen fehlen im Modell — die Karte irrt hier zur sicheren Seite. Oder es liegt eine Einrichtung in der Nähe, die man nicht als solche erkennt (eine Kita im Wohnhaus, ein Bolzplatz).
Warum ist ein Ort weiß, an dem eine Kita ist? Dann fehlt die Kita in OpenStreetMap oder ist dort anders getaggt. Eintragen — nach ein bis zwei Tagen ist sie auf der Karte.
Auf einer weißen Fläche darf ich also konsumieren? Nicht, wenn Minderjährige in unmittelbarer Nähe sind (§ 5 Abs. 1), nicht in einer Fußgängerzone zwischen 7 und 20 Uhr, nicht in militärischen Bereichen — und nicht, wenn ein Hausrecht oder eine örtliche Regel es verbietet.
Warum gibt es keinen Abstandsregler? Weil das Gesetz keinen Abstand vorgibt, sondern die Sichtweite mit 100 m Obergrenze — und genau die wird berechnet.
Kann ich die Zonen für eigene Zwecke nutzen? Ja, unter der ODbL (siehe Lizenzen); das Archiv gibt es auf Anfrage.
Kontakt und Impressum
Bubatzkarte 2.0 ist ein nicht-kommerzielles Angebot von
Konrad Völkel Universitätsstr. 1 40225 Düsseldorf
E-Mail: (JavaScript nötig)
Dieses Angebot ist privat und steht in keiner Verbindung zur Heinrich-Heine-Universität Düsseldorf; die Anschrift dient allein der Erreichbarkeit.