this function parses coordinates from DMS to decimal degrees
Value
data frame(/tibble) with coordinates unambiguously labeled as being in both degrees, minutes, seconds (_dms) and decimal degrees (_dd).
Examples
coords <- data.frame(
input_longitude = runif(15, min = -120, max = -100),
input_latitude = runif(15, min = 35, max = 48)
)
coords_formatted <- dms2dd( coords )
#> argument to `lat` not found. detected and using: input_latitude
#> argument to `long` not found. detected and using: input_longitude
head(coords_formatted)
#> longitude_dd latitude_dd latitude_dms longitude_dms
#> 1 -106.79281 38.28896 N 38°17'20 W 106°47'34
#> 2 -109.76417 46.94444 N 46°56'40 W 109°45'51
#> 3 -103.28895 46.27555 N 46°16'32 W 103°17'20
#> 4 -105.82438 38.23100 N 38°13'52 W 105°49'28
#> 5 -102.51588 40.23746 N 40°14'15 W 102°30'57
#> 6 -119.77041 45.00519 N 45°0'19 W 119°46'13
colnames(coords_formatted)
#> [1] "longitude_dd" "latitude_dd" "latitude_dms" "longitude_dms"
rm(coords, coords_formatted)
# example with tibble input
data(uncleaned_collection_examples)
dms2dd(uncleaned_collection_examples) |>
dplyr::select(latitude_dd, longitude_dd, latitude_dms, longitude_dms)
#> argument to `lat` not found. detected and using: Latitude
#> argument to `long` not found. detected and using: Longitude
#> latitude_dd longitude_dd latitude_dms longitude_dms
#> 1 39.28469 -119.73222 N 39°17'5 W 119°43'56
#> 2 39.28396 -119.73159 N 39°17'2 W 119°43'54
#> 3 39.28396 -119.73159 N 39°17'2 W 119°43'54
#> 4 39.28417 -119.73362 N 39°17'3 W 119°44'1
#> 5 39.32677 -119.78537 N 39°19'36 W 119°47'7
#> 6 39.32677 -119.78537 N 39°19'36 W 119°47'7
#> 7 39.32677 -119.78537 N 39°19'36 W 119°47'7
#> 8 39.32677 -119.78537 N 39°19'36 W 119°47'7
#> 9 39.32677 -119.78537 N 39°19'36 W 119°47'7
#> 10 39.32677 -119.78537 N 39°19'36 W 119°47'7
#> 11 39.32677 -119.78537 N 39°19'36 W 119°47'7
#> 12 39.32789 -119.76939 N 39°19'40 W 119°46'10
#> 13 39.32789 -119.76939 N 39°19'40 W 119°46'10
#> 14 39.51740 -119.79742 N 39°31'3 W 119°47'51
#> 15 43.52120 -119.28640 N 43°31'16 W 119°17'11
#> 16 43.52120 -119.28640 N 43°31'16 W 119°17'11
#> 17 43.52120 -119.28640 N 43°31'16 W 119°17'11
#> 18 43.52120 -119.28640 N 43°31'16 W 119°17'11
#> 19 43.52120 -119.28640 N 43°31'16 W 119°17'11
#> 20 43.52120 -119.28640 N 43°31'16 W 119°17'11
#> 21 43.49020 -119.79070 N 43°29'25 W 119°47'27
#> 22 43.49020 -119.79070 N 43°29'25 W 119°47'27
#> 23 43.49020 -119.79070 N 43°29'25 W 119°47'27
#> 24 43.49020 -119.79070 N 43°29'25 W 119°47'27
#> 25 43.49020 -119.79070 N 43°29'25 W 119°47'27
#> 26 43.50050 -119.78434 N 43°30'2 W 119°47'4
#> 27 43.50050 -119.78434 N 43°30'2 W 119°47'4
#> 28 43.53852 -119.63960 N 43°32'19 W 119°38'23
#> 29 43.53461 -119.38468 N 43°32'5 W 119°23'5
#> 30 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 31 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 32 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 33 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 34 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 35 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 36 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 37 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 38 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 39 43.02470 -118.63331 N 43°1'29 W 118°37'60
#> 40 42.69267 -118.94006 N 42°41'34 W 118°56'24
#> 41 42.69267 -118.94006 N 42°41'34 W 118°56'24
#> 42 42.69267 -118.94006 N 42°41'34 W 118°56'24
#> 43 42.69267 -118.94006 N 42°41'34 W 118°56'24
#> 44 42.66514 -118.91850 N 42°39'55 W 118°55'7
#> 45 42.69267 -118.94006 N 42°41'34 W 118°56'24
#> 46 42.69198 -118.93668 N 42°41'31 W 118°56'12
#> 47 42.98307 -118.07864 N 42°58'59 W 118°4'43
#> 48 42.98307 -118.07864 N 42°58'59 W 118°4'43
#> 49 42.98307 -118.07864 N 42°58'59 W 118°4'43
#> 50 42.98307 -118.07864 N 42°58'59 W 118°4'43
#> 51 42.94320 -118.12275 N 42°56'36 W 118°7'22
#> 52 42.94450 -118.12047 N 42°56'40 W 118°7'14
#> 53 43.94420 -118.12047 N 43°56'39 W 118°7'14
#> 54 42.99080 -118.07760 N 42°59'27 W 118°4'39
#> 55 39.29750 -120.50498 N 39°17'51 W 120°30'18
#> 56 39.29750 -120.50498 N 39°17'51 W 120°30'18
#> 57 39.29750 -120.50498 N 39°17'51 W 120°30'18
#> 58 39.29750 -120.50498 N 39°17'51 W 120°30'18
#> 59 39.30425 -120.50950 N 39°18'15 W 120°30'34
#> 60 39.31052 -120.51647 N 39°18'38 W 120°30'59
#> 61 39.31052 -120.51647 N 39°18'38 W 120°30'59
#> 62 39.31052 -120.51647 N 39°18'38 W 120°30'59
#> 63 39.31052 -120.51647 N 39°18'38 W 120°30'59
#> 64 38.38033 -116.06490 N 38°22'49 W 116°3'54
#> 65 38.38033 -116.06490 N 38°22'49 W 116°3'54
#> 66 38.38033 -116.06490 N 38°22'49 W 116°3'54
#> 67 38.38033 -116.06490 N 38°22'49 W 116°3'54
#> 68 38.38033 -116.06490 N 38°22'49 W 116°3'54
#> 69 38.38033 -116.06490 N 38°22'49 W 116°3'54
#> 70 38.47370 -116.05509 N 38°28'25 W 116°3'18
#> 71 38.48027 -116.09800 N 38°28'49 W 116°5'53
#> 72 38.48027 -116.09800 N 38°28'49 W 116°5'53
#> 73 38.35795 -116.23762 N 38°21'29 W 116°14'15
#> 74 38.35795 -116.23762 N 38°21'29 W 116°14'15
#> 75 38.35795 -116.23762 N 38°21'29 W 116°14'15
#> 76 38.35795 -116.23762 N 38°21'29 W 116°14'15
#> 77 39.26829 -117.68883 N 39°16'6 W 117°41'20
#> 78 39.26829 -117.68883 N 39°16'6 W 117°41'20
#> 79 39.26829 -117.68883 N 39°16'6 W 117°41'20
#> 80 39.26829 -117.68883 N 39°16'6 W 117°41'20
#> 81 39.26829 -117.68883 N 39°16'6 W 117°41'20
#> 82 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 83 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 84 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 85 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 86 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 87 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 88 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 89 39.24000 -117.77788 N 39°14'24 W 117°46'40
#> 90 39.24248 -117.78432 N 39°14'33 W 117°47'4
#> 91 39.24248 -117.78432 N 39°14'33 W 117°47'4
#> 92 39.24248 -117.78432 N 39°14'33 W 117°47'4
#> 93 39.64643 -113.86204 N 39°38'47 W 113°51'43
#> 94 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 95 39.26177 -117.72002 N 39°15'42 W 117°43'12
#> 96 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 97 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 98 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 99 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 100 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 101 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 102 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 103 42.67298 -118.69107 N 42°40'23 W 118°41'28
#> 104 42.75810 -118.72030 N 42°45'29 W 118°43'13
#> 105 42.75810 -118.72030 N 42°45'29 W 118°43'13
#> 106 42.75810 -118.72030 N 42°45'29 W 118°43'13
#> 107 41.53350 -115.69877 N 41°32'1 W 115°41'56
#> 108 41.53350 -115.69877 N 41°32'1 W 115°41'56
#> 109 41.53350 -115.69877 N 41°32'1 W 115°41'56
#> 110 41.69690 -115.49667 N 41°41'49 W 115°29'48
#> 111 42.67340 -118.69429 N 42°40'24 W 118°41'39
#> 112 42.67340 -118.69429 N 42°40'24 W 118°41'39
#> 113 42.67340 -118.69429 N 42°40'24 W 118°41'39
#> 114 42.67340 -118.69429 N 42°40'24 W 118°41'39
#> 115 42.67340 -118.69429 N 42°40'24 W 118°41'39
#> 116 42.67340 -118.69429 N 42°40'24 W 118°41'39
#> 117 38.32676 -116.20948 N 38°19'36 W 116°12'34
