@@ -7,45 +7,59 @@ message("Using CoDEC, version ", packageVersion("codec"))
7
7
library(dplyr )
8
8
library(dpkg )
9
9
library(addr )
10
+ library(sf )
10
11
options(arrow.unsafe_metadata = TRUE )
11
12
12
- cagis_addr_data <-
13
- addr :: cagis_addr | >
13
+ addr_per_tract <-
14
+ addr :: cagis_addr() | >
14
15
mutate(cagis_s2 = purrr :: map(cagis_addr_data , \(d ) pull(d , cagis_s2 ))) | >
15
16
select(- cagis_addr_data ) | >
16
17
tidyr :: unnest(cols = c(cagis_s2 )) | >
17
18
filter(! is.na(cagis_s2 )) | >
18
19
distinct(cagis_addr , .keep_all = TRUE ) | >
19
20
mutate(census_tract_id_2010 = tract :: get_census_tract_id(cagis_s2 , year = " 2010" )) | >
20
- distinct(cagis_addr , .keep_all = TRUE )
21
-
22
- addr_per_tract <-
23
- cagis_addr_data | >
21
+ distinct(cagis_addr , .keep_all = TRUE ) | >
24
22
group_by(census_tract_id_2010 ) | >
25
23
summarize(n_addr = n())
26
24
27
25
# read in parcel data resource
28
26
property_code_enforcements <-
29
- dpkg :: stow(" gh://geomarker-io/parcel/property_code_enforcements-v1.0 .1" ) | >
27
+ dpkg :: stow(" gh://geomarker-io/parcel/property_code_enforcements-v1.1 .1" ) | >
30
28
dpkg :: read_dpkg() | >
29
+ filter(! is.na(lon_jittered ), ! is.na(lat_jittered )) | >
30
+ st_as_sf(coords = c(" lon_jittered" , " lat_jittered" ), crs = 4326 ) | >
31
+ st_transform(st_crs(cincy :: tract_tigris_2010 )) | >
32
+ st_join(cincy :: tract_tigris_2010 , largest = TRUE ) | >
33
+ st_drop_geometry() | >
31
34
mutate(
32
35
year = lubridate :: year(date ),
33
36
month = lubridate :: month(date )
34
37
) | >
35
- left_join(cagis_addr_data , by = " cagis_addr" ) | >
36
38
group_by(census_tract_id_2010 , year , month ) | >
37
39
summarize(n_violations = n()) | >
38
40
filter(! is.na(census_tract_id_2010 )) | >
39
41
left_join(addr_per_tract , by = " census_tract_id_2010" ) | >
40
42
mutate(violations_per_addr = n_violations / n_addr )
41
43
44
+ min_year_month <-
45
+ property_code_enforcements | >
46
+ ungroup() | >
47
+ arrange(year , month ) | >
48
+ slice(1 )
49
+
50
+ max_year_month <-
51
+ property_code_enforcements | >
52
+ ungroup() | >
53
+ arrange(desc(year ), desc(month )) | >
54
+ slice(1 )
55
+
42
56
all_tracts <-
43
57
cincy :: tract_tigris_2010 | >
44
58
sf :: st_drop_geometry() | >
45
59
as_tibble() | >
46
60
mutate(date = list (seq.Date(
47
- from = as.Date(" 2001-04 -01" ),
48
- to = as.Date(" 2024-07 -01" ),
61
+ from = as.Date(glue :: glue( " {min_year_month$year}-{min_year_month$month} -01" ) ),
62
+ to = as.Date(glue :: glue( " {max_year_month$year}-{max_year_month$month} -01" ) ),
49
63
by = " month"
50
64
))) | >
51
65
tidyr :: unnest(cols = c(date )) | >
@@ -62,7 +76,7 @@ out_dpkg <-
62
76
by = c(" census_tract_id_2010" , " year" , " month" )) | >
63
77
as_codec_dpkg(
64
78
name = " property_code_enforcements" ,
65
- version = " 0.1 .0" ,
79
+ version = " 0.2 .0" ,
66
80
title = " Property Code Enforcements" ,
67
81
homepage = " https://geomarker.io/codec" ,
68
82
description = paste(readLines(fs :: path_package(" codec" , " codec_data" , " property_code_enforcements" , " README.md" )), collapse = " \n " )
0 commit comments