Skip to content

Commit 971fc06

Browse files
committed
Remove detail data from map-necessary data in an attempt to speed things up.
1 parent 8ee71ed commit 971fc06

File tree

677 files changed

+697
-345
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

677 files changed

+697
-345
lines changed

generate_web_data.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,22 @@ def get_num_fatalities(people):
3636

3737

3838
def convert_to_web_data(df):
39-
items = []
39+
geojson_items = []
40+
items_details = {}
4041
for index, row in df.iterrows():
41-
items.append(geojson.Feature(geometry=geojson.Point((row['LONGITUD'], row['LATITUDE'])), properties={
42+
case_id = f'{row["CASEYEAR"]}-{row["STATE"]}-{row["ST_CASE"]}'
43+
44+
geojson_items.append(geojson.Feature(geometry=geojson.Point((row['LONGITUD'], row['LATITUDE'])), properties={
45+
'id': case_id,
4246
'year': row['CASEYEAR'],
43-
'case_id': row['ST_CASE'],
4447
'harm': get_category(row['Person']),
45-
'injuries': get_injuries(row['Person']),
46-
'num_vehicles': row['Vehicle'],
4748
'num_fatalities': get_num_fatalities(row['Person']),
4849
}))
49-
return geojson.FeatureCollection(features=items)
50+
51+
items_details[case_id] = {
52+
'year': row['CASEYEAR'],
53+
'num_vehicles': row['Vehicle'],
54+
'injuries': get_injuries(row['Person'])
55+
}
56+
57+
return geojson.FeatureCollection(features=geojson_items), items_details

main.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import glob
22
import json
3+
import math
34

45
import pandas as pd
56
import requests
@@ -88,22 +89,26 @@ def merge_data(year):
8889
def generate_web_data():
8990
all_pickles = glob.glob('data/df-*.pkl')
9091
dfs = []
91-
for filename in all_pickles:
92-
df = pd.read_pickle(filename)
92+
for filename_geojson in all_pickles:
93+
df = pd.read_pickle(filename_geojson)
9394
dfs.append(df)
9495
df = pd.concat(dfs, axis=0)
9596

9697
latlong_interval = 2
9798

9899
grouped = df.groupby(
99100
df[['LATITUDE', 'LONGITUD']].agg(
100-
lambda ys: '_'.join([str(int(y / latlong_interval) * latlong_interval) for y in ys]), axis=1))
101+
lambda ys: '_'.join([str(math.floor(y / latlong_interval) * latlong_interval) for y in ys]), axis=1))
101102
filenames = []
102103
for name, group in grouped:
103-
filename = f'{DATA_BASE_DIR}/data-{name}.json'
104-
with open(f'{WEB_BASE_DIR}/{filename}', 'w') as outfile:
105-
json.dump(convert_to_web_data(group.reset_index()), outfile)
106-
filenames.append(filename)
104+
geojson, full = convert_to_web_data(group.reset_index())
105+
filename_geojson = f'{DATA_BASE_DIR}/data-{name}.json'
106+
with open(f'{WEB_BASE_DIR}/{filename_geojson}', 'w') as outfile:
107+
json.dump(geojson, outfile)
108+
filenames.append(filename_geojson)
109+
filename_full = f'{DATA_BASE_DIR}/data-{name}-full.json'
110+
with open(f'{WEB_BASE_DIR}/{filename_full}', 'w') as outfile:
111+
json.dump(full, outfile)
107112

108113
df = df.reset_index()
109114
metadata = {

web/data/data-18_-154.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

web/data/data-18_-156-full.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

web/data/data-18_-156.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

web/data/data-18_-158-full.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"2015-15-150015": {"year": 2015, "num_vehicles": 2, "injuries": [{"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "Fatal Injury (K)", "person": "Passenger"}, {"severity": "Suspected Serious Injury (A)", "person": "Passenger"}, {"severity": "Fatal Injury (K)", "person": "Passenger"}, {"severity": "Suspected Serious Injury (A)", "person": "Driver"}]}, "2015-15-150024": {"year": 2015, "num_vehicles": 2, "injuries": [{"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "No Apparent Injury (O)", "person": "Driver"}]}, "2015-15-150030": {"year": 2015, "num_vehicles": 3, "injuries": [{"severity": "No Apparent Injury (O)", "person": "Driver"}, {"severity": "No Apparent Injury (O)", "person": "Passenger"}, {"severity": "No Apparent Injury (O)", "person": "Passenger"}, {"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "No Apparent Injury (O)", "person": "Driver"}, {"severity": "No Apparent Injury (O)", "person": "Passenger"}]}, "2015-15-150031": {"year": 2015, "num_vehicles": 3, "injuries": [{"severity": "Suspected Minor Injury (B)", "person": "Driver"}, {"severity": "No Apparent Injury (O)", "person": "Driver"}, {"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "Fatal Injury (K)", "person": "Passenger"}]}, "2015-15-150054": {"year": 2015, "num_vehicles": 2, "injuries": [{"severity": "Suspected Minor Injury (B)", "person": "Driver"}, {"severity": "Fatal Injury (K)", "person": "Driver"}]}, "2017-15-150005": {"year": 2017, "num_vehicles": 1, "injuries": [{"severity": "Fatal Injury (K)", "person": "Bicyclist"}, {"severity": "No Apparent Injury (O)", "person": "Driver"}]}, "2017-15-150033": {"year": 2017, "num_vehicles": 2, "injuries": [{"severity": "No Apparent Injury (O)", "person": "Driver"}, {"severity": "No Apparent Injury (O)", "person": "Passenger"}, {"severity": "Fatal Injury (K)", "person": "Driver"}]}, "2017-15-150034": {"year": 2017, "num_vehicles": 2, "injuries": [{"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "Fatal Injury (K)", "person": "Passenger"}, {"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "Suspected Serious Injury (A)", "person": "Passenger"}]}, "2017-15-150056": {"year": 2017, "num_vehicles": 1, "injuries": [{"severity": "Fatal Injury (K)", "person": "Pedestrian"}, {"severity": "No Apparent Injury (O)", "person": "Driver"}]}, "2017-15-150079": {"year": 2017, "num_vehicles": 1, "injuries": [{"severity": "Fatal Injury (K)", "person": "Bicyclist"}, {"severity": "No Apparent Injury (O)", "person": "Driver"}]}, "2016-15-150033": {"year": 2016, "num_vehicles": 1, "injuries": [{"severity": "Fatal Injury (K)", "person": "Driver"}]}, "2012-15-150063": {"year": 2012, "num_vehicles": 2, "injuries": [{"severity": "Non-incapacitating Evident Injury (B)", "person": "Driver"}, {"severity": "Non-incapacitating Evident Injury (B)", "person": "Passenger"}, {"severity": "Fatal Injury (K)", "person": "Passenger"}, {"severity": "Non-incapacitating Evident Injury (B)", "person": "Passenger"}, {"severity": "Non-incapacitating Evident Injury (B)", "person": "Passenger"}, {"severity": "Possible Injury (C)", "person": "Driver"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}]}, "2012-15-150070": {"year": 2012, "num_vehicles": 2, "injuries": [{"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "Possible Injury (C)", "person": "Driver"}]}, "2012-15-150071": {"year": 2012, "num_vehicles": 2, "injuries": [{"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "Non-incapacitating Evident Injury (B)", "person": "Driver"}]}, "2010-15-150107": {"year": 2010, "num_vehicles": 2, "injuries": [{"severity": "No Injury (O)", "person": "Driver"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "No Injury (O)", "person": "Passenger"}, {"severity": "Fatal Injury (K)", "person": "Driver"}]}, "2018-15-150017": {"year": 2018, "num_vehicles": 1, "injuries": [{"severity": "Fatal Injury (K)", "person": "Pedestrian"}, {"severity": "No Apparent Injury (O)", "person": "Driver"}]}, "2019-15-150085": {"year": 2019, "num_vehicles": 2, "injuries": [{"severity": "Suspected Minor Injury (B)", "person": "Driver"}, {"severity": "Fatal Injury (K)", "person": "Driver"}, {"severity": "Suspected Serious Injury (A)", "person": "Passenger"}, {"severity": "Suspected Serious Injury (A)", "person": "Passenger"}, {"severity": "Possible Injury (C)", "person": "Passenger"}]}}

web/data/data-18_-158.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.022492, 19.689678]}, "properties": {"id": "2015-15-150015", "year": 2015, "harm": "car", "num_fatalities": 3}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.015267, 19.671328]}, "properties": {"id": "2015-15-150024", "year": 2015, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.017119, 19.69265]}, "properties": {"id": "2015-15-150030", "year": 2015, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.033044, 19.707397]}, "properties": {"id": "2015-15-150031", "year": 2015, "harm": "car", "num_fatalities": 2}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.024769, 19.725497]}, "properties": {"id": "2015-15-150054", "year": 2015, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.014117, 19.668933]}, "properties": {"id": "2017-15-150005", "year": 2017, "harm": "bike", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.017125, 19.692669]}, "properties": {"id": "2017-15-150033", "year": 2017, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.024847, 19.761394]}, "properties": {"id": "2017-15-150034", "year": 2017, "harm": "car", "num_fatalities": 3}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.018942, 19.723006]}, "properties": {"id": "2017-15-150056", "year": 2017, "harm": "ped", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.030381, 19.732747]}, "properties": {"id": "2017-15-150079", "year": 2017, "harm": "bike", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.01495, 19.670919]}, "properties": {"id": "2016-15-150033", "year": 2016, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.023958, 19.764183]}, "properties": {"id": "2012-15-150063", "year": 2012, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.031722, 19.724794]}, "properties": {"id": "2012-15-150070", "year": 2012, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.002928, 19.672931]}, "properties": {"id": "2012-15-150071", "year": 2012, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.015558, 19.671281]}, "properties": {"id": "2010-15-150107", "year": 2010, "harm": "car", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.019522, 19.678636]}, "properties": {"id": "2018-15-150017", "year": 2018, "harm": "ped", "num_fatalities": 1}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-156.017275, 19.776744]}, "properties": {"id": "2019-15-150085", "year": 2019, "harm": "car", "num_fatalities": 1}}]}

0 commit comments

Comments
 (0)