地図投影器
これは何 ?
ラスター画像を元にして、様々な投影法(図法)で世界地図を描画する JavaScript のオモチャです。地球は真球と見なします(僅かに扁平である事を考慮しません)。現状、次の投影法に対応しています。
- ハンメル図法(Hammer projection)
- モルワイデ図法(Mollweide projection)
- 正弦曲線図法 / サンソン図法(sinusoidal projection / Sanson projection)
- コリニョン図法(Collignon projection)
- HEALPix
- 正積円筒図法(cylindrical equal‐area projection)
- 正距円筒図法 / 方眼図法(equirectangular projection / plate carrée)
- 正角円筒図法 / メルカトル図法(cylindrical conformal projection / Mercator projection)
- 正角円錐図法(conformal conic projection)
- 正射図法(orthographic projection)
- 正積方位図法(azimuthal equal‐area projection)
- 正距方位図法(azimuthal equidistant projection)
- 正角方位図法 / ステレオ図法(azimuthal conformal projection / stereographic projection)
- 心射図法(gnomonic projection)
- ラグランジュ図法(Lagrange projection)
元になる画像を何枚か標準搭載していますが、自前で用意した画像を投入する事もできます。地球に限らず、他の惑星の表面や、天球上の星図、ストリートビューのような全方位写真など、球の外面または内面と捉えられる物なら何でも使えます。元にする画像は正距円筒図法になっている必要があります。
操作部について
- 自転
-
東西方向の自転をアニメーションとして描画します。初期状態で勝手に自転を開始するので、停止するには「自転させる」ボタンを押してください。アニメの速さは、本物の地球の自転を基準にした倍率で指定します。例えば「× 1」なら 24 時間掛けて一周します(地図上で認識できないほど遅くなります)。一日は 8 万 6400 秒なので、「× 86400」なら一秒で一周します。
地図の中央(基準点)に描かれている地点の経度が「中央経度」に表示されます。「西」「東」のボタンは、速さの設定に従ってアニメ一秒分に当たる角度を加算・減算します。
- 投影方式
-
使用する図法と表示倍率を設定します。拡大の基準点は画面の中央です。現状、中央以外の部分へのズームはできません。
- 軸の傾斜
-
初期状態では、北極を上にした地球を正面から見たような図を投影するようになっています。この地軸の向きを変更して、斜めや横倒しで投影する機能です。「軸傾斜方向」と「軸傾斜量」は一組で意味を持ちます。「軸傾斜方向」が 0° なら、北極を手前に倒す事を指定します。−90° なら左に、+90° なら右に倒します。その上で「軸傾斜量」に応じて地球を傾けます。そのあと、地図の中央の基準点における方角が「方角回転」に従って変更されます。
- 表示領域
-
地図を描画する画面の大きさと、傾斜の角度と、その精度(アンチエイリアスの品質)を設定します。設定次第で再描画の処理が重くなるので、自転のアニメーションがカクカクするようになります。極端に大きな値を指定すると数秒間固まったりするかも知れません。「投影方式」や「軸の傾斜」を頻繁に変更する場合は、こちらの表示精度を一旦下げておいた方が操作感が軽くて快適になります。
- 元画像
-
最大三枚の画像を「最背面」「前面 1」「前面 2」の順に重ね合わせてから投影できます。取り扱う画像は多色画像・二値画像・四値画像の三種類があります。二値画像および四値画像は、右側の色指定欄で色と不透明度を設定できます。多色画像では色指定は意味を持ちません。経緯度などの格子線は四値画像として実装してあります。
「合成幅」「合成高さ」は画像の重ね合わせを行う中間処理での画像の寸法を指定します。どんな大きさの画像も一旦この値に揃えて拡縮されます。自前で高解像度の画像を投入して使う場合、その解像度を維持する為に「最背面寸法に一致」を有効にしてください。「合成精度」は JavaScript の
imageSmoothingQuality
の挙動に依存し、ブラウザー次第です。 - 画像追加
-
お使いの端末に保存されている手持ちの画像を元画像として追加します。「ファイルを選択」してから「この画像を追加」を押してください。画像は手元の端末内だけで処理され、サーバーに送られたりはしません。「白黒二値」を有効にしてから「この画像を追加」を押すと、各画素が明るいか暗いかを判定して二値画像として取り込まれます。現状、四値画像を追加する方法はありません。画像の内容は、北極を上とする正距円筒図法と見なされ、赤道と本初子午線が中央を通っている前提で解釈されます。
初期搭載の画像は通信量を抑える為に解像度を低めにしています。世界全図ではなく特定の地域を拡大して投影したい場合、次の「元画像について」で紹介している外部サイトから高解像度の画像を取得する事をお勧めします。各サイトではほかにも色々な画像が提供されているので、一旦端末に保存して「画像を追加」すると遊べます。
元画像について
地図投影器に標準搭載している画像の入手場所とライセンスは次の通りです。
- 地球(Natural Earth)
-
Natural Earth II with Shaded Relief and Water(パブリックドメイン)の色調を調整した画像です。人間活動による自然環境の変化を仮想的に巻き戻し、自然な状態の地表を再現して描いているようです。
- 地球(NASA Visible Earth)
-
Blue Marble Next Generation w/ Topography and Bathymetry(使用条件を参照)の色調を調整した画像です。2004 年 12 月に撮影された衛星写真なので、北半球が冬で、南半球が夏になっています。
- 月(Solar System Scope)
-
Solar System Scope で提供されているテクスチャーです(クリエイティブコモンズ「表示」4.0)。必ずしも厳密に正確なデータではなく、見映えが良いように軽く整えられているようです。それをそのまま搭載しています。同サイトには太陽や木星などのテクスチャーもあります。
ほかに使用できる画像の例 :