-
Notifications
You must be signed in to change notification settings - Fork 12
Data Flow
You can regenerate this diagram by pasting the linked code into Excalidraw.
Note: Production is the only environment with the serializer.
-
buildings.json: The main ESIM building dataset. It is produced byosm_building_to_json.py, which combines the existing building metadata with OpenStreetMap geometry, and then updated byadd_fms_id.pyto add FMS IDs.-
query.json: A raw snapshot of CMU building data from the public ArcGIS campus layer. It is generated byarc_gis_query.pyand serves as the source for official building names, abbreviations, and IDs. -
export.osm: A local OpenStreetMap export for the CMU campus area. It is generated byfetch_osm_data.pyand used byosm_building_to_json.pyto extract building geometry. -
sign_abbrev_mapping.json: A small lookup file that maps building abbreviations to FMS building IDs. It is generated bysign_abbrev_mapping.pyfromquery.json. -
building_info_map.json: A simplified lookup keyed by building code, mainly for basic building info like name and default floor. It is generated bygenerate_building_info_map.pyfrombuildings.json.
-
-
osm-outside.json: A file containing all nodes outside of buildings, their neighbors, and positions by their OSM IDs. Note that this does not connect to any nodes inside of buildings.
- Provides the official building metadata used for names, abbreviations, and building identifiers.
- Provides the building geometry that is used to rebuild the final ESIM
buildings.json. - Provides the nodes and connections for roads, sidewalks, and any other passages outside of buildings in the
osm-outside.json
S3 bucket link: https://minio.scottylabs.org/browser/cmumaps
Data sources:
-
OSM Scraper uses the Overpass API to scrape outside graph from OpenStreetMaps.
-
ESIM Scraper scrapes the CMU Building ArcGIS layer.
-
FMS Scraper scrapes the svgs from the CMU FMS website.
The generator takes in the scraped data and the serialized data as input and generates
-
Rescale the svgs to fit in a 1920x1080 rectangle and converts them to
floorplans.jsonfile. -
Generates the inside graph from the
floorplans.jsonfile.
The S3 bucket json files are deserialized locally.
The visualizer is used to place the data in geo-coordinates. It can also be used to add new data, such as connections between rooms and POIs.
The updated data are serialized to the S3 bucket.
The S3 bucket files are deserialized in staging and production.