新しく発言する EXIT インデックスへ
2地点間の距離

  2地点間の距離 大久保 2004/02/14 21:07:31 
  !続き 大久保 2004/02/14 21:19:08 
   └書き忘れ 大久保 2004/02/14 21:22:18 
    └距離の定義が... 青木太一 2004/02/14 21:49:25 

  2地点間の距離 大久保 2004/02/14 21:07:31  ツリーへ

2地点間の距離 返事を書く
大久保 2004/02/14 21:07:31
YAHOO!JAPAN の地図サービスを使って2地点間の距離を
調べるプログラムを作りました。



let b$="."
let sekidor=6378.416!km
let kyokur=6356.766!km
let sekidol=sekidor*2*pi
let kyokul=kyokur*2*pi

let idof=pos(a$,"=",1)
let idod=pos(a$,b$,29)
let idom=pos(a$,b$,idod+1)
let idos=pos(a$,b$,idom+1)
let idoe=pos(a$,"&",1)
let kdof=pos(a$,"=",idoe)
let kdod=pos(a$,b$,idos+1)
let kdom=pos(a$,b$,kdod+1)
let kdos=pos(a$,b$,kdom+1)
let kdoe=pos(a$,"&",kdos)
!print val(a$(idof+1:idod-1))print val(a$(idod+1:idom-1))print val(a$(idom+1:idoe-1))
!print val(a$(kdof+1:kdod-1))print val(a$(kdod+1:kdom-1))print val(a$(kdom+1:kdoe-1))
let ido1=val(a$(idof+1:idod-1))+val(a$(idod+1:idom-1))/60+val(a$(idom+1:idoe-1))/3600
let kdo1=val(a$(kdof+1:kdod-1))+val(a$(kdod+1:kdom-1))/60+val(a$(kdom+1:kdoe-1))/3600

  !続き 大久保 2004/02/14 21:19:08  ツリーへ

Re: 2地点間の距離 返事を書く
大久保 2004/02/14 21:19:08
!続き
let idof=pos(c$,"=",1)
let idod=pos(c$,b$,29)
let idom=pos(c$,b$,idod+1)
let idos=pos(c$,b$,idom+1)
let idoe=pos(c$,"&",1)
let kdof=pos(c$,"=",idoe)
let kdod=pos(c$,b$,idos+1)
let kdom=pos(c$,b$,kdod+1)
let kdos=pos(c$,b$,kdom+1)
let kdoe=pos(c$,"&",kdos)
!print val(c$(idof+1:idod-1))print val(c$(idod+1:idom-1))print val(c$(idom+1:idoe-1))
!print val(c$(kdof+1:kdod-1))print val(c$(kdod+1:kdom-1))print val(c$(kdom+1:kdoe-1))
let ido2=val(c$(idof+1:idod-1))+val(c$(idod+1:idom-1))/60+val(c$(idom+1:idoe-1))/3600
let kdo2=val(c$(kdof+1:kdod-1))+val(c$(kdod+1:kdom-1))/60+val(c$(kdom+1:kdoe-1))/3600

print ido1;kdo1
print ido2;kdo2

let idosa=ido1-ido2
let kdosa=kdo1-kdo2
let distance1_2=sqr((kyokul/360*idosa)^2+(sekidol/360*kdosa)^2)
print distance1_2;"km"
end



http://map.yahoo.co.jp/prefmap/index.html
などで調べたい地点を画面に表示させると、
http://map.yahoo.co.jp/pl?nl=35.40.22.042&el=139.44.53.196&la=1&sc=1&skey=%B9%F1%B2%F1%B5%C4%BB%F6%C6%B2&CE.x=246&CE.y=283(国会議事堂)
http://map.yahoo.co.jp/pl?nl=35.40.40.507&el=139.46.12.213&la=1&fi=1&skey=%c5%ec%b5%fe%b1%d8&sc=3(東京駅)
のように、URLに緯度と経度の情報が含まれています。
このプログラムではURLをコピペで入力すると、その
情報を元に2地点間の距離を計算します。

※地図の精度がとてもよいとは言えないので、計算結果も
それなりの値になります。あくまでも目安です^^;


   └書き忘れ 大久保 2004/02/14 21:22:18  ツリーへ

Re: !続き 返事を書く
大久保 2004/02/14 21:22:18
書き忘れ
INPUT PROMPT "地点@のURL":a$
INPUT PROMPT "地点AのURL":c$
を1行目に追加してください 

    └距離の定義が... 青木太一 2004/02/14 21:49:25  ツリーへ

Re: 書き忘れ 返事を書く
青木太一 2004/02/14 21:49:25
距離の定義が...

おもしろいですね。
ただ、距離の定義を
距離=sqr((極半径*緯度差)^2+(赤道半径*経度差)^2)
としているようですが、これはよくないと思います。
日本付近でかなりおおざっぱに使うとしても赤道半径ではない方がいいと思います。

じゃあどういうプログラムがいいかというと...ごめんなさい。後で。


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。