Skip to content

Commit ff3bfa8

Browse files
authored
Publish the college's AEDs, assembly points and naloxone kits
2 parents daf9540 + 4053741 commit ff3bfa8

16 files changed

Lines changed: 5362 additions & 1106 deletions

‎README.md‎

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Two things, for two different readers.
1313
| | What it is | Read it if |
1414
| --- | --- | --- |
1515
| `data/*.geojson` | One file per source layer, the college's field names untouched | You want St. Olaf's data as St. Olaf publishes it |
16-
| `map.json`, `map.geojson` | 184 places in Carleton's schema | You are AAO, ccc-server, or anything already written against Carleton's |
16+
| `map.json`, `map.geojson` | 230 places in Carleton's schema | You are AAO, ccc-server, or anything already written against Carleton's |
1717
| `site/changes/` | A page for every change to the data: before and after, close-ups, a card for each thing that moved | You want to see what changed without reading a diff |
1818
| `routing.json` | A pedestrian routing graph | You want to walk someone from one door to another |
1919
| `vendor/ole-compass/` | The 2016 survey `routing.json` is built from | You are changing how the graph is georeferenced |
@@ -38,13 +38,17 @@ which is what the college's [public dashboard][dashboard] embeds. Its layers are
3838
shared publicly and advertise `Query`, so the scrape is unauthenticated and no
3939
credential belongs in this repo.
4040

41-
The one exception is the bike racks, which the campus map does not show. They
42-
come from the college's [**Bike Rack Locations**][bike-racks] map
43-
(`0e7dc1af82aa4eeab4566c45d8c150ee`), on the same ArcGIS organisation and as
44-
public.
41+
Two sets of layers are exceptions, because the campus map does not show them.
42+
The bike racks come from the college's [**Bike Rack Locations**][bike-racks]
43+
map (`0e7dc1af82aa4eeab4566c45d8c150ee`). The AEDs, evacuation assembly points
44+
and naloxone kits come from its [**Emergency Services**][emergency] map
45+
(`533e0569340a41a69866f0123a3e789f`), whose evacuation paths are left out:
46+
unnamed lines, with nothing to list or search. Both are on the same ArcGIS
47+
organisation and as public.
4548

4649
[webmap]: https://www.arcgis.com/home/item.html?id=48f433ddf4674d53b1754e307ffce1f4
4750
[bike-racks]: https://stolaf.maps.arcgis.com/apps/instant/basic/index.html?appid=b792338d01ca45d88049a84d1c41fc25
51+
[emergency]: https://experience.arcgis.com/experience/434cf9932c174f4aa90494dc78f4165a
4852
[dashboard]: https://stolaf.maps.arcgis.com/apps/dashboards/039528a0ee874da7b5ef749c2393498d
4953

5054
| Layer | Geometry | Features |
@@ -61,7 +65,8 @@ public.
6165
| `campus-roads.geojson` | LineString, MultiLineString | 38 |
6266
| `main-campus-roads.geojson` | MultiLineString | 1 |
6367
| `bike-racks.geojson` | Point | 36 |
64-
| | | **406** |
68+
| `emergency-services.geojson` | Point | 46 |
69+
| | | **452** |
6570

6671
One more layer is outside the web map: `natural-lands-segments.geojson`, the 29
6772
segments of `stolaf_trails20220308`, which the college's Natural Lands distance
@@ -87,14 +92,15 @@ admissions, the windmill) that are one concept split across seven layer ids.
8792

8893
## The published dataset
8994

90-
`map.json` and `map.geojson` hold **184 places, 96 with a footprint** — against
95+
`map.json` and `map.geojson` hold **230 places, 96 with a footprint** — against
9196
Carleton's 124 and 96, which is a fair indication the two datasets are of
9297
comparable use.
9398

