Smooth a shape using local averaging.
Usage
coo_smooth(x, ..., .cols = NULL, .ldk_col = NULL)
coo_smooth_fixed(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
xis a tibble. IfNULL, automatically detects columns containing coo objects.- n
Integer. Number of smoothing iterations. Default is 0 (no smoothing).
Value
If
xis a single matrix: returns the smoothed matrixIf
xis a list: returns a list of smoothed matricesIf
xis a tibble: returns the tibble with specified coo columns smoothed
Details
coo_smooth(): smooth all pointscoo_smooth_fixed(): smooth while keeping first and last points fixed
See also
coo_sample() for resampling
Examples
# Smooth with 3 iterations
coo_smooth(shapes$cat, n = 3)
#> <xy [120 x 2]>
#> [,1] [,2]
#> [1,] 200.125 60.188
#> [2,] 199.703 57.984
#> [3,] 201.422 55.281
#> [4,] 204.078 52.172
#> [5,] 205.234 48.547
#> [6,] ... ...
#> [7,] 218.734 46.969
#> [8,] 213.516 49.188
#> [9,] 208.828 53.391
#> [10,] 205.047 57.891
#> [11,] 202.141 60.500
# Smooth list
coo_smooth(bot$coo, n = 5)
#> $brahma
#> <xy [138 x 2]>
#> [,1] [,2]
#> [1,] 37.350 564.976
#> [2,] 39.165 545.177
#> [3,] 41.164 526.315
#> [4,] 43.400 508.279
#> [5,] 45.904 490.620
#> [6,] ... ...
#> [7,] 36.957 659.704
#> [8,] 34.800 641.692
#> [9,] 34.165 623.579
#> [10,] 34.615 604.816
#> [11,] 35.771 585.146
#>
#> $caney
#> <xy [168 x 2]>
#> [,1] [,2]
#> [1,] 54.796 538.779
#> [2,] 53.859 523.379
#> [3,] 53.573 508.822
#> [4,] 53.607 494.936
#> [5,] 53.741 481.303
#> [6,] ... ...
#> [7,] 76.079 612.488
#> [8,] 69.492 598.846
#> [9,] 63.982 584.830
#> [10,] 59.724 570.123
#> [11,] 56.691 554.615
#>
#> $chimay
#> <xy [189 x 2]>
#> [,1] [,2]
#> [1,] 48.996 335.801
#> [2,] 49.080 326.590
#> [3,] 49.345 318.061
#> [4,] 49.657 310.068
#> [5,] 49.944 302.254
#> [6,] ... ...
#> [7,] 58.663 379.547
#> [8,] 55.168 371.377
#> [9,] 52.332 363.248
#> [10,] 50.375 354.636
#> [11,] 49.329 345.361
#>
#> $corona
#> <xy [129 x 2]>
#> [,1] [,2]
#> [1,] 93.497 429.836
#> [2,] 91.741 414.083
#> [3,] 90.997 399.106
#> [4,] 90.834 384.759
#> [5,] 90.886 370.490
#> [6,] ... ...
#> [7,] 115.445 504.142
#> [8,] 110.737 489.966
#> [9,] 105.604 475.924
#> [10,] 100.684 461.361
#> [11,] 96.515 445.868
#>
#> $deusventrue
#> <xy [152 x 2]>
#> [,1] [,2]
#> [1,] 74.992 484.750
#> [2,] 69.247 470.236
#> [3,] 63.674 456.189
#> [4,] 58.507 442.570
#> [5,] 53.925 429.413
#> [6,] ... ...
#> [7,] 99.813 555.055
#> [8,] 95.493 542.069
#> [9,] 90.907 528.614
#> [10,] 85.969 514.413
#> [11,] 80.639 499.624
#>
#> $duvel
#> <xy [161 x 2]>
#> [,1] [,2]
#> [1,] 62.144 319.137
#> [2,] 61.436 307.673
#> [3,] 61.021 297.792
#> [4,] 60.680 289.144
#> [5,] 60.248 280.508
#> [6,] ... ...
#> [7,] 75.466 369.268
#> [8,] 70.875 359.967
#> [9,] 67.376 351.113
#> [10,] 64.945 341.791
#> [11,] 63.279 331.025
#>
#> $franziskaner
#> <xy [124 x 2]>
#> [,1] [,2]
#> [1,] 54.187 442.879
#> [2,] 54.036 424.209
#> [3,] 54.024 407.046
#> [4,] 54.109 391.222
#> [5,] 54.344 375.981
#> [6,] ... ...
#> [7,] 61.282 529.239
#> [8,] 58.924 513.632
#> [9,] 57.015 497.596
#> [10,] 55.566 480.539
#> [11,] 54.639 462.105
#>
#> $grimbergen
#> <xy [126 x 2]>
#> [,1] [,2]
#> [1,] 43.328 408.102
#> [2,] 41.475 392.056
#> [3,] 40.523 376.867
#> [4,] 40.157 362.343
#> [5,] 40.123 347.908
#> [6,] ... ...
#> [7,] 72.017 484.842
#> [8,] 63.832 470.275
#> [9,] 56.525 455.711
#> [10,] 50.684 440.573
#> [11,] 46.338 424.550
#>
#> $guiness
#> <xy [183 x 2]>
#> [,1] [,2]
#> [1,] 68.818 388.123
#> [2,] 68.938 377.826
#> [3,] 68.989 367.686
#> [4,] 69.009 357.394
#> [5,] 69.045 347.023
#> [6,] ... ...
#> [7,] 73.737 439.987
#> [8,] 71.256 430.416
#> [9,] 69.611 420.146
#> [10,] 68.833 409.494
#> [11,] 68.694 398.735
#>
#> $hoegardeen
#> <xy [193 x 2]>
#> [,1] [,2]
#> [1,] 43.181 548.309
#> [2,] 41.542 533.277
#> [3,] 40.577 519.279
#> [4,] 40.153 506.119
#> [5,] 40.025 493.344
#> [6,] ... ...
#> [7,] 57.827 618.268
#> [8,] 54.371 605.923
#> [9,] 51.109 592.936
#> [10,] 48.104 578.935
#> [11,] 45.423 563.853
#>
#> $jupiler
#> <xy [156 x 2]>
#> [,1] [,2]
#> [1,] 56.902 520.062
#> [2,] 55.274 503.621
#> [3,] 54.427 488.389
#> [4,] 54.100 474.141
#> [5,] 54.004 460.346
#> [6,] ... ...
#> [7,] 74.247 596.986
#> [8,] 69.995 583.183
#> [9,] 66.059 568.902
#> [10,] 62.481 553.604
#> [11,] 59.361 537.100
#>
#> $kingfisher
#> <xy [182 x 2]>
#> [,1] [,2]
#> [1,] 71.942 387.563
#> [2,] 71.378 375.934
#> [3,] 71.112 365.224
#> [4,] 71.021 355.482
#> [5,] 71.004 346.728
#> [6,] ... ...
#> [7,] 79.855 438.587
#> [8,] 77.975 430.807
#> [9,] 76.053 421.790
#> [10,] 74.297 411.302
#> [11,] 72.903 399.642
#>
#> $latrappe
#> <xy [136 x 2]>
#> [,1] [,2]
#> [1,] 25.616 393.773
#> [2,] 25.387 378.812
#> [3,] 25.227 364.894
#> [4,] 25.227 351.740
#> [5,] 25.388 338.561
#> [6,] ... ...
#> [7,] 31.008 465.846
#> [8,] 27.893 451.787
#> [9,] 26.473 438.224
#> [10,] 25.991 424.199
#> [11,] 25.810 409.227
#>
#> $lindemanskriek
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] 61.974 430.691
#> [2,] 59.100 418.211
#> [3,] 56.827 406.709
#> [4,] 55.251 396.065
#> [5,] 54.333 385.756
#> [6,] ... ...
#> [7,] 77.982 488.801
#> [8,] 74.955 478.420
#> [9,] 71.881 467.770
#> [10,] 68.636 456.242
#> [11,] 65.250 443.669
#>
#> $nicechouffe
#> <xy [146 x 2]>
#> [,1] [,2]
#> [1,] 82.876 364.122
#> [2,] 80.562 351.401
#> [3,] 78.662 339.496
#> [4,] 77.229 328.536
#> [5,] 76.231 318.125
#> [6,] ... ...
#> [7,] 97.167 421.018
#> [8,] 93.956 410.753
#> [9,] 91.002 400.359
#> [10,] 88.207 389.230
#> [11,] 85.477 377.012
#>
#> $pecheresse
#> <xy [129 x 2]>
#> [,1] [,2]
#> [1,] 65.859 498.704
#> [2,] 63.016 480.864
#> [3,] 61.087 463.774
#> [4,] 59.820 447.247
#> [5,] 58.955 430.854
#> [6,] ... ...
#> [7,] 86.427 583.438
#> [8,] 82.217 567.370
#> [9,] 77.991 551.248
#> [10,] 73.717 534.492
#> [11,] 69.551 516.846
#>
#> $sierranevada
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] 60.914 349.847
#> [2,] 60.980 338.941
#> [3,] 60.998 328.810
#> [4,] 61.000 319.088
#> [5,] 61.000 309.548
#> [6,] ... ...
#> [7,] 63.436 401.861
#> [8,] 61.747 392.754
#> [9,] 60.923 382.867
#> [10,] 60.705 372.342
#> [11,] 60.787 361.221
#>
#> $tanglefoot
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] 47.702 370.016
#> [2,] 47.895 359.086
#> [3,] 48.118 348.430
#> [4,] 48.366 338.094
#> [5,] 48.622 328.297
#> [6,] ... ...
#> [7,] 53.092 422.992
#> [8,] 50.441 413.625
#> [9,] 48.787 403.555
#> [10,] 47.921 392.633
#> [11,] 47.640 381.273
#>
#> $tauro
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] 56.887 519.264
#> [2,] 55.405 504.773
#> [3,] 54.531 491.235
#> [4,] 54.144 478.496
#> [5,] 54.022 466.182
#> [6,] ... ...
#> [7,] 71.304 586.656
#> [8,] 67.703 574.666
#> [9,] 64.382 562.173
#> [10,] 61.445 548.721
#> [11,] 58.933 534.219
#>
#> $westmalle
#> <xy [141 x 2]>
#> [,1] [,2]
#> [1,] 71.579 397.265
#> [2,] 69.657 384.100
#> [3,] 68.203 371.283
#> [4,] 67.184 358.631
#> [5,] 66.545 346.000
#> [6,] ... ...
#> [7,] 86.438 462.937
#> [8,] 83.128 450.288
#> [9,] 79.862 437.435
#> [10,] 76.769 424.244
#> [11,] 73.970 410.751
#>
#> $amrut
#> <xy [191 x 2]>
#> [,1] [,2]
#> [1,] 56.998 444.770
#> [2,] 57.000 432.719
#> [3,] 57.000 421.547
#> [4,] 57.000 411.107
#> [5,] 57.000 401.010
#> [6,] ... ...
#> [7,] 56.698 500.990
#> [8,] 56.564 490.893
#> [9,] 56.735 480.453
#> [10,] 56.903 469.281
#> [11,] 56.979 457.230
#>
#> $ballantines
#> <xy [146 x 2]>
#> [,1] [,2]
#> [1,] 38.000 359.898
#> [2,] 38.000 345.508
#> [3,] 38.000 332.163
#> [4,] 38.000 319.787
#> [5,] 38.000 307.854
#> [6,] ... ...
#> [7,] 37.979 425.831
#> [8,] 37.998 413.906
#> [9,] 38.000 401.646
#> [10,] 38.000 388.643
#> [11,] 38.000 374.603
#>
#> $bushmills
#> <xy [165 x 2]>
#> [,1] [,2]
#> [1,] 71.246 461.869
#> [2,] 71.657 445.780
#> [3,] 71.902 431.837
#> [4,] 72.044 419.532
#> [5,] 72.225 407.275
#> [6,] ... ...
#> [7,] 69.453 532.985
#> [8,] 69.795 519.923
#> [9,] 70.044 507.151
#> [10,] 70.332 493.772
#> [11,] 70.753 478.552
#>
#> $chivas
#> <xy [164 x 2]>
#> [,1] [,2]
#> [1,] 36.939 440.024
#> [2,] 32.886 427.027
#> [3,] 30.615 414.411
#> [4,] 29.594 402.017
#> [5,] 29.311 389.755
#> [6,] ... ...
#> [7,] 82.518 502.956
#> [8,] 71.499 491.647
#> [9,] 60.806 479.546
#> [10,] 51.147 466.691
#> [11,] 43.062 453.364
#>
#> $dalmore
#> <xy [155 x 2]>
#> [,1] [,2]
#> [1,] 57.659 375.663
#> [2,] 50.677 360.974
#> [3,] 46.176 347.732
#> [4,] 43.714 336.319
#> [5,] 42.576 326.418
#> [6,] ... ...
#> [7,] 104.815 434.792
#> [8,] 96.709 425.896
#> [9,] 87.474 416.227
#> [10,] 77.229 404.550
#> [11,] 66.854 390.689
#>
#> $famousgrouse
#> <xy [169 x 2]>
#> [,1] [,2]
#> [1,] 98.246 316.511
#> [2,] 98.656 305.461
#> [3,] 98.891 295.889
#> [4,] 98.979 287.877
#> [5,] 98.998 280.617
#> [6,] ... ...
#> [7,] 96.649 362.331
#> [8,] 96.852 354.662
#> [9,] 97.055 347.061
#> [10,] 97.333 338.357
#> [11,] 97.753 327.952
#>
#> $glendronach
#> <xy [197 x 2]>
#> [,1] [,2]
#> [1,] 73.161 439.523
#> [2,] 73.376 426.996
#> [3,] 73.623 416.180
#> [4,] 73.828 406.734
#> [5,] 73.945 397.604
#> [6,] ... ...
#> [7,] 73.272 493.593
#> [8,] 72.780 484.278
#> [9,] 72.738 474.738
#> [10,] 72.860 464.414
#> [11,] 73.002 452.543
#>
#> $glenmorangie
#> <xy [179 x 2]>
#> [,1] [,2]
#> [1,] 53.491 523.707
#> [2,] 53.714 509.245
#> [3,] 54.110 495.790
#> [4,] 54.666 482.786
#> [5,] 55.367 469.890
#> [6,] ... ...
#> [7,] 61.326 593.486
#> [8,] 58.253 581.092
#> [9,] 55.901 567.845
#> [10,] 54.344 553.722
#> [11,] 53.606 538.840
#>
#> $highlandpark
#> <xy [169 x 2]>
#> [,1] [,2]
#> [1,] 41.999 376.277
#> [2,] 42.000 363.932
#> [3,] 42.000 352.488
#> [4,] 41.999 341.496
#> [5,] 41.990 330.654
#> [6,] ... ...
#> [7,] 41.161 435.846
#> [8,] 41.559 425.209
#> [9,] 41.816 413.889
#> [10,] 41.944 401.871
#> [11,] 41.989 389.197
#>
#> $jackdaniels
#> <xy [150 x 2]>
#> [,1] [,2]
#> [1,] 63.671 418.901
#> [2,] 63.303 403.233
#> [3,] 63.100 388.700
#> [4,] 63.021 375.085
#> [5,] 63.002 361.841
#> [6,] ... ...
#> [7,] 71.716 492.160
#> [8,] 68.503 479.129
#> [9,] 66.409 465.445
#> [10,] 65.074 450.819
#> [11,] 64.229 435.110
#>
#> $jb
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] 42.765 534.932
#> [2,] 42.665 520.333
#> [3,] 42.548 506.078
#> [4,] 42.549 492.137
#> [5,] 42.678 478.632
#> [6,] ... ...
#> [7,] 44.157 606.935
#> [8,] 42.502 593.816
#> [9,] 42.158 580.017
#> [10,] 42.406 565.264
#> [11,] 42.688 550.003
#>
#> $johnniewalker
#> <xy [168 x 2]>
#> [,1] [,2]
#> [1,] 133.011 176.508
#> [2,] 133.055 171.473
#> [3,] 133.172 166.531
#> [4,] 133.377 161.535
#> [5,] 133.623 156.512
#> [6,] ... ...
#> [7,] 132.828 202.312
#> [8,] 132.945 197.449
#> [9,] 132.989 192.289
#> [10,] 132.999 187.000
#> [11,] 133.001 181.707
#>
#> $magallan
#> <xy [141 x 2]>
#> [,1] [,2]
#> [1,] 77.868 399.683
#> [2,] 78.615 386.038
#> [3,] 79.363 373.104
#> [4,] 80.044 360.777
#> [5,] 80.623 348.861
#> [6,] ... ...
#> [7,] 75.243 463.874
#> [8,] 75.378 452.285
#> [9,] 75.812 440.162
#> [10,] 76.439 427.282
#> [11,] 77.144 413.653
#>
#> $makersmark
#> <xy [177 x 2]>
#> [,1] [,2]
#> [1,] 37.525 435.373
#> [2,] 27.732 423.418
#> [3,] 20.666 412.615
#> [4,] 16.138 402.522
#> [5,] 13.179 391.851
#> [6,] ... ...
#> [7,] 82.520 483.483
#> [8,] 75.050 475.300
#> [9,] 67.617 467.043
#> [10,] 59.055 458.026
#> [11,] 48.673 447.391
#>
#> $oban
#> <xy [179 x 2]>
#> [,1] [,2]
#> [1,] 73.622 460.061
#> [2,] 73.829 446.971
#> [3,] 73.956 434.885
#> [4,] 74.044 423.827
#> [5,] 74.171 413.286
#> [6,] ... ...
#> [7,] 73.512 519.919
#> [8,] 73.067 509.173
#> [9,] 73.006 498.229
#> [10,] 73.140 486.438
#> [11,] 73.368 473.526
#>
#> $oldpotrero
#> <xy [131 x 2]>
#> [,1] [,2]
#> [1,] 85.447 310.509
#> [2,] 77.952 299.076
#> [3,] 71.374 287.883
#> [4,] 65.991 276.844
#> [5,] 62.039 266.052
#> [6,] ... ...
#> [7,] 118.970 367.179
#> [8,] 114.434 356.717
#> [9,] 108.587 345.839
#> [10,] 101.438 334.273
#> [11,] 93.479 322.317
#>
#> $redbreast
#> <xy [177 x 2]>
#> [,1] [,2]
#> [1,] 108.163 234.343
#> [2,] 104.224 228.226
#> [3,] 101.412 222.116
#> [4,] 99.503 216.089
#> [5,] 98.277 210.214
#> [6,] ... ...
#> [7,] 136.134 261.497
#> [8,] 131.064 256.587
#> [9,] 125.305 251.595
#> [10,] 119.180 246.206
#> [11,] 113.262 240.394
#>
#> $tamdhu
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] 48.012 556.728
#> [2,] 48.601 541.847
#> [3,] 48.934 528.032
#> [4,] 49.149 515.129
#> [5,] 49.375 502.623
#> [6,] ... ...
#> [7,] 46.507 625.503
#> [8,] 45.704 613.045
#> [9,] 45.704 600.343
#> [10,] 46.294 586.766
#> [11,] 47.173 572.046
#>
#> $wildturkey
#> <xy [185 x 2]>
#> [,1] [,2]
#> [1,] 16.903 574.266
#> [2,] 17.487 557.405
#> [3,] 17.836 541.766
#> [4,] 17.968 527.150
#> [5,] 17.997 513.014
#> [6,] ... ...
#> [7,] 22.608 651.347
#> [8,] 18.978 637.815
#> [9,] 16.966 623.683
#> [10,] 16.192 608.367
#> [11,] 16.320 591.657
#>
#> $yoichi
#> <xy [123 x 2]>
#> [,1] [,2]
#> [1,] 68.829 386.756
#> [2,] 68.956 370.655
#> [3,] 69.044 355.443
#> [4,] 69.171 341.289
#> [5,] 69.377 328.022
#> [6,] ... ...
#> [7,] 68.444 460.009
#> [8,] 68.149 447.070
#> [9,] 68.186 433.619
#> [10,] 68.378 418.993
#> [11,] 68.623 403.158
#>
#> attr(,"class")
#> [1] "out" "coo" "list"
# Smooth with fixed endpoints
coo_smooth_fixed(shapes$cat, n = 3)
#> <xy [120 x 2]>
#> [,1] [,2]
#> [1,] 200.000 62.000
#> [2,] 199.828 58.406
#> [3,] 201.453 55.328
#> [4,] 204.078 52.172
#> [5,] 205.234 48.547
#> [6,] ... ...
#> [7,] 218.734 46.969
#> [8,] 213.516 49.188
#> [9,] 208.828 53.531
#> [10,] 205.047 59.062
#> [11,] 202.000 65.000
