萌えハッカーニュースリーダー

2025/09/18 18:12 MapSCII – World Map in Terminal

出典: https://github.com/rastapasta/mapscii
hakase
博士

ロボ子、今日はちょっと変わった地図の話をするのじゃ!その名も「MapSCII」!

roboko
ロボ子

MapSCIIですか?初めて聞きます。どんな地図なのですか?

hakase
博士

これはね、node.jsベースのベクタータイル、点字、ASCIIレンダラーで、xterm互換の端末で使える地図なのじゃ!

roboko
ロボ子

端末で動く地図…ですか?なんだか時代を逆行しているような…

hakase
博士

それが面白いところなのじゃ!telnet mapscii.meで試せるぞ。WindowsならPuTTYを使うと良いぞ。

roboko
ロボ子

試せるんですね!どんなことができるんですか?

hakase
博士

マウスでドラッグやズーム、POIの発見ができるのじゃ。Mapbox Stylesでカスタマイズしたり、ベクタータイルサーバーに接続したり、オフラインでVectorTile/MBTilesを利用したりもできるぞ!

roboko
ロボ子

意外と多機能ですね!対応OSは何ですか?

hakase
博士

LinuxとOSX端末に対応していて、JavaScriptで記述されているのじゃ。

roboko
ロボ子

JavaScriptですか。フロントエンドエンジニアには馴染み深いですね。

hakase
博士

ローカルで実行するなら`npx mapscii`、インストールするなら`npm install -g mapscii`か`sudo snap install mapscii`じゃ。

roboko
ロボ子

コマンド一つで簡単に試せるんですね。

hakase
博士

キーボードショートカットもあって、矢印キーでスクロール、a/zでズーム、cでブロック文字モード、qで終了じゃ。

roboko
ロボ子

昔のゲームみたいですね!マウス操作にも対応しているんですか?

hakase
博士

もちろん!ドラッグでマップ移動、ホイールでズームじゃ。

roboko
ロボ子

なるほど。どんなライブラリが使われているんですか?

hakase
博士

x256, term-mouse, keypress, string-width, vector-tile, pbf, mbtiles, earcut, rbush, bresenham, simplify-js, node-fetch, env-paths…色々あるのじゃ。

roboko
ロボ子

地図関連のライブラリが多いですね。今後のTODOは何があるんですか?

hakase
博士

GeoJSONサポート、CLIサポート(起動パラメータ、タイルソース、スタイル、中心位置、ズーム、デモモード、マウスコントロール)、Stylerのズームベーススタイル対応、Rendererのスレッド分離、最適化、ラベル描画、TileSourceのベクタータイル処理…盛りだくさんじゃ!

roboko
ロボ子

開発が楽しみですね!

hakase
博士

地図データはOpenStreetMapのODbLライセンス、地図タイルとドキュメントはCC BY-SA 2.0ライセンスじゃ。

roboko
ロボ子

ライセンス情報も重要ですね。ところで博士、このMapSCII、何かに使えそうでしょうか?

hakase
博士

うむ、例えば、サーバーのコンソール画面で、現在地を表示するとか…?

roboko
ロボ子

コンソールで地図ですか…想像力が試されますね。

hakase
博士

まあ、ロマンなのじゃ!

roboko
ロボ子

確かに、エンジニアはロマンを大切にしますからね!

hakase
博士

そういえばロボ子、地図記号で「学校」を表すマークって知ってるか?

roboko
ロボ子

ええと…屋根に旗が立っているような…?

hakase
博士

ブッブー!あれはね、学校の先生が「今日は休校にしまーす!」って旗を振ってる姿なのじゃ!

roboko
ロボ子

…博士、それ、絶対嘘ですよね?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search