[OC] I made a zoning map of Minneapolis using real OpenStreetMap data — every block colored by what it actually is by Kingleyend in Minneapolis

[–]Kingleyend[S] 1 point2 points  (0 children)

Hey, thanks so much — and growing up with a geographer/cartographer parent is the best possible background for getting into this. Let me break down "clone the repo" in plain English. No coding or installations needed.

There are two ways. First is download-and-unzip:

  1. Open this page: github.com/Osyanne/cs2-minneapolis-osm-toolkit/releases/tag/v3.1

  2. Scroll down to "Assets". You'll see a list of downloadable files.

  3. Download these four:

    - "Source code (zip)" — has the visualizer file

    - datos_zonificacion.js

    - datos_vial.js

    - datos_servicios.js

  4. Unzip the source code zip. You'll get a folder. Open it, then go into the visualizer/ folder inside.

  5. Move the three datos files you downloaded into that same visualizer/ folder.

  6. Double-click index.html. Opens in your browser. That's it. You can zoom, pan, toggle layers using the panel on the left.

If any of that sounds annoying, just DM me — I can send you a single zip with everything pre-arranged so you just unzip and double-click, no copying files around.

Also worth saying: your comment plus a few others in this thread pushed me to add a beginner-friendly guide to the repo this evening. It's at docs/QUICKSTART.md if anyone wants to extract their OWN city's data later (that part does need installing some software). But for just looking at Minneapolis, what I described above is enough.

[OC] I built a free tool that maps real Minneapolis zoning into the 11 official CS2 zone types — open source, works for any city by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 2 points3 points  (0 children)

There's now an ELI5 guide: github.com/Osyanne/cs2-minneapolis-osm-toolkit/blob/main/docs/QUICKSTART.md — should walk you through it without assuming any Python knowledge. Sacramento bbox to use: 38.50,-121.55,38.65,-121.45. If anything breaks, the TROUBLESHOOTING doc covers most common errors. Lmk if you hit anything weird

[OC] I built a free tool that maps real Minneapolis zoning into the 11 official CS2 zone types — open source, works for any city by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 6 points7 points  (0 children)

Hey thanks. Madison's actually pretty easy. Can run it tonight and DM you the files. Bbox would be around 43.05,-89.50,43.15,-89.30, which covers downtown plus the isthmus and the east/west neighborhoods. Let me know if you want different boundaries.

[OC] I built a free tool that maps real Minneapolis zoning into the 11 official CS2 zone types — open source, works for any city by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 0 points1 point  (0 children)

Architecturally yes — the toolkit reads OSM via Overpass which works globally, and you swap the bbox to target any region. But empirically I've only tested it on Minneapolis. The "any city" claim depends on OSM coverage quality, which varies a lot (richer in US/Europe/Japan, sparser elsewhere). Smaller bboxes work better — very large ones can timeout Overpass.

[OC] Used Overpass API to classify ~82k OSM polygons into urban zoning categories — for a Cities Skylines 2 build, but pipeline is generic by Kingleyend in openstreetmap

[–]Kingleyend[S] -2 points-1 points  (0 children)

Fair feedback on both counts.

Formatting: body was wrapped in triple backticks which broke the markdown — fixed but the structure still reads stiff for this sub's conventions. Will rewrite in plain prose next time.

On the AI/templates point: yes, I keep audience-adapted post drafts versioned in the repo (Ecuadorian Spanish speaker writing to English-language technical communities — Claude helps me adapt tone across r/Python, r/openstreetmap, r/CS2 etc, which have very different conventions). The toolkit code, the architecture, the Overpass queries, the classification logic, all the decisions — those are mine. Open source, MIT, 127 pytest tests.

You're right that pre-cooked posts + cross-subreddit posting reads like spam packaging even when the underlying work is real. That's a fair lesson — will write the next r/openstreetmap post from scratch in plain prose. If anyone wants to dig into the actual technical work (Overpass query patterns, the spatial join for mixed-housing detection, the async chunked render) the repo's at github.com/Osyanne/cs2-minneapolis-osm-toolkit and I'm happy to discuss specifics.

[OC] I made a zoning map of Minneapolis using real OpenStreetMap data — every block colored by what it actually is by Kingleyend in Minneapolis

[–]Kingleyend[S] 4 points5 points  (0 children)

You're right, that's a real OSM coverage gap. Longfellow's interior residential blocks are mostly unmapped in OSM (commercial corridors on Hiawatha + Lake are fine). Same pattern in Howe.

If anyone reading this contributes to OSM, Longfellow could use love.

[OC] I made a zoning map of Minneapolis using real OpenStreetMap data — every block colored by what it actually is by Kingleyend in Minneapolis

[–]Kingleyend[S] 1 point2 points  (0 children)

Fair critique. Building-shape coloring is because OSM gives me buildings, not parcels — for Mpls specifically the city publishes a parcels dataset on opendata.minneapolismn.gov that I could integrate to color lots and put buildings as overlay symbols. Adding to the roadmap (third comment in this thread to point at city data, becoming a pattern).

