(1)インプットに住所、アウトプットに径度、緯度を実現するサイト、またはプロクラム、ASPを紹介ください


(2)二地点の径度、緯度情報から二点間の距離をメートル単位で算出する式を教えてください。
例題:池袋駅からサンシャイン60までの距離を各地点径度、緯度を基に求めよ

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/01/06 19:46:41
  • 終了:--

回答(5件)

id:osarivan No.1

osarivan回答回数1511ベストアンサー獲得回数32005/01/06 19:55:43

http://www.hatena.ne.jp/1090378478

人力検索はてな - ある住所(東京23区でOK)を入力すると、その場所の緯度・経度がわかるようなサイトはないでしょうか?ソフトウェアではありそうですが、できればWebサイトで。どうぞよろ..

インプットに住所、アウトプットに径度、緯度を実現するサイト

前出です。

http://www.hatena.ne.jp/1090387555

人力検索はてな - ある2地点においてそれぞれ緯度と経度が分かっている場合、その2地点の距離はどのように計算すれば出るでしょうか?例えば「北緯35.50.20.100東経139.40.10.200」と「北..

二地点の径度、緯度情報から二点間の距離をメートル単位で算出する式

前出です。

id:Blank No.2

Blank回答回数57ベストアンサー獲得回数02005/01/06 20:13:46

ポイント10pt

http://www.hatena.ne.jp/awindow?qid=1105008401

awindowさんのプロフィール - はてな

国土地理院のこのサイトから世界測地系による緯度経度が得られます。

経緯度計算についてはここに書いてあります。

id:r8820004

具体的にどなたか計算していただけますか?

池袋駅:nl=35.43.36.491/el=139.42.51.509

サンシャイン60:nl=35.43.32.053/el=139.43.21.266

YAHOO!MAPでは、

(1)住所などから径度・緯度を出した後、

(2)径度・緯度と縮尺を基に地図画像を出力

(3)地図画像をクリックしたx,y情報を基に径度・緯度を算出

(4)径度・緯度と縮尺を基に地図画像を出力

このようなことをしていると思われますが、

どういった計算をしているのか教えて下さい

2005/01/06 23:48:48
id:zizz_walla No.3

zizz_walla回答回数121ベストアンサー獲得回数02005/01/07 01:01:15

ここには、経度緯度から距離を計算するVBのサンプルがあります。(少し精度が落ちますが)

にあるソースの

Option Explicit

の下に

Sub main()

Dim Kyori#, Houi#

GetKyoriHoui 354336, 1394251, 354332, 1394321, Kyori#, Houi#

