@@ -56,24 +56,28 @@ vec_cast.wk_wkb.wk_wkt <- function(x, to, ...) {
5656# ' @method vec_cast.wk_wkb wk_xy
5757# ' @export
5858vec_cast.wk_wkb.wk_xy <- function (x , to , ... ) {
59+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
5960 wk_translate(x , to )
6061}
6162
6263# ' @method vec_cast.wk_wkb wk_xyz
6364# ' @export
6465vec_cast.wk_wkb.wk_xyz <- function (x , to , ... ) {
66+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
6567 wk_translate(x , to )
6668}
6769
6870# ' @method vec_cast.wk_wkb wk_xym
6971# ' @export
7072vec_cast.wk_wkb.wk_xym <- function (x , to , ... ) {
73+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
7174 wk_translate(x , to )
7275}
7376
7477# ' @method vec_cast.wk_wkb wk_xyzm
7578# ' @export
7679vec_cast.wk_wkb.wk_xyzm <- function (x , to , ... ) {
80+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
7781 wk_translate(x , to )
7882}
7983
@@ -195,24 +199,28 @@ vec_cast.wk_wkt.wk_wkb <- function(x, to, ...) {
195199# ' @method vec_cast.wk_wkt wk_xy
196200# ' @export
197201vec_cast.wk_wkt.wk_xy <- function (x , to , ... ) {
202+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
198203 wk_translate(x , to )
199204}
200205
201206# ' @method vec_cast.wk_wkt wk_xyz
202207# ' @export
203208vec_cast.wk_wkt.wk_xyz <- function (x , to , ... ) {
209+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
204210 wk_translate(x , to )
205211}
206212
207213# ' @method vec_cast.wk_wkt wk_xym
208214# ' @export
209215vec_cast.wk_wkt.wk_xym <- function (x , to , ... ) {
216+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
210217 wk_translate(x , to )
211218}
212219
213220# ' @method vec_cast.wk_wkt wk_xyzm
214221# ' @export
215222vec_cast.wk_wkt.wk_xyzm <- function (x , to , ... ) {
223+ wk_is_geodesic(x ) <- wk_is_geodesic(to )
216224 wk_translate(x , to )
217225}
218226
@@ -832,6 +840,14 @@ vec_ptype2.wk_rct <- function(x, y, ...) {
832840 UseMethod(" vec_ptype2.wk_rct" , y ) # nocov
833841}
834842
843+ # ' @method vec_cast.wk_rct wk_rct
844+ # ' @export
845+ vec_cast.wk_rct.wk_rct <- function (x , to , ... ) {
846+ wk_crs_output(x , to )
847+ wk_is_geodesic_output(x , to )
848+ x
849+ }
850+
835851# ' @method vec_ptype2.wk_rct wk_rct
836852# ' @export
837853vec_ptype2.wk_rct.wk_rct <- function (x , y , ... , x_arg = " x" , y_arg = " y" ) {
@@ -905,6 +921,14 @@ vec_cast.wk_crc.default <- function(x, to, ...) {
905921 vctrs :: vec_default_cast(x , to ) # nocov
906922}
907923
924+ # ' @method vec_cast.wk_crc wk_crc
925+ # ' @export
926+ vec_cast.wk_crc.wk_crc <- function (x , to , ... ) {
927+ wk_crs_output(x , to )
928+ wk_is_geodesic_output(x , to )
929+ x
930+ }
931+
908932# ' @rdname vctrs-methods
909933# ' @export vec_ptype2.wk_crc
910934vec_ptype2.wk_crc <- function (x , y , ... ) {
0 commit comments