緯度
子午線弧長の平均約40008km。
平均的な長さは
1度 約111km 1分 約1.85km 1秒 約30.9m
GRS 80楕円体表面上の代表地点
緯度00度上 1秒 約30.7m 1度 約111km
緯度35度上 1秒 約30.8m 1度 約111km
緯度90度上 1秒 約31.0m 1度 約112km
http://ja.wikipedia.org/wiki/%E7%B7%AF%E5%BA%A6#.E7.B7.AF.E5.BA.A61.E7.A7.92.E3.81.AE.E9.95.B7.E3.81.95
経度
赤道上では約40075 km 緯度90度上では0m
GRS 80地球楕円体表面上の代表的な地点における値は次のとおりである。
緯度00度上 1秒 約30.92m 1度 約111km
緯度35度上 1秒 約25.36m 1度 約92km
緯度90度上 1秒 0m 1度 0km
http://ja.wikipedia.org/wiki/%E7%B5%8C%E5%BA%A6#.E7.B5.8C.E5.BA.A61.E7.A7.92.E3.81.AE.E7.B7.AF.E7.B7.9A.E3.81.AE.E9.95.B7.E3.81.95
二地点の緯度・経度からその距離を計算する
日本は山だらけ〜 技術研究本部 報告書 第一号 平成二十一年八月十五日 公開
http://yamadarake.jp/trdi/report000001.html
・・・を、度分ように改変してみました。
dist <- function(x1, y1, x2, y2, a = 6378137.0, b = 6356752.314140,type="ddd.dddd",splitter=":"){ if(type=="ddd:mm.mm"){ xx <- as.numeric(unlist(strsplit(x1,splitter)));x1 <- xx[1]+xx[2]/60 xx <- as.numeric(unlist(strsplit(y1,splitter)));y1 <- xx[1]+xx[2]/60 xx <- as.numeric(unlist(strsplit(x2,splitter)));x2 <- xx[1]+xx[2]/60 xx <- as.numeric(unlist(strsplit(y2,splitter)));y2 <- xx[1]+xx[2]/60 } deg2rad <- function(x){ x * pi / 180 } dy <- deg2rad(y1 - y2) dx <- deg2rad(x1 - x2) my <- deg2rad((y1 + y2) / 2) e2 <- (a^2 - b^2) / a^2 Mnum <- a * (1 - e2) W <- sqrt(1 - e2 * sin(my)^2) M <- Mnum / W^3 N <- a / W d <- sqrt((dy * M)^2 + (dx * N * cos(my))^2) d } #XYそれぞれ1分ずれた時の距離のズレ(m) dist(142+(19.0/60),39+(25.5/60),142+(20.0/60),39+(26.5/60)) ("142:20.0","39:25.5","142:19.0","39:26.5",type="ddd:mm.mm",splitter=":") #1mあたり、何分か? 1/dist("142:19.0","39:25.5","142:19.0","39:26.5",type="ddd:mm.mm",splitter=":") 1/dist("142:20.0","39:25.5","142:19.0","39:25.5",type="ddd:mm.mm",splitter=":")