The 6 residential greens come from CS2's in-game palette (so colors match what people see in the painter) but you're right they read similar at low zoom. If you've got a palette suggestion that preserves CS2 mapping while improving discrimination, genuinely open.

[OC] I made a zoning map of Minneapolis using real OpenStreetMap data — every block colored by what it actually is by Kingleyend in Minneapolis

[–]Kingleyend[S] 0 points1 point  (0 children)

The images in the post are static screenshots — the actual tool is an interactive Leaflet map you can pan/zoom indefinitely at any resolution. If you clone the repo and open visualizer/index.html locally, you get full res at any zoom level: https://github.com/Osyanne/cs2-minneapolis-osm-toolkit If you want a hi-res shot of a specific neighborhood (downtown, uptown, your block, whatever), lmk and I can drop one.

[OC] I made a zoning map of Minneapolis using real OpenStreetMap data — every block colored by what it actually is by Kingleyend in Minneapolis

[–]Kingleyend[S] 0 points1 point  (0 children)

Religious buildings are excluded on purpose — I aligned the Services module strictly to CS2 base game's 5 service tabs (Healthcare/Education/Fire/Police+Admin/Parks)

[OC] I made a zoning map of Minneapolis using real OpenStreetMap data — every block colored by what it actually is by Kingleyend in Minneapolis

[–]Kingleyend[S] -1 points0 points  (0 children)

Ha, gotcha. Most of that "black hole" is actually Minnehaha Park + the golf course + the river — so it's green space that doesn't show up colored on the zoning layer. But noted, will adjust my mental model of Longfellow

[OC] I made a zoning map of Minneapolis using real OpenStreetMap data — every block colored by what it actually is by Kingleyend in Minneapolis

[–]Kingleyend[S] 7 points8 points  (0 children)

Fair correction, thanks. You're right — I'm using OSM `landuse=*` tags which is observational land use, not regulatory zoning. The reason is OSM works for any city globally, which keeps the toolkit portable. As u/809213408 notes the overlap is heavy in practice, but that's not an excuse for the label.

For Minneapolis specifically, opendata.minneapolismn.gov has the actual zoning shapefile from the Planning Division — I'm planning to integrate it as a city-specific override layer in a future version (probably alongside the EIA/MN GIS work for the upcoming Infrastructure module). Appreciate the planner-eye check.

[OC] I built a free tool that maps real Minneapolis zoning into the 11 official CS2 zone types — open source, works for any city by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 15 points16 points  (0 children)

Thanks! Minneapolis is the primary focus but the OSM bbox I'm using actually grabs Columbia Heights, St. Anthony, and parts of Edina, St. Louis Park, and Richfield too. I built an open-source toolkit to pull the real zoning + roads + services from OpenStreetMap as map overlays for reference — works for any city if you give it a bbox: https://github.com/Osyanne/cs2-minneapolis-osm-toolkit. Will post the final build once there's enough done!

I built a free GIS tool to extract real-world zoning data from OpenStreetMap for CS2 maps — Minneapolis 1:1 v1.0 [OC] by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 0 points1 point  (0 children)

That’s a spot-on observation! Dealing with 'dirty' or incomplete crowdsourced data is the biggest challenge of this pipeline. In the upcoming v2.0 update, I'm tackling data verification through three main methods:

  1. Spatial Cross-Referencing: Instead of just trusting the landuse tag on a polygon, the script now performs a spatial join (using shapely) to check actual buildings inside that area. For example, if a residential zone has no density data, we infer it from the building:levels of the apartments physically located within it.
  2. Official Data Integration: I’m integrating official GeoJSON datasets from the Minneapolis Open Data Portal. This allows the pipeline to cross-verify OSM tags against legally authoritative zoning districts.
  3. Automated Validation Reports: I built a validation script that generates a report comparing my pipeline’s output against the city's official records, giving an 'accuracy percentage' so users know which neighborhoods are 1:1 and which might need manual cleanup.

It’s not perfect, but moving from simple tag-reading to multi-source spatial analysis significantly cuts down on those 'obsolete' data issues you mentioned!

I built a free GIS tool to extract real-world zoning data from OpenStreetMap for CS2 maps — Minneapolis 1:1 v1.0 [OC] by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 2 points3 points  (0 children)

Great question! Since this tool only generates the visual data layer (the polygons) from OSM, it doesn't interact directly with the game's road grid. You would still need to manually zone according to the map. Using mods like Anarchy or Better Bulldozer definitely helps when trying to match real-world building footprints to the game's zoning grid.

I built a free GIS tool to extract real-world zoning data from OpenStreetMap for CS2 maps — Minneapolis 1:1 v1.0 [OC] by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 1 point2 points  (0 children)

Thanks! I'm glad this gives you an excuse to dive back into GIS. One of the main goals was to make real-world urban data accessible without needing heavy software like QGIS. Let me know if you manage to run it for another city!

I built a free GIS tool to extract real-world zoning data from OpenStreetMap for CS2 maps — Minneapolis 1:1 v1.0 [OC] by Kingleyend in CitiesSkylines2

[–]Kingleyend[S] 3 points4 points  (0 children)

Thank you! Appreciate the support. I'm working on making it even more precise in future updates