Converting geo coordinates from degree to decimal

后端 未结 7 881
滥情空心
滥情空心 2020-11-28 10:48

I want to convert my geographic coordinates from degrees to decimals, my data are as follows:

         lat     long
105252 30°25.264 9°01.331
105253 30°39.23         


        
相关标签:
7条回答
  • 2020-11-28 11:25

    Use the measurements package from CRAN which has a unit conversion function already so you don't need to make your own:

    x = read.table(text = "
       lat     long
    105252 30°25.264 9°01.331
    105253 30°39.237 8°10.811
    105255 31°37.760 8°06.040
    105258 31°41.190 8°06.557
    105259 31°41.229 8°06.622
    105260 31°38.891 8°06.281",
    header = TRUE, stringsAsFactors = FALSE)
    

    Once your data.frame is set up then:

    # change the degree symbol to a space
    x$lat = gsub('°', ' ', x$lat)
    x$long = gsub('°', ' ', x$long)
    
    # convert from decimal minutes to decimal degrees
    x$lat = measurements::conv_unit(x$lat, from = 'deg_dec_min', to = 'dec_deg')
    x$long = measurements::conv_unit(x$long, from = 'deg_dec_min', to = 'dec_deg')
    

    Resulting in the end product:

                        lat             long
    105252 30.4210666666667 9.02218333333333
    105253         30.65395 8.18018333333333
    105255 31.6293333333333 8.10066666666667
    105258          31.6865 8.10928333333333
    105259         31.68715 8.11036666666667
    105260 31.6481833333333 8.10468333333333
    
    0 讨论(0)
提交回复
热议问题