-
Notifications
You must be signed in to change notification settings - Fork 0
Dashboard #9
Comments
😍 Growth over time per feature? Can we visualize on a map as well? |
I'd hoped to get this up and running more in advance of the conference, but we do have some live-updating data that @kamicut is going to hook up to an instance of Scoreboard soon. An instance of the OSMesa stat server is running at http://ec2-34-201-2-29.compute-1.amazonaws.com/ This only tracks Missing Maps metrics at the moment (roads, waterways, buildings, POIs), but I may be able to update it (and backfill) to include stuff from ^^ that doesn't involve relations (because streaming augmented diffs don't include relation geoms yet). Endpoints of interest:
Endpoints that return lots of stuff return 25 per page and use The user endpoint includes This tileset can be visualized using something similar to https://bl.ocks.org/mojodna/300441d3c581828f70290fbd4a5cea3d/ce25de3b113244edcdb8204d948d354a8d6f2eb0 Footprints exist for all OSM users who have edited in Detroit (or who edit while this is running). The tilesets are updated effectively immediately. |
Full history geometry tiles (at z15) are available from They can be visualized using something similar to https://bl.ocks.org/mojodna/49e42f58ab1ea6d560de584c1d1d3edf/5f7270d55e443e6cd462f658b7169fbdb04296e2 |
Here's the underlying data (all paths relative to Raw
Transcoded to ORC
Aggregated statistics (ORC)
These are subject to change; if I'm able to calculate any additional metrics (from above), I'll replace what's here. Processed data
Misc
AWS Glue will happily crawl each of the S3 prefixes containing ORC files and produce tables for use in Athena. All of these datasets (included aggregated statistics in PostgreSQL) were generated (and are updated) using OSMesa. |
I re-ran the changeset statistics (and user rollup) with most of @bhousel's suggested metrics. The updated ORC files are in the same paths. Here's the top-level roll-up:
Athena / Presto query: select
sum(road_km_added) road_km_added,
sum(road_km_modified) road_km_modified,
sum(waterway_km_added) waterway_km_added,
sum(waterway_km_modified) waterway_km_modified,
sum(roads_added) roads_added,
sum(roads_modified) roads_modified,
sum(waterways_added) waterways_added,
sum(waterways_modified) waterways_modified,
sum(buildings_added) buildings_added,
sum(buildings_modified) buildings_modified,
sum(parking_aisle_km_added) parking_aisle_km_added,
sum(parking_aisle_km_modified) parking_aisle_km_modified,
sum(parking_aisles_added) parking_aisles_added,
sum(parking_aisles_modified) parking_aisles_modified,
sum(service_road_km_added) service_road_km_added,
sum(service_road_km_modified) service_road_km_modified,
sum(service_roads_added) service_roads_added,
sum(service_roads_modified) service_roads_modified,
sum(driveway_km_added) driveway_km_added,
sum(driveway_km_modified) driveway_km_modified,
sum(driveways_added) driveways_added,
sum(driveways_modified) driveways_modified,
sum(sidewalk_km_added) sidewalk_km_added,
sum(sidewalk_km_modified) sidewalk_km_modified,
sum(sidewalks_added) sidewalks_added,
sum(sidewalks_modified) sidewalks_modified,
sum(lane_km_added) lane_km_added,
sum(lane_km_modified) lane_km_modified,
sum(lanes_added) lanes_added,
sum(lanes_modified) lanes_modified,
sum(cycleway_km_added) cycleway_km_added,
sum(cycleway_km_modified) cycleway_km_modified,
sum(cycleways_added) cycleways_added,
sum(cycleways_modified) cycleways_modified,
sum(traffic_signs_added) traffic_signs_added,
sum(traffic_signs_modified) traffic_signs_modified,
sum(traffic_signals_added) traffic_signals_added,
sum(traffic_signals_modified) traffic_signals_modified,
sum(manholes_added) manholes_added,
sum(manholes_modified) manholes_modified,
sum(flagpoles_added) flagpoles_added,
sum(flagpoles_modified) flagpoles_modified,
sum(bollards_added) bollards_added,
sum(bollards_modified) bollards_modified,
sum(surveillance_added) surveillance_added,
sum(surveillance_modified) surveillance_modified,
sum(vending_machines_added) vending_machines_added,
sum(vending_machines_modified) vending_machines_modified,
sum(pois_added) pois_added,
sum(pois_modified) pois_modified,
sum(parks_added) parks_added,
sum(parks_modified) parks_modified,
sum(addresses_added) addresses_added,
sum(addresses_modified) addresses_modified,
sum(parking_added) parking_added,
sum(parking_modified) parking_modified,
sum(swimming_pools_added) swimming_pools_added,
sum(swimming_pools_modified) swimming_pools_modified,
sum(barriers_added) barriers_added,
sum(barriers_modified) barriers_modified,
sum(bike_parking_added) bike_parking_added,
sum(bike_parking_modified) bike_parking_modified,
sum(shelters_added) shelters_added,
sum(shelters_modified) shelters_modified,
sum(crossings_added) crossings_added,
sum(crossings_modified) crossings_modified,
count(changeset) changesets,
count(distinct uid) users
from changeset_stats_20180930 |
Here's an Observable notebook that allows the full history geometry tiles to be explored: https://beta.observablehq.com/@mojodna/explorable-detroit |
Notebook with user contribution heatmaps: https://beta.observablehq.com/@mojodna/detroit-contributor-heatmaps There are 2 limitations that I would love someone to address:
|
Limitations addressed. |
Following up from a chat with @mojodna, @kamicut, and @jenningsanderson ..
Let's setup a dashboard to track activity. I'm thinking of things like
or maybe more obscure / scavenger hunt kinds of features?
Maybe we could send out swag to the winners.
cc @iandees @mikelmaron for thoughts.
The text was updated successfully, but these errors were encountered: