You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
O @rafapereirabr levantou a ideia de se retornar os hexágonos junto com as coordenadas. Acabei gostando da ideia, porque o pipeline para colocar a grade é um pouco inconveniente, então seria muito útil já tê-lo.
Rascunho de ideia que tive, a partir de uma função que estou usando em outro projeto e pode ser facilmente adaptada, posso fazer um PR posteriormente.
gc_with_hex <- function(data, fields, res = 9, precision = NULL, groups = NULL, na_remove = TRUE){
# checks
checkmate::assert_data_frame(data)
checkmate::assert(!is.null(groups))
checkmate::assert_character(groups)
# geocode
tictoc::tic()
data <- data |>
geocodebr::geocode(fields, resolver_empates = T, resultado_sf = T)
tt <- tictoc::toc(quiet = T)$callback_msg |> stringr::str_extract("^\\d+\\.\\d+")
print(paste(nrow(data), "addresses geocoded in", tt, "seconds", "(",
round(nrow(data)/as.numeric(tt),2), "addr/sec)"))
if(!is.null(precision)) {
data <- data |>
filter(precisao %in% precision_geocodebr)
}
# get hex
hex <- data |>
filter(!is.na(endereco_encontrado)) |>
select(any_of(groups)) |>
h3jsr::point_to_cell(res = res, simple = F)
# join and tidy
data <- if(na_remove) {
inner_join(data, hex)
} else {
left_join(data, hex)
}
data |>
mutate(h3_address = h3_resolution_9, lon = st_coordinates(geometry)[,1],
lat = st_coordinates(geometry)[,2], .keep = "unused") |>
st_drop_geometry() |>
select(-c(endereco_encontrado, logradouro_encontrado))
}
The text was updated successfully, but these errors were encountered:
O @rafapereirabr levantou a ideia de se retornar os hexágonos junto com as coordenadas. Acabei gostando da ideia, porque o pipeline para colocar a grade é um pouco inconveniente, então seria muito útil já tê-lo.
Rascunho de ideia que tive, a partir de uma função que estou usando em outro projeto e pode ser facilmente adaptada, posso fazer um PR posteriormente.
The text was updated successfully, but these errors were encountered: