Skip to contents

Move a shape by a specified distance in x and y directions.

Usage

coo_translate(x, ..., .cols = NULL, .ldk_col = NULL)

Arguments

x

A matrix (nx2), list of matrices, or tibble with coo columns.

...

Additional arguments (reserved for future use).

.cols

Column name(s) to process when x is a tibble. If NULL, automatically detects columns containing coo objects.

x_val

Numeric. Distance to translate in x direction. Default is 0.

y_val

Numeric. Distance to translate in y direction. Default is 0.

Value

  • If x is a single matrix: returns the translated matrix

  • If x is a list: returns a list of translated matrices

  • If x is a tibble: returns the tibble with specified coo columns translated

See also

coo_center() for centering

Examples

# Single shape
coo_translate(shapes$cat, x_val = 10, y_val = 20)
#> <xy [120 x 2]>
#>       [,1] [,2]
#>  [1,] 210   82 
#>  [2,] 206   76 
#>  [3,] 210   76 
#>  [4,] 216   74 
#>  [5,] 219   68 
#>  [6,] ...  ... 
#>  [7,] 229   65 
#>  [8,] 223   67 
#>  [9,] 218   73 
#> [10,] 214   79 
#> [11,] 212   85 

# List of shapes
coo_translate(bot$coo, x_val = 50)
#> $brahma
#> <xy [138 x 2]>
#>       [,1] [,2]
#>  [1,]  87  561 
#>  [2,]  90  540 
#>  [3,]  90  529 
#>  [4,]  93  508 
#>  [5,]  96  487 
#>  [6,] ...  ... 
#>  [7,]  84  656 
#>  [8,]  83  645 
#>  [9,]  83  624 
#> [10,]  84  603 
#> [11,]  85  593 
#> 
#> $caney
#> <xy [168 x 2]>
#>       [,1] [,2]
#>  [1,] 103  535 
#>  [2,] 103  525 
#>  [3,] 104  505 
#>  [4,] 103  495 
#>  [5,] 104  485 
#>  [6,] ...  ... 
#>  [7,] 126  616 
#>  [8,] 117  596 
#>  [9,] 112  585 
#> [10,] 109  575 
#> [11,] 105  555 
#> 
#> $chimay
#> <xy [189 x 2]>
#>       [,1] [,2]
#>  [1,]  99  333 
#>  [2,]  99  325 
#>  [3,]  99  318 
#>  [4,] 100  310 
#>  [5,] 100  302 
#>  [6,] ...  ... 
#>  [7,] 109  379 
#>  [8,] 104  371 
#>  [9,] 101  364 
#> [10,]  99  356 
#> [11,]  98  348 
#> 
#> $corona
#> <xy [129 x 2]>
#>       [,1] [,2]
#>  [1,] 141  426 
#>  [2,] 141  416 
#>  [3,] 140  395 
#>  [4,] 141  385 
#>  [5,] 141  374 
#>  [6,] ...  ... 
#>  [7,] 168  506 
#>  [8,] 160  486 
#>  [9,] 155  477 
#> [10,] 151  466 
#> [11,] 144  447 
#> 
#> $deusventrue
#> <xy [152 x 2]>
#>       [,1] [,2]
#>  [1,] 124  481 
#>  [2,] 120  472 
#>  [3,] 112  454 
#>  [4,] 109  445 
#>  [5,] 102  425 
#>  [6,] ...  ... 
#>  [7,] 150  555 
#>  [8,] 147  545 
#>  [9,] 140  527 
#> [10,] 137  518 
#> [11,] 132  500 
#> 
#> $duvel
#> <xy [161 x 2]>
#>       [,1] [,2]
#>  [1,] 111  315 
#>  [2,] 111  304 
#>  [3,] 111  293 
#>  [4,] 111  293 
#>  [5,] 111  282 
#>  [6,] ...  ... 
#>  [7,] 124  369 
#>  [8,] 119  358 
#>  [9,] 115  348 
#> [10,] 115  348 
#> [11,] 113  337 
#> 
#> $franziskaner
#> <xy [124 x 2]>
#>       [,1] [,2]
#>  [1,] 104  439 
#>  [2,] 104  418 
#>  [3,] 104  408 
#>  [4,] 104  389 
#>  [5,] 104  379 
#>  [6,] ...  ... 
#>  [7,] 110  532 
#>  [8,] 109  511 
#>  [9,] 107  501 
#> [10,] 104  480 
#> [11,] 104  470 
#> 
#> $grimbergen
#> <xy [126 x 2]>
#>       [,1] [,2]
#>  [1,]  92  404 
#>  [2,]  90  394 
#>  [3,]  90  373 
#>  [4,]  90  362 
#>  [5,]  90  352 
#>  [6,] ...  ... 
#>  [7,] 124  487 
#>  [8,] 110  467 
#>  [9,] 104  456 
#> [10,] 100  446 
#> [11,]  94  425 
#> 
#> $guiness
#> <xy [183 x 2]>
#>       [,1] [,2]
#>  [1,] 119  385 
#>  [2,] 119  377 
#>  [3,] 119  369 
#>  [4,] 119  360 
#>  [5,] 119  344 
#>  [6,] ...  ... 
#>  [7,] 123  442 
#>  [8,] 121  433 
#>  [9,] 117  418 
#> [10,] 118  410 
#> [11,] 119  401 
#> 
#> $hoegardeen
#> <xy [193 x 2]>
#>       [,1] [,2]
#>  [1,]  92  544 
#>  [2,]  90  531 
#>  [3,]  90  519 
#>  [4,]  90  506 
#>  [5,]  90  493 
#>  [6,] ...  ... 
#>  [7,] 108  619 
#>  [8,] 104  606 
#>  [9,] 101  594 
#> [10,]  97  581 
#> [11,]  96  568 
#> 
#> $jupiler
#> <xy [156 x 2]>
#>       [,1] [,2]
#>  [1,] 105  515 
#>  [2,] 104  501 
#>  [3,] 104  488 
#>  [4,] 104  474 
#>  [5,] 104  460 
#>  [6,] ...  ... 
#>  [7,] 124  597 
#>  [8,] 119  583 
#>  [9,] 116  570 
#> [10,] 112  556 
#> [11,] 109  542 
#> 
#> $kingfisher
#> <xy [182 x 2]>
#>       [,1] [,2]
#>  [1,] 121  384 
#>  [2,] 121  374 
#>  [3,] 121  365 
#>  [4,] 121  355 
#>  [5,] 121  345 
#>  [6,] ...  ... 
#>  [7,] 131  442 
#>  [8,] 128  433 
#>  [9,] 126  423 
#> [10,] 123  413 
#> [11,] 123  403 
#> 
#> $latrappe
#> <xy [136 x 2]>
#>       [,1] [,2]
#>  [1,]  76  389 
#>  [2,]  75  377 
#>  [3,]  75  364 
#>  [4,]  75  352 
#>  [5,]  75  339 
#>  [6,] ...  ... 
#>  [7,]  78  464 
#>  [8,]  75  451 
#>  [9,]  76  439 
#> [10,]  76  426 
#> [11,]  76  414 
#> 
#> $lindemanskriek
#> <xy [176 x 2]>
#>       [,1] [,2]
#>  [1,] 110  427 
#>  [2,] 110  419 
#>  [3,] 105  404 
#>  [4,] 104  395 
#>  [5,] 104  387 
#>  [6,] ...  ... 
#>  [7,] 127  486 
#>  [8,] 125  478 
#>  [9,] 122  469 
#> [10,] 120  461 
#> [11,] 115  444 
#> 
#> $nicechouffe
#> <xy [146 x 2]>
#>       [,1] [,2]
#>  [1,] 132  361 
#>  [2,] 131  353 
#>  [3,] 127  336 
#>  [4,] 127  327 
#>  [5,] 126  319 
#>  [6,] ...  ... 
#>  [7,] 146  418 
#>  [8,] 143  410 
#>  [9,] 141  401 
#> [10,] 139  394 
#> [11,] 135  378 
#> 
#> $pecheresse
#> <xy [129 x 2]>
#>       [,1] [,2]
#>  [1,] 113  495 
#>  [2,] 111  476 
#>  [3,] 111  467 
#>  [4,] 110  447 
#>  [5,] 108  428 
#>  [6,] ...  ... 
#>  [7,] 136  580 
#>  [8,] 133  570 
#>  [9,] 128  552 
#> [10,] 123  533 
#> [11,] 121  524 
#> 
#> $sierranevada
#> <xy [176 x 2]>
#>       [,1] [,2]
#>  [1,] 111  345 
#>  [2,] 111  333 
#>  [3,] 111  333 
#>  [4,] 111  320 
#>  [5,] 111  308 
#>  [6,] ...  ... 
#>  [7,] 113  407 
#>  [8,] 111  394 
#>  [9,] 109  382 
#> [10,] 111  370 
#> [11,] 111  370 
#> 
#> $tanglefoot
#> <xy [174 x 2]>
#>       [,1] [,2]
#>  [1,]  98  367 
#>  [2,]  98  359 
#>  [3,]  98  351 
#>  [4,]  98  335 
#>  [5,]  99  327 
#>  [6,] ...  ... 
#>  [7,] 102  423 
#>  [8,]  99  415 
#>  [9,]  98  407 
#> [10,]  97  391 
#> [11,]  97  383 
#> 
#> $tauro
#> <xy [174 x 2]>
#>       [,1] [,2]
#>  [1,] 106  515 
#>  [2,] 104  503 
#>  [3,] 104  491 
#>  [4,] 104  478 
#>  [5,] 104  466 
#>  [6,] ...  ... 
#>  [7,] 121  587 
#>  [8,] 118  575 
#>  [9,] 113  563 
#> [10,] 111  551 
#> [11,] 109  538 
#> 
#> $westmalle
#> <xy [141 x 2]>
#>       [,1] [,2]
#>  [1,] 120  394 
#>  [2,] 120  386 
#>  [3,] 117  369 
#>  [4,] 117  361 
#>  [5,] 116  344 
#>  [6,] ...  ... 
#>  [7,] 136  461 
#>  [8,] 133  452 
#>  [9,] 130  436 
#> [10,] 126  427 
#> [11,] 124  411 
#> 
#> $amrut
#> <xy [191 x 2]>
#>       [,1] [,2]
#>  [1,] 107  441 
#>  [2,] 107  431 
#>  [3,] 107  421 
#>  [4,] 107  411 
#>  [5,] 107  401 
#>  [6,] ...  ... 
#>  [7,] 105  501 
#>  [8,] 107  491 
#>  [9,] 107  481 
#> [10,] 107  471 
#> [11,] 107  461 
#> 
#> $ballantines
#> <xy [146 x 2]>
#>       [,1] [,2]
#>  [1,]  88  357 
#>  [2,]  88  341 
#>  [3,]  88  333 
#>  [4,]  88  318 
#>  [5,]  88  310 
#>  [6,] ...  ... 
#>  [7,]  88  428 
#>  [8,]  88  412 
#>  [9,]  88  404 
#> [10,]  88  388 
#> [11,]  88  381 
#> 
#> $bushmills
#> <xy [165 x 2]>
#>       [,1] [,2]
#>  [1,] 122  456 
#>  [2,] 122  441 
#>  [3,] 122  425 
#>  [4,] 122  425 
#>  [5,] 122  410 
#>  [6,] ...  ... 
#>  [7,] 120  533 
#>  [8,] 120  518 
#>  [9,] 120  502 
#> [10,] 120  502 
#> [11,] 120  487 
#> 
#> $chivas
#> <xy [164 x 2]>
#>       [,1] [,2]
#>  [1,]  83  437 
#>  [2,]  81  429 
#>  [3,]  79  412 
#>  [4,]  79  404 
#>  [5,]  79  388 
#>  [6,] ...  ... 
#>  [7,] 131  502 
#>  [8,] 123  495 
#>  [9,] 107  478 
#> [10,] 101  470 
#> [11,]  90  453 
#> 
#> $dalmore
#> <xy [155 x 2]>
#>       [,1] [,2]
#>  [1,] 102  371 
#>  [2,]  97  359 
#>  [3,]  94  346 
#>  [4,]  92  334 
#>  [5,]  92  322 
#>  [6,] ...  ... 
#>  [7,] 152  430 
#>  [8,] 152  430 
#>  [9,] 139  419 
#> [10,] 127  408 
#> [11,] 117  396 
#> 
#> $famousgrouse
#> <xy [169 x 2]>
#>       [,1] [,2]
#>  [1,] 149  313 
#>  [2,] 149  303 
#>  [3,] 149  294 
#>  [4,] 149  284 
#>  [5,] 149  284 
#>  [6,] ...  ... 
#>  [7,] 147  361 
#>  [8,] 147  351 
#>  [9,] 147  351 
#> [10,] 147  342 
#> [11,] 147  332 
#> 
#> $glendronach
#> <xy [197 x 2]>
#>       [,1] [,2]
#>  [1,] 123  435 
#>  [2,] 123  423 
#>  [3,] 124  411 
#>  [4,] 124  411 
#>  [5,] 124  399 
#>  [6,] ...  ... 
#>  [7,] 122  495 
#>  [8,] 122  483 
#>  [9,] 123  471 
#> [10,] 123  471 
#> [11,] 123  459 
#> 
#> $glenmorangie
#> <xy [179 x 2]>
#>       [,1] [,2]
#>  [1,] 103  518 
#>  [2,] 104  501 
#>  [3,] 104  501 
#>  [4,] 104  485 
#>  [5,] 105  468 
#>  [6,] ...  ... 
#>  [7,] 112  599 
#>  [8,] 108  584 
#>  [9,] 104  567 
#> [10,] 103  550 
#> [11,] 103  550 
#> 
#> $highlandpark
#> <xy [169 x 2]>
#>       [,1] [,2]
#>  [1,]  92  371 
#>  [2,]  92  357 
#>  [3,]  92  357 
#>  [4,]  92  343 
#>  [5,]  92  329 
#>  [6,] ...  ... 
#>  [7,]  91  441 
#>  [8,]  92  427 
#>  [9,]  92  413 
#> [10,]  92  399 
#> [11,]  92  399 
#> 
#> $jackdaniels
#> <xy [150 x 2]>
#>       [,1] [,2]
#>  [1,] 113  414 
#>  [2,] 113  401 
#>  [3,] 113  388 
#>  [4,] 113  375 
#>  [5,] 113  362 
#>  [6,] ...  ... 
#>  [7,] 120  493 
#>  [8,] 118  479 
#>  [9,] 115  466 
#> [10,] 114  453 
#> [11,] 115  440 
#> 
#> $jb
#> <xy [174 x 2]>
#>       [,1] [,2]
#>  [1,]  93  531 
#>  [2,]  93  520 
#>  [3,]  92  510 
#>  [4,]  92  488 
#>  [5,]  93  477 
#>  [6,] ...  ... 
#>  [7,]  92  606 
#>  [8,]  90  595 
#>  [9,]  92  585 
#> [10,]  93  563 
#> [11,]  93  552 
#> 
#> $johnniewalker
#> <xy [168 x 2]>
#>       [,1] [,2]
#>  [1,] 183  175 
#>  [2,] 183  171 
#>  [3,] 183  167 
#>  [4,] 183  163 
#>  [5,] 184  155 
#>  [6,] ...  ... 
#>  [7,] 183  203 
#>  [8,] 183  199 
#>  [9,] 183  191 
#> [10,] 183  187 
#> [11,] 183  183 
#> 
#> $magallan
#> <xy [141 x 2]>
#>       [,1] [,2]
#>  [1,] 128  397 
#>  [2,] 128  382 
#>  [3,] 130  375 
#>  [4,] 130  361 
#>  [5,] 131  346 
#>  [6,] ...  ... 
#>  [7,] 125  462 
#>  [8,] 125  455 
#>  [9,] 125  441 
#> [10,] 127  426 
#> [11,] 127  419 
#> 
#> $makersmark
#> <xy [177 x 2]>
#>       [,1] [,2]
#>  [1,]  81  432 
#>  [2,]  73  420 
#>  [3,]  66  408 
#>  [4,]  66  408 
#>  [5,]  63  394 
#>  [6,] ...  ... 
#>  [7,] 129  487 
#>  [8,] 124  473 
#>  [9,] 117  464 
#> [10,] 117  464 
#> [11,] 103  454 
#> 
#> $oban
#> <xy [179 x 2]>
#>       [,1] [,2]
#>  [1,] 124  457 
#>  [2,] 124  448 
#>  [3,] 124  431 
#>  [4,] 124  423 
#>  [5,] 124  414 
#>  [6,] ...  ... 
#>  [7,] 122  517 
#>  [8,] 123  508 
#>  [9,] 123  500 
#> [10,] 123  491 
#> [11,] 123  474 
#> 
#> $oldpotrero
#> <xy [131 x 2]>
#>       [,1] [,2]
#>  [1,] 133  307 
#>  [2,] 127  299 
#>  [3,] 121  291 
#>  [4,] 113  274 
#>  [5,] 110  265 
#>  [6,] ...  ... 
#>  [7,] 169  366 
#>  [8,] 167  358 
#>  [9,] 162  349 
#> [10,] 151  333 
#> [11,] 145  324 
#> 
#> $redbreast
#> <xy [177 x 2]>
#>       [,1] [,2]
#>  [1,] 155  233 
#>  [2,] 153  228 
#>  [3,] 151  224 
#>  [4,] 148  214 
#>  [5,] 148  210 
#>  [6,] ...  ... 
#>  [7,] 187  261 
#>  [8,] 182  257 
#>  [9,] 177  253 
#> [10,] 168  246 
#> [11,] 163  242 
#> 
#> $tamdhu
#> <xy [176 x 2]>
#>       [,1] [,2]
#>  [1,]  99  552 
#>  [2,]  99  540 
#>  [3,]  99  527 
#>  [4,]  99  515 
#>  [5,]  99  503 
#>  [6,] ...  ... 
#>  [7,]  96  625 
#>  [8,]  94  613 
#>  [9,]  95  601 
#> [10,]  96  589 
#> [11,]  97  577 
#> 
#> $wildturkey
#> <xy [185 x 2]>
#>       [,1] [,2]
#>  [1,]  68  569 
#>  [2,]  68  555 
#>  [3,]  68  541 
#>  [4,]  68  527 
#>  [5,]  68  513 
#>  [6,] ...  ... 
#>  [7,]  70  651 
#>  [8,]  68  638 
#>  [9,]  65  625 
#> [10,]  65  611 
#> [11,]  65  597 
#> 
#> $yoichi
#> <xy [123 x 2]>
#>       [,1] [,2]
#>  [1,] 119  384 
#>  [2,] 119  369 
#>  [3,] 119  355 
#>  [4,] 119  340 
#>  [5,] 119  325 
#>  [6,] ...  ... 
#>  [7,] 118  457 
#>  [8,] 118  450 
#>  [9,] 118  435 
#> [10,] 118  421 
#> [11,] 119  406 
#> 
#> attr(,"class")
#> [1] "out"  "coo"  "list"

# Tibble
coo_translate(bot, x_val = 50, y_val = 50)
#> # A tibble: 40 × 3
#>    coo       type   dummy
#>    <out>     <fct>  <fct>
#>  1 (138 x 2) whisky a    
#>  2 (168 x 2) whisky a    
#>  3 (189 x 2) whisky a    
#>  4 (129 x 2) whisky a    
#>  5 (152 x 2) whisky a    
#>  6 (161 x 2) whisky a    
#>  7 (124 x 2) whisky a    
#>  8 (126 x 2) whisky a    
#>  9 (183 x 2) whisky a    
#> 10 (193 x 2) whisky a    
#> # ℹ 30 more rows