-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblock_split_reprocessing_Aug2019
More file actions
326 lines (275 loc) · 7.04 KB
/
block_split_reprocessing_Aug2019
File metadata and controls
326 lines (275 loc) · 7.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
#drop table sandbox_mhs_17blocksplits.blocks_to_tod_id_network_distance_2;
#drop table sandbox_mhs_17blocksplits.blocks_to_tod_id_network_distance;
#drop table sandbox_mhs_17blocksplits.blocks_to_juris;
#drop table sandbox_mhs_17blocksplits.blocks_to_juris_2;
#drop table sandbox_mhs_17blocksplits.temp_freq2plus;
#drop table sandbox_mhs_17blocksplits.duplicate_geoid10s_juris;
create table sandbox_mhs_17blocksplits.blocks_to_tod_id_network_distance
(
GEOID10 Bigint not null
,bCOUNTY Text not null
,bSecField Int not null
,POP2017 Float not null
,HHP2017 Float not null
,GQ2017 Float not null
,HU2017 Float not null
,OHU2017 Float not null
,rxHHpop Float not null
,rxGQpop Float not null
,splitblkHHpop Float not null
,splitblkGQpop Float not null
,splitblkTotpop Float not null
);
create table sandbox_mhs_17blocksplits.blocks_to_juris
(
GEOID10 Bigint not null
,bCOUNTY Text not null
,bSecField Text not null
,POP2017 Float not null
,HHP2017 Float not null
,GQ2017 Float not null
,HU2017 Float not null
,OHU2017 Float not null
,rxHHpop Float not null
,rxGQpop Float not null
,splitblkHHpop Float not null
,splitblkGQpop Float not null
,splitblkTotpop Float not null
,splitblkHH Float not null
);
LOAD DATA LOCAL INFILE 'C:/Users/msimonson/gis_files/tod_est2017.csv'
INTO TABLE sandbox_mhs_17blocksplits.blocks_to_tod_id_network_distance
FIELDS TERMINATED BY ','
#ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(
GEOID10
,bCOUNTY
,bSecField
,POP2017
,HHP2017
,GQ2017
,HU2017
,OHU2017
,rxHHpop
,rxGQpop
,splitblkHHpop
,splitblkGQpop
,splitblkTotpop
);
select * from sandbox_mhs_17blocksplits.blocks_to_tod_id_network_distance;
alter table sandbox_mhs_17blocksplits.blocks_to_tod_id_network_distance add index(GEOID10);
LOAD DATA LOCAL INFILE 'C:/Users/msimonson/gis_files/juris_est2017.csv'
INTO TABLE sandbox_mhs_17blocksplits.blocks_to_juris
FIELDS TERMINATED BY ','
#ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(
GEOID10
,bCOUNTY
,bSecField
,POP2017
,HHP2017
,GQ2017
,HU2017
,OHU2017
,rxHHpop
,rxGQpop
,splitblkHHpop
,splitblkGQpop
,splitblkTotpop
,splitblkHH
);
select * from sandbox_mhs_17blocksplits.blocks_to_juris;
alter table sandbox_mhs_17blocksplits.blocks_to_juris add index(GEOID10);
create table geoid10s_juris_frequency
SELECT
GEOID10
,count(GEOID10) as frequency
FROM sandbox_mhs_17blocksplits.blocks_to_juris
group by GEOID10;
alter table geoid10s_juris_frequency add index (GEOID10);
alter table sandbox_mhs_17blocksplits.blocks_to_juris add column frequency int;
update sandbox_mhs_17blocksplits.blocks_to_juris set frequency = 0;
update blocks_to_juris
inner join geoid10s_juris_frequency
on blocks_to_juris.GEOID10 = geoid10s_juris_frequency.GEOID10
set blocks_to_juris.frequency = geoid10s_juris_frequency.frequency;
create table geoid10s_juris_maxpop_for_freq2plus
select
GEOID10
,bcounty
,bSecField
,frequency
,max(splitblkTotpop)
from blocks_to_juris
where frequency>1
group by GEOID10
order by frequency desc
;
create table final_blocks_to_juris
select
GEOID10
,bcounty
,bSecField
from blocks_to_juris
where frequency=1;
insert into final_blocks_to_juris
(
GEOID10
,bcounty
,bSecField
)
select
GEOID10
,bcounty
,bSecField
from geoid10s_juris_maxpop_for_freq2plus;
alter table final_blocks_to_juris add index(GEOID10);
SELECT * FROM final_blocks_to_juris f;
alter table blocks_to_tod_id_network_distance add column county_juris text, add column juris text;
update blocks_to_tod_id_network_distance
set county_juris = 'na'
,juris = 'na';
update blocks_to_tod_id_network_distance
INNER join final_blocks_to_juris
on blocks_to_tod_id_network_distance.GEOID10 = final_blocks_to_juris.GEOID10
SET blocks_to_tod_id_network_distance.county_juris = final_blocks_to_juris.bcounty
,blocks_to_tod_id_network_distance.juris = final_blocks_to_juris.bSecField;
SELECT
county_juris
,juris
,count(GEOID10) AS records
,sum(splitblkHHpop) as HHpop
,sum(splitblkGQpop) as GQpop
,sum(splitblkTotpop) as Totpop
FROM blocks_to_tod_id_network_distance
#where bSecField = 4
#where bSecField in (1,2,5,6)
where bSecField in (1,2,4,5,6)
group by
county_juris
,juris
;
SELECT * FROM blocks_to_tod_id_network_distance b;
alter table blocks_to_tod_id_network_distance
add column splitblkHH float;
update blocks_to_tod_id_network_distance set splitblkHH = 0;
update blocks_to_tod_id_network_distance set splitblkHH = rxHHpop * OHU2017;
SELECT
county_juris
,juris
,count(GEOID10) AS records
,sum(splitblkHH) as HHs
,sum(splitblkHHpop) as HHpop
,sum(splitblkGQpop) as GQpop
,sum(splitblkTotpop) as Totpop
FROM blocks_to_tod_id_network_distance
#where bSecField = 4
#where bSecField in (1,2,5,6)
where bSecField in (1,2,4,5,6)
group by
county_juris
,juris
;
SELECT
sum(DUbase)
,sum(DUcapacity50)
#count(parcel_id)
FROM v2050_parcel_capacity.capacity_indicator_parcel_20190306
#limit 10
;
SELECT
city_id
,count(parcel_id)
FROM 2014_parcel_baseyear_core.parcels_80pseudo
group by city_id;
create table parcels_pseudo80_capacity_netdist
select
parcel_id
,tod_id
,city_id
FROM 2014_parcel_baseyear_core.parcels_80pseudo
;
alter table parcels_pseudo80_capacity_netdist
add primary key(parcel_id)
,add column du_base float
,add column du_capacity_50 float
,add column du_capacity_net float
,add column jobs_base float
,add column jobs_capacity_50 float
,add column jobs_capacity_net float
;
update parcels_pseudo80_capacity_netdist
set
du_base=0
,du_capacity_50=0
,du_capacity_net=0
,jobs_base=0
,jobs_capacity_50=0
,jobs_capacity_net=0
;
update parcels_pseudo80_capacity_netdist
inner join capacity_indicator_parcel_20190306
on parcels_pseudo80_capacity_netdist.parcel_id = capacity_indicator_parcel_20190306.parcel_id
set
parcels_pseudo80_capacity_netdist.du_base= capacity_indicator_parcel_20190306.DUbase
,parcels_pseudo80_capacity_netdist.du_capacity_50= capacity_indicator_parcel_20190306.DUcapacity50
,parcels_pseudo80_capacity_netdist.jobs_base= capacity_indicator_parcel_20190306.JOBSPbase
,parcels_pseudo80_capacity_netdist.jobs_capacity_50 =capacity_indicator_parcel_20190306.JOBSPcapacity50
;
update parcels_pseudo80_capacity_netdist
set
du_capacity_net= du_capacity_50-du_base
,jobs_capacity_net=jobs_capacity_50-jobs_base
;
update parcels_pseudo80_capacity_netdist
set
du_capacity_net= 0
where du_capacity_net <0
;
update parcels_pseudo80_capacity_netdist
set
jobs_capacity_net= 0
where jobs_capacity_net <0
;
select
city_id
,count(parcel_id) as parcels
,sum(du_capacity_net) as net_du_capacity
,sum(jobs_capacity_net) as net_emp_capacity
from parcels_pseudo80_capacity_netdist
group by city_id
;
alter table parcels_pseudo80_capacity_netdist
add column true_city_id int
;
update parcels_pseudo80_capacity_netdist
set
true_city_id =0
;
update parcels_pseudo80_capacity_netdist
set
true_city_id = city_id - 3000
where city_id>3000
;
update parcels_pseudo80_capacity_netdist
set
true_city_id = city_id - 2000
where city_id between 2000 and 3000
;
update parcels_pseudo80_capacity_netdist
set
true_city_id = city_id
where city_id < 1000
;
select
true_city_id
,count(parcel_id) as parcels
,sum(du_capacity_net) as net_du_capacity
,sum(jobs_capacity_net) as net_emp_capacity
from parcels_pseudo80_capacity_netdist
group by true_city_id
;