use xs_h3::{
degs_to_rads, grid_disk, grid_distance, h3_to_string_alloc, lat_lng_to_cell, max_grid_disk_size, H3Error, H3Index,
LatLng, H3_NULL,
};
fn main() -> Result<(), H3Error> {
let origin_lat_deg = 37.779;
let origin_lng_deg = -122.419;
let res = 7;
let k = 2;
let origin_point = LatLng {
lat: degs_to_rads(origin_lat_deg),
lng: degs_to_rads(origin_lng_deg),
};
let origin_cell = lat_lng_to_cell(&origin_point, res)?;
let max_size = max_grid_disk_size(k)? as usize;
let mut k_ring_cells = vec![H3_NULL; max_size];
grid_disk(origin_cell, k, &mut k_ring_cells)?;
let mut count = 0;
for cell_h3 in k_ring_cells.iter() {
if *cell_h3 != H3_NULL {
count += 1;
let distance = grid_distance(origin_cell, *cell_h3)?;
}
}
if count > max_size {
}
Ok(())
}