These functions create and export geography vectors.
Unlike the BigQuery geography constructors, these functions do not sanitize
invalid or redundant input using s2_union()
. Note that when creating polygons
using s2_make_polygon()
, rings can be open or closed.
s2_geog_point(longitude, latitude) s2_make_line(longitude, latitude, feature_id = 1L) s2_make_polygon( longitude, latitude, feature_id = 1L, ring_id = 1L, oriented = FALSE, check = TRUE ) s2_geog_from_text(wkt_string, oriented = FALSE, check = TRUE) s2_geog_from_wkb(wkb_bytes, oriented = FALSE, check = TRUE) s2_as_text(x, precision = 16, trim = TRUE) s2_as_binary(x, endian = wk::wk_platform_endian())
longitude, latitude | Vectors of latitude and longitude |
---|---|
feature_id, ring_id | Vectors for which a change in
sequential values indicates a new feature or ring. Use |
oriented | TRUE if polygon ring directions are known to be correct (i.e., exterior rings are defined counter clockwise and interior rings are defined clockwise). |
check | Use |
wkt_string | Well-known text |
wkb_bytes | |
x | geography vectors. These inputs
are passed to |
precision | The number of significant digits to export when
writing well-known text. If |
trim | Should trailing zeroes be included after the decimal place? |
endian | The endian-ness of the well-known binary. See |
See as_s2_geography()
for other ways to construct geography vectors.
BigQuery's geography function reference:
# create point geographies using coordinate values: s2_geog_point(-64, 45)#> <s2_geography[1]> #> [1] <POINT (-64 45)>#> <s2_geography[1]> #> [1] <LINESTRING (-64 45, 8 71)># optionally, separate features using feature_id: s2_make_line( c(-64, 8, -27, -27), c(45, 71, 0, 45), feature_id = c(1, 1, 2, 2) )#> <s2_geography[2]> #> [1] <LINESTRING (-64 45, 8 71)> <LINESTRING (-27 0, -27 45)># create polygon geographies using coordinate values: # (rings can be open or closed) s2_make_polygon(c(-45, 8, 0), c(64, 71, 90))#> <s2_geography[1]> #> [1] <POLYGON ((-45 64, 8 71, 0 90, -45 64))># optionally, separate rings and/or features using # ring_id and/or feature_id s2_make_polygon( c(20, 10, 10, 30, 45, 30, 20, 20, 40, 20, 45), c(35, 30, 10, 5, 20, 20, 15, 25, 40, 45, 30), feature_id = c(rep(1, 8), rep(2, 3)), ring_id = c(1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1) )#> <s2_geography[2]> #> [1] <POLYGON ((20 35, 10 30, 10 10, 30 5, 45 20...> #> [2] <POLYGON ((40 40, 20 45, 45 30, 40 40))># import and export well-known text (geog <- s2_geog_from_text("POINT (-64 45)"))#> <s2_geography[1]> #> [1] <POINT (-64 45)>s2_as_text(geog)#> [1] "POINT (-64 44.99999999999999)"#> <s2_geography[1]> #> [1] <POINT (-64 45)>s2_as_binary(geog)#> [[1]] #> [1] 01 01 00 00 00 00 00 00 00 00 00 50 c0 ff ff ff ff ff 7f 46 40 #> #> attr(,"class") #> [1] "blob"