9499
| | Places |
95100
| --- | ---: |
96101
| Parking (lots, accessible stalls) | 65 |
97102
| Buildings | 38 |
103+
| Emergency services (AEDs, naloxone, assembly points) | 46 |
98104
| Bike racks | 36 |
99105
| Trails | 16 |
100106
| Ponds | 11 |
@@ -107,8 +113,8 @@ comparable use.
107113
The ponds, the trails and the athletic fields carry the `outdoors` category,
108114
which is what AAO's Outdoors group lists.
109115

110-
The 88 places without a footprint are the accessible-parking stalls, the bike
111-
racks and the points of interest, which are points, and the trails, which are lines. Forty
116+
The 134 places without a footprint are the accessible-parking stalls, the bike
117+
racks, the emergency services and the points of interest, which are points, and the trails, which are lines. Forty
112118
more source features — unnamed parking polygons, ponds and trail segments, and
113119
blank rows in the athletic-fields layer — are **not** places, because an
114120
unnamed feature cannot be labelled, searched for or linked to. Their geometry is
@@ -255,6 +261,19 @@ fails a rack that names no place, or sits more than 60 m from the one it names:
255261
the college labels one rack beside Rand Hall for New Hall, across campus, and
256262
`overrides.yaml` puts it right.
257263

264+
The emergency services are 25 AEDs, 9 kits of naloxone and fentanyl test strips,
265+
and 12 evacuation assembly points. An AED or kit is parented on the building
266+
it sits inside, found by its point rather than its name: the layers type their
267+
buildings by hand ("Theater Buildilng", "Skoglund/Tostrud"), and every point is
268+
inside a footprint or within 3 m of one, on a wall two buildings share. There
269+
the building the label names wins. Each is named for its parent and where
270+
inside -- "AED, Alumni Hall (First floor, by elevator)", "Naloxone and Fentanyl
271+
Test Strips, Holland Hall (Third floor in south stairwell)" -- and an assembly
272+
point for where outdoors it is, "Assembly Point, North Plaza". The naloxone
273+
layer's counts of kits on hand are not scraped: a restock is not a change to
274+
the campus. `verify.py` fails an AED or kit inside no building, or not named
275+
for the one it is in.
276+
258277
## Determinism is the whole design
259278

260279
Committing scraped data is only worth doing if a diff means something. Three
@@ -407,7 +426,7 @@ buries the campus. So:
407426
| `campus_buildings` | MultiPolygon | 38 | z14+ |
408427
| `campus_grounds` | MultiPolygon | 47 | z14+ |
409428
| `campus_paths` | MultiLineString | 187 lines in 16 features | z15+ |
410-
| `campus_labels` | Point | 184 | z15+ |
429+
| `campus_labels` | Point | 230 | z15+ |
411430
412431
Every anchor carries a `kind`, which is what lets the style bring each sort of
413432
place in at the zoom where it stops being clutter — buildings at z15, points of
@@ -417,8 +436,8 @@ property name map-tiles uses, so AAO's selection code keys off it unchanged.
417436
418437
The 26 accessible-parking points get their own `kind` for one reason: every
419438
label would begin "Accessible Parking", and without it the style stamps that
420-
26 times across campus. The 36 bike racks get one for the same reason, and
421-
the style labels neither.
439+
26 times across campus. The 36 bike racks and 46 emergency services get one
440+
for the same reason, and the style labels none of them.
422441
423442
Most of `campus_paths` comes from `data/` rather than `map.geojson`, because
424443
walkways and the other trail segments are not *places* — the unnamed ones have

‎build-tiles.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ PAGES_FILE_LIMIT=100000000
136136
# and archive size, and is expected to move these with it.
137137
MIN_CAMPUS_BUILDINGS=34 # currently 38
138138
MIN_CAMPUS_GROUNDS=42 # currently 47
139-
MIN_CAMPUS_LABELS=165 # currently 184
139+
MIN_CAMPUS_LABELS=205 # currently 230
140140
MIN_CAMPUS_PATHS=12 # currently 16: the 14 named trails, then walkways
141141
# and the other trail segments merged
142142
MIN_TILES=900 # currently ~985

0 commit comments

Comments
 (0)