Skip to content

Instantly share code, notes, and snippets.

@paleolimbot
Created August 18, 2020 14:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save paleolimbot/fac78b5ef9a038e816f8b97e65c0c1e0 to your computer and use it in GitHub Desktop.
Save paleolimbot/fac78b5ef9a038e816f8b97e65c0c1e0 to your computer and use it in GitHub Desktop.
stream_file <- "~/Dropbox/delineatens/dem/streams.shp"
# full read by OGR/sf
system.time(streams_sf <- sf::read_sf(stream_file))
# feature-level summaries by OGR/vapour
system.time(
stream_ext_vapour <-
vapour::vapour_read_extent(dirname(stream_file), layer = "streams")
)
system.time(
stream_sum_vapour <-
vapour::vapour_geom_summary(dirname(stream_file), layer = "streams")
)
# file-level summary by shp
system.time(
stream_file_meta <-
shp::shp_file_meta(stream_file)
)
stream_file_meta
# feature-level summary by
system.time(
stream_meta <-
shp::shp_geometry_meta(stream_file)
)
stream_meta
@paleolimbot
Copy link
Author

stream_file <- "~/Dropbox/delineatens/dem/streams.shp"

# full read by OGR/sf
system.time(streams_sf <- sf::read_sf(stream_file))
#>    user  system elapsed 
#>  24.174   0.745  24.950

# feature-level summaries by OGR/vapour
system.time(
  stream_ext_vapour <- 
    vapour::vapour_read_extent(dirname(stream_file), layer = "streams")
)
#>    user  system elapsed 
#>   1.975   0.114   2.091
system.time(
  stream_sum_vapour <- 
    vapour::vapour_geom_summary(dirname(stream_file), layer = "streams")
)
#>    user  system elapsed 
#>   6.539   0.333   6.878

# file-level summary by shp
system.time(
  stream_file_meta <-
    shp::shp_file_meta(stream_file)
)
#>    user  system elapsed 
#>   0.015   0.002   0.015

stream_file_meta
#> # A tibble: 1 x 11
#>   path   shp_type n_features   xmin   ymin  zmin  mmin   xmax   ymax  zmax  mmax
#>   <chr>  <chr>         <int>  <dbl>  <dbl> <dbl> <dbl>  <dbl>  <dbl> <dbl> <dbl>
#> 1 ~/Dro… arc          245040 2.34e5 4.81e6     0     0 7.49e5 5.21e6     0     0

# feature-level summary by
system.time(
  stream_meta <- 
    shp::shp_geometry_meta(stream_file)
)
#>    user  system elapsed 
#>   0.250   0.065   0.314

stream_meta
#> # A tibble: 245,040 x 11
#>    shape_id n_parts n_vertices   xmin   ymin  zmin  mmin   xmax   ymax  zmax
#>       <int>   <int>      <int>  <dbl>  <dbl> <dbl> <dbl>  <dbl>  <dbl> <dbl>
#>  1        0       1         14 6.00e5 5.04e6     0    NA 6.00e5 5.04e6     0
#>  2        1       1         17 6.00e5 5.04e6     0    NA 6.00e5 5.04e6     0
#>  3        2       1         99 5.99e5 5.04e6     0    NA 6.00e5 5.04e6     0
#>  4        3       1         38 6.00e5 5.04e6     0    NA 6.00e5 5.04e6     0
#>  5        4       1         10 6.00e5 5.04e6     0    NA 6.00e5 5.04e6     0
#>  6        5       1         53 6.00e5 5.04e6     0    NA 6.01e5 5.04e6     0
#>  7        6       1         66 6.01e5 5.04e6     0    NA 6.01e5 5.04e6     0
#>  8        7       1         46 6.03e5 5.04e6     0    NA 6.03e5 5.04e6     0
#>  9        8       1          2 6.03e5 5.04e6     0    NA 6.03e5 5.04e6     0
#> 10        9       1         70 6.00e5 5.04e6     0    NA 6.00e5 5.04e6     0
#> # … with 245,030 more rows, and 1 more variable: mmax <dbl>

Created on 2020-08-18 by the reprex package (v0.3.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment