Skip to content

interleaved geometry #78

@dcooley

Description

@dcooley

coordinates stored in a single vector

[x,y,z,x,y,z,x,y,z,...]

And associated meta-data describing start indices, stride length


References & discussion


TODO

  • interleave geometry coordinates
  • follow design of flat lists / geo-arrow
  • polygons need inner-ring start_indices

Prototype

library(sfheaders)

sf <- mapdeck::roads

it <- sfheaders:::rcpp_interleave_sf( sf )

str( it )

List of 6
 $ coordinates      : num [1:115514] 145 -37.8 145 -37.8 145 ...
 $ start_indices    : int [1:18286] 0 20 46 62 70 74 81 91 115 125 ...
 $ n_coordinates    : int [1:18286] 20 26 16 8 4 7 10 24 10 10 ...
 $ total_coordinates: num 57757
 $ stride           : int 2
 $ data             :'data.frame':	18286 obs. of  15 variables:
  ..$ EZI_RDNAME: chr [1:18286] "MAIN YARRA TRAIL" "YARRA BOULEVARD" "UNNAMED" "YARRA-CITYLINK OUT RAMP ON" ...
  ..$ FQID      : num [1:18286] 5516 1347 5516 3316 3470 ...
  ..$ FROM_UFI  : num [1:18286] 16141399 2319828 16141401 39157640 2319921 ...
  ..$ FTYPE_CODE: chr [1:18286] "road" "road" "road" "road" ...
  ..$ LEFT_LOC  : chr [1:18286] "BURNLEY" "BURNLEY" "BURNLEY" "BURNLEY" ...
  ..$ PFI       : num [1:18286] 11815534 5684911 11749283 5684402 5684635 ...
  ..$ RD_NAME1  : chr [1:18286] "CAPITAL CITY" NA NA NA ...
  ..$ RD_NAME2  : chr [1:18286] NA NA NA NA ...
  ..$ RD_TYPE1  : chr [1:18286] "TRAIL" NA NA NA ...
  ..$ RD_TYPE2  : chr [1:18286] NA NA NA NA ...
  ..$ RIGHT_LOC : chr [1:18286] "BURNLEY" "BURNLEY" "BURNLEY" "BURNLEY" ...
  ..$ ROAD_NAME : chr [1:18286] "MAIN YARRA" "YARRA" "UNNAMED" "YARRA-CITYLINK OUT" ...
  ..$ ROAD_TYPE : chr [1:18286] "TRAIL" "BOULEVARD" NA "RAMP" ...
  ..$ TO_UFI    : num [1:18286] 39357869 39364350 2319308 39157656 45130685 ...
  ..$ UFI       : num [1:18286] 39352041 39364294 16140773 39157330 45113563 ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions