gpt4 book ai didi

r - 如何在文本文件中找到最近的纬度和经度?

转载 作者:行者123 更新时间:2023-12-01 07:19:33 24 4
gpt4 key购买 nike

我有一个文本文件包含如下信息:

   Grid Point Index, Latitude, Longitude, Cell
167, 0.000000, 9.432301, 1350
169, 0.000000, 9.544590, 1350
171, 0.000000, 9.656878, 1350
173, 0.000000, 9.769168, 1350
175, 0.000000, 9.881457, 1350
177, 0.000000, 9.993747, 1350
179, 0.000000, 10.106036, 1386
181, 0.000000, 10.218326, 1386

我想找出这个经纬度对应的网格点和单元格
:0.000000, 11.902665。
好吧,我可以手动完成,但这需要很多时间。
肯定没有与我的输入相对应的精确坐标,所以我希望文件中最接近输入的坐标。
谁能帮我建立这个功能
   insert lat and long

然后会在文件中找到最近的lat-long和对应的网格点索引和单元格

读取文件
      das= read.table("C:\\Users\\lonlatnter.txt", sep=",",header=TRUE)

最佳答案

gdist Imap 包中的函数计算 Great-circle distance .尝试这个:

install.packages("Imap")
library("Imap")

#Dummy data
dat <- read.table(text=" Grid Point Index, Latitude, Longitude, Cell
167, 0.000000, 9.432301, 1350
169, 0.000000, 9.544590, 1350
171, 0.000000, 9.656878, 1350
173, 0.000000, 9.769168, 1350
175, 0.000000, 9.881457, 1350
177, 0.000000, 9.993747, 1350
179, 0.000000, 10.106036, 1386
181, 0.000000, 10.218326, 1386", header=T, sep=",")

#MyPoint
myLatitude <- 0.000000
myLongitude <- 11.902665

#gdist Geodesic distance (great circle distance) between points
dat$Dist <- gdist(lat.1=dat$Latitude,
lon.1=dat$Longitude,
lat.2=myLatitude,
lon.2=myLongitude)

#Output the shortest distance - Min
dat[dat$Dist == min(dat$Dist),]

#Output
# Grid.Point.Index Latitude Longitude Cell Dist
#8 181 0 10.21833 1386 101.2418

关于r - 如何在文本文件中找到最近的纬度和经度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17275825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com