random-location-generator
ランダム位置生成ツールは、有効な緯度と経度の値の組をランダムに生成し、結果を10進座標の形式でインタラクティブな世界地図上に表示する無料ツールである。アプリの位置情報機能のテストや、地理の授業での座標学習に適している。生成される座標は北緯・南緯90度、東経・西経180度の範囲内に収まるよう制御されている。
ランダム位置生成器
ドキュメンテーション
ランダム地点生成ツールは、緯度と経度という地理座標のランダムな組み合わせを生成するツールです。生成される各結果は、外洋から市街地の道路、山頂まで、地球上のどこにでも位置する可能性のある一点を示します。
ツールが生成するもの
クリックするたびに、-90°から90°までの緯度の値が1つ、-180°から180°までの経度の値が1つ生成されます。ツールは両方の数値を十進度で表示します。たとえば、60.0000° N、90.0000° Wのように表示し、簡単な世界地図上にその地点を示します。緯度が負の値の場合、その地点は赤道より南にあります。経度が負の値の場合、英国のグリニッジを通る本初子午線より西にあります。
ランダム地点生成ツールの使い方
- Generateボタンを押します。
- ボタンの下に表示される座標を、N/SおよびE/Wの方位とともに読み取ります。
- 世界地図上のマーカーを確認し、その地点がだいたいどこにあるかを見ます。
- Copyを押して、座標を他の場所で使うためにコピーします。
- 新しい地点を生成するには、もう一度Generateを押します。実行できる回数に制限はありません。
座標の計算方法(式)
経度は単純です。一様に選ばれるため、-180°から180°までのすべての値が同じ確率で選ばれます。式は次のとおりです。
経度 = v × 360 − 180
ここで、vは0から1の間のランダムな数です。
緯度は異なる方法で扱います。ここが、よく間違えられる部分です。使用する式は次のとおりです。
緯度 = arcsin(2u − 1)、ラジアンから度に変換
ここで、uは0から1の間の別のランダムな数で、arcsinは正弦関数の逆関数です。
緯度を単純なランダムな数で選ばない理由
極付近の緯線は短く、赤道の緯線は長くて、地球をほぼ一周します。緯度を-90から90の間の単純なランダムな数で選ぶと、極の緯線が地球の表面に占める範囲は赤道の緯線よりはるかに小さいにもかかわらず、緯度の各度に等しい割合の結果が割り当てられてしまいます。その結果、極付近に点が集まりすぎることになります。
逆正弦の式によって、この問題が解決されます。極にどれほど近いかにかかわらず、地球表面の各部分が同じ確率で選ばれるように点を分布させます。この考え方は球面上の点の一様サンプリングと呼ばれ、アルキメデスの帽子箱定理と呼ばれることもある規則に基づいています。緯度帯の表面積は、その境界の緯度の度数差ではなく、境界の正弦の差によって決まります。
計算例
生成器が2つの乱数を生成するとします。緯度にはu = 0.9330127、経度にはv = 0.25を使います。
- 緯度 = arcsin(2 × 0.9330127 − 1) = arcsin(0.8660254) = 60°
- 経度 = 0.25 × 360 − 180 = -90°
結果は60.0000° N、90.0000° Wとなり、カナダ北部のハドソン湾付近の地点を示します。
コード例
同じ2つの手順はどのプログラミング言語でも使えます。0から1までの乱数を2つ生成し、1つ目に逆正弦の公式を適用して緯度を求め、2つ目をスケーリングして経度を求めます。
Python
1import random
2import math
3
4def generate_random_coordinates():
5 u = random.random()
6 v = random.random()
7 latitude = math.degrees(math.asin(2 * u - 1))
8 longitude = v * 360 - 180
9 return latitude, longitude
10JavaScript
1function generateRandomCoordinates() {
2 const u = Math.random();
3 const v = Math.random();
4 const latitude = Math.asin(2 * u - 1) * (180 / Math.PI);
5 const longitude = v * 360 - 180;
6 return { latitude, longitude };
7}
8逆正弦の手順を省き、緯度をrandom.uniform(-90, 90)として選ぶ簡略版は書きやすいものの、地球表面全体に均等に点を分布させる代わりに、極付近に点が集中します。
一般的な用途
ソフトウェア開発者は、テスト用データを手作業で選ばずにGPS機能、地図の描画、位置情報を利用するアプリをテストするため、ランダムな座標を使います。ゲームデザイナーは、出現地点や宝探しの場所を配置するために使います。教師は、生徒と緯度・経度の読み取りを練習するために使います。研究者は、フィールド調査で偏りのないサンプル地点を選ぶために使います。逆正弦法によって、地球上の特定の地域が有利になることを避けられるためです。
よくある質問
座標はどのような形式ですか?
十進度(DD)です。たとえば、40.7128° N、74.0060° Wのように表します。これは、Google マップを含むほとんどの地図サービスやGPS機器で使われている形式です。
ランダムな座標の多くが海上になるのはなぜですか?
水は地球の表面の約71%を覆っているため、本当にランダムな点は、陸地よりも海に当たる可能性が高くなります。これは想定どおりの結果であり、座標が均等に分布していることを裏づけるもので、ツールの欠陥ではありません。
1つの国または大陸だけの座標を生成できますか?
いいえ。このツールは地球上のどこからでも地点を選びます。結果を特定の地域に限定するには、生成後に座標を追加でフィルタリングするか、境界の制限を組み込んだツールを使う必要があります。
座標の精度はどの程度ですか?
各値は小数点以下4桁です。緯度の場合、これは地球上のどこでも約11メートル(36フィート (11 m))の精度にあたります。緯度一度は約364,000フィート (111,000 m)で、赤道から極までほぼ一定だからです。経度の場合、同じ4桁は赤道付近では約11メートルにあたり、極に近づくほど経線の間隔が狭まるため、より小さな距離になります。
座標は実在する地点を示しますか?
はい。すべての結果は、地球表面上の数学的に有効な地点です。ただし、外洋、氷上、または近くに集落がない場所になることがあります。
十進度を度・分・秒(DMS)に変換するにはどうすればよいですか?
整数部分を度とします。小数部分に60を掛けて分を求めます。その結果の小数部分にもう一度60を掛けて秒を求めます。
参考文献
- Weisstein, E. W. (Wolfram MathWorld). Sphere Point Picking. MathWorld:球面上の点の選び方 — 一様分布から球面座標を選ぶと、点が極付近に偏る。
- U.S. Geological Survey. How much distance does a degree, minute, and second cover on your maps? USGS 度あたりの距離 — 緯度一度は約364,000フィート (111,000 m)でほぼ一定。経度の距離は極に向かって短くなる。
- U.S. Geological Survey. How Much Water is There on Earth? USGS Water Science School — 地球の表面の約71パーセントは水に覆われている。