[英]Converting latitude and longitude
以下数据框代表纬度和经度的十进制坐标。 我希望使用+和-来显示小数度是北,南,东还是西(在“纬度和经度”列中)。
因此,如果十进制度为N,则纬度为正。...如果十进制度为S,则纬度为负。...如果十进制度为E,则经度为正;如果十进制度为E,则经度为负。小数度为W。
a <- c(1:3)
Lat <- c(54.5, 55.2, 10.1)
NS <- c("N","N","S")
Long <- c(1.2, 0.5, 1.3)
EW <- c("W","E","W")
df1 <- data.frame(a,Lat,NS,Long,EW)
我将如何在R中执行此操作? 任何建议将不胜感激。
使用ifelse
:
df1 <- within(df1, {
Lat <- ifelse(NS=="N", Lat, -Lat)
Long <- ifelse(EW=="E", Long, -Long)
})
df1
a Lat NS Long EW
1 1 54.5 N -1.2 W
2 2 55.2 N 0.5 E
3 3 -10.1 S -1.3 W
我使用within()
减少了输入量。
非常简单的ifelse
:
df2 <- data.frame(a=df1$a, Lat=ifelse(df1$NS=="N", df1$Lat, -1*df1$Lat),
Long=ifelse(df1$EW=="E", df1$Long, -1*df1$Long))
df2
a Lat Long
1 1 54.5 -1.2
2 2 55.2 0.5
3 3 -10.1 -1.3
请参阅NMEA转换: http : //www.nmea.org/,但是您可以使用for()方法来获得该位置
Alguémpoderia me ajudar naconstruçãodesseexercícioeleétodo em algoritmo:
最适合进行纵向,纵向和纵向学习的老师,可以向宠物提供指导,也可以向宠物发出警告,例如: Algoritmo的Pode ser utilizado ferramentas。
征求意见稿。
algoritmo“Média” var Media,P1,P2,P3,P4:实际值Escreva(“ Digite a Longitude:”)Leia(P1)Escreva(“ Digite a Latitude:”)Leia(P2)
Media <- (P1 * P2) / 180
Se (Media >= 100) entao
Escreval (Media," cachorro na zonal segura")
Senao
Escreval (Media," cachorro fora da zona de segurança")
Fimse
Fimalgoritmo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.