MsgBox Str(Kyori#) + ” km”

End Sub

とメイン関数を実装し実行した結果、およそ0.78km という結果となりました。

WordかExcelをお持ちなら実際に動かしてみることができます。

電子地図帳Z[zi:]では距離や面積を計測することができます。このソフトで上記2地点の距離を計測した結果、760m という結果が得られました。

id:osarivan No.4

osarivan回答回数1511ベストアンサー獲得回数32005/01/07 13:48:44

ポイント30pt

http://vldb.gsi.go.jp/sokuchi/surveycalc/bl2stf.html

測量計算(距離と方位角の計算)

計算結果

緯度経度の入力値 楕円体 GRS80

出発点 北緯 35°43′36.4910″

東経 139°42′51.5090″

到着点 北緯 35°43′32.0530″

東経 139°43′21.2660″

距離と方位角 測地線長 760.252(m)

方位角 出発点→到着点 100°21′44.86″

到着点→出発点 280°22′02.24″

760.252mってことですか。。。

id:zizz_walla No.5

zizz_walla回答回数121ベストアンサー獲得回数02005/01/09 00:44:26

ポイント60pt

住所から緯度経度の対応データは国土交通省国土計画局の街区レベル位置参照情報ダウンロードサービスから取得することができます。番地レベルで緯度経度を知ることができます。

http://www.hatena.ne.jp/1105008401#

(1)インプットに住所、アウトプットに径度、緯度を実現するサイト、またはプロクラム、ASPを紹介ください (2)二地点の径度、緯度情報から二点間の距離をメートル単位で算出.. - 人力検索はてな

2回目の回答ですみません。前回回答した座標指定が間違っていました。緯度経度指定できるように修正しました。

この結果、池袋駅からサンシャイン60までの直線距離は930mとなりました。以下VBAのソースです。

’ From FLand

’(C) Yobito Kayanuma 1996-2004 All rights reserved

’Created: April 12, 1996

Private Const mATN1P45 = 0.0174533 ’atn(1)/45

Private Const ER = 6378.14

Private Const PI = 3.14159265358979

’LHT座標値例

’北緯36度30分 → 365000

’南緯40度45分 → - 407500

’北緯136度30分 → 1365000

’南緯140度45分 → -1407500

Option Explicit

Sub main()

Dim Mypx&, Mypy&, Topx&, Topy&, Kyori#, Houi#

’池袋駅:nl=35.43.36.491/el=139.42.51.509

Mypx& = lht(35, 43, 36.491) ’位置1経度

Mypy& = lht(139, 42, 51.509) ’位置2緯度

’サンシャイン60:nl=35.43.32.053/el=139.43.21.266

Topx& = lht(35, 43, 32.053) ’位置2経度

Topy& = lht(139, 43, 21.266) ’位置2緯度

’距離と方位の計算

GetKyoriHoui Mypx&, Mypy&, Topx&, Topy&, Kyori#, Houi#

MsgBox Str(Kyori# * 1000) + ”m”

End Sub

’度分秒をLHT座標に変換する

Function lht(dig#, min#, sec#)

’dig 度

’min 分

’sec 秒

lht = (dig# + (min# / 60#) + (sec# / 3600#)) * 10000#

End Function

’2点の位置を指定して距離と方位を求める。

Public Sub GetKyoriHoui(ByVal Mypx&, ByVal Mypy&, ByVal Topx&, ByVal Topy&, Kyori#, Houi#)

’Mypx 位置1経度 Mypy 位置2緯度 LHT座標

’Topx 位置2経度 Topy 位置2緯度 LHT座標

’Kyori 計算結果距離 km Houi 計算結果方位 度

Dim xx#, ram#, sig#, ssig#

Dim mx#, my#, tx#, ty#

On Error GoTo getkher

’2点の位置を設定

mx = Mypx

tx = Topx

my = Mypy

ty = Topy

If mx = tx And my = ty Then ’010711

Kyori = 0

Houi = 0

Exit Sub

End If

’ラジアン変換

mx = mx * PI / 1800000

my = my * PI / 1800000

tx = tx * PI / 1800000

ty = ty * PI / 1800000

’距離を求める

ram = tx - mx

xx = Sin(my) * Sin(ty) + Cos(my) * Cos(ty) * Cos(ram)

If xx = -1# Then

sig = PI

ElseIf xx = 1# Then

sig = 0

Else

sig = Atn(-xx / Sqr(-xx * xx + 1)) + PI / 2

End If

Kyori = ER * sig

’方位を求める

ssig = Sin(sig)

If ssig = 0 Then

Houi = 0

Else

xx = Cos(ty) * Sin(ram) / ssig

If -xx * xx + 1 < 0 Then

If Sin(ram) > 0 Then

Houi = 90

Else

Houi = 270

End If

ElseIf Sqr(-xx * xx + 1) = 0 Then

If Sin(ram) > 0 Then

Houi = 90

Else

Houi = 270

End If

Else

Houi = Atn(xx / Sqr(-xx * xx + 1))

If 0 > Cos(my) * Sin(ty) - Sin(my) * Cos(ty) * Cos(ram) Then

Houi = PI - Houi

End If

Houi = Houi * 180 / PI

If Houi < 0 Then Houi = Houi + 360

End If

End If

Exit Sub

’参考

’Arcsin(x) = Atn(x / Sqr(-x * x + 1))

’Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

getkher:

’Errmes Err, ”s_Getkyorihoui”

Resume Next

End Sub

id:r8820004

ありがとうございます

2005/01/10 04:19:18

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません