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) としているようですが、これはよくないと思います。 日本付近でかなりおおざっぱに使うとしても赤道半径ではない方がいいと思います。 じゃあどういうプログラムがいいかというと...ごめんなさい。後で。 |