4

これらの数値から計算する方法:

51.501690392607,-0.1263427734375

緯度と経度に?

そのはず

ロンドン、イングランド 51° 32' N 0° 5' W
4

4 に答える 4

2

http://geography.about.com/library/howto/htdegrees.htm

これはうまくいくようです。

于 2010-04-25T19:20:54.587 に答える
2

51.501690392607 を変換するには、まず 51 度の整数部分を取得します。正の値は北です。ネガは南です。

次に小数部分を取ります: 0.501690392607

60 を掛ける: 60 * 0.501690392607 = 30.10142355642

整数部分を 30 分間服用します。

次に小数部分を取ります: 0.10142355642

60 を掛ける: 6.0854133852

秒は最も近い 1 に丸めます。

出てきます: 北緯 51 度 30 分 6 秒。

東/西方向については、東を正、西を負にして繰り返します。

都市を見つけるには、データベースか何かを使用する必要があります...

あなたの変換が一致していないように見える理由がわかりません。

于 2010-04-25T19:21:47.323 に答える
2

2 つの表現間の基本的な変換は、次のように行うことができます。

// to decimal
decimal = degree + minutes/60 + seconds/3600;

// from decimal
degree = int(decimal)
remaining = decimal - degree
minutes = int(remaining*60)
remaining = remaining - minutes/60
seconds = remaining*3600
于 2010-04-25T19:24:44.430 に答える
1

度の分数を度と分に変換するには、擬似コードで次のようにします。

degrees = int(frac)
minutes = int((frac - degrees) * 60)

「負の」数をそれぞれ「S」と「W」(対「N」と「E」) に変換するには、「if」を使用します。

疑似コードを実行可能にするためだけに、Python を使用できます...:

def translate(frac, islatitude):
    if islatitude: decorate = "NS"
    else: decorate = "EW"
    if frac < 0:
        dec = decorate[1]
        frac = abs(frac)
    else:
        dec = decorate[0]
    degrees = int(frac)
    minutes = int((frac - degrees) * 60)
    return "%d %d %s" % (degrees, minutes, dec)

たとえば、次のようになります。

print translate(51.501690392607, True),
print translate(-0.126342773437, False)

放出する

51 30 N 0 7 W

装飾 (度と分の記号) は、出力デバイスの文字セットのサポートに依存します。また、W 座標の 7 対 5 分の円弧は、指定した入力数値に対して正しい結果のようです。

于 2010-04-25T19:30:20.800 に答える