はじめに
弊社MIERUNEでは、当番のメンバーが朝会で世界最先端GIS技術から畑の巨大ズッキーニの話までちょっとした小話を披露するルーティンがあります。
先日 @nokonoko_1203 さんが「ポイント・ネモ」についての紹介をしていました。
ポイント・ネモとはWikipediaによると
ポイント・ネモ(英語: Point Nemo)とは、世界の大洋で最も陸地から離れた地点で、到達不能極の一つ。ニュージーランドとチリのほぼ中間地点、南緯48度52分5秒 西経123度23分6秒の南太平洋上
居住区域から隔絶された場所であること、生物多様性も特筆すべきほど複雑ではないため、制御が可能な人工衛星を落下させる目標として地球上で最適な地点であり、古くから「人工衛星の墓場(スペースクラフト・セメタリー)」として注目され、実際に落下が実行されてきた
という地点のことを指します。2031年には420tのISS(国際宇宙ステーション)もここに落下するそうです。
どこからも、遠い
場所は、多くの人(と不要な人工衛星)を惹きつけるようで、わたしもその一人です。
この場所を探るべく、丸太をガシガシ彫って近所の川から出発すればよいのですが、あいにくノコギリがいま錆びているので、誰でも使えるノコギリことQGISでどこからも遠い地点を計算してみました。
※なお、この「どこからも、遠い」の計算は海洋の岩などに生息する生き物などの研究(島嶼生態学)などでもちょくちょく出てきます。ただ、人の生活移動については空が飛べなかったり道路という便利な経路を利用するため到達圏とか使ったほうがよいかもしれませんね。
ねらいとフロー
どこからも、遠い
→陸地ポリゴンからの距離が長いエリア
とします。
また、処理のフローは
- ベクタデータの準備
- いいかんじ()の投影法に変換
- ラスタ化
- 「特定値までの距離(Proximity)」ツールで計算
- ポイント・ネモと比較
とします
下ごしらえ
ベクター(陸地)データの準備
世界の陸地ポリゴンデータは、時間がある方はいまから20年くらいかけて測量してもよいのですが、われわれにはNatural Earthという素晴らしいオープンデータがあります。
ライセンスはパブリックドメインですので、これでヤバいTシャツをつくろうが、交響曲に変換しようがいかようにでもOKです。今回は一般的なGISで使います
今回は1:10m Cultural VectorsのAdmin 0 – CountriesのDownload countries (4.7 MB) version 5.1.1使いました。
投影法の沼
DLしてきたデータを解凍後、QGISにSHPを展開します。デフォルトはWG84緯度経度(EPSG4326)なので若干へしゃげ気味です
ここで、緯度経度は距離の計算にむいていないことはGIS業界であるある話なのですが、こんな広い範囲の距離を扱う場合いわゆる「どの投影法を選ぶか問題」にぶち当たるわけです。
正距方位図法(例えばEPSG:102019)も候補に考えたのですが、中心の距離からは正確なものの今回のようにざっくり🌍全体を見たい場合は見えないエリアも出てくるしのでちょと困ります
まあ今回はざっくり算出するぐらいが目的なので、Wingfiled先生に目玉飛び出すくらい叱られるかもしれませんが、面積が比較的正しく、地球全体が見えるモルワイデ図法(EPSG:54009)を用いてみます。
投影変換
やり方はいろいろありますが、レイヤ名を右クリック「エクスポート」→「新規ファイルに地物を保存」
任意の保存場所・ファイル名でEPSG:54009として保存
新しいデータが表示されますが、エクスポートしたデータのEPSGが変わっても表示はWGS84緯度経度のままなので、ここの地球マークを押して…
ラスタに変換
ラスタメニュー→変換→「ベクタをラスタ化」
※デスクトップ背景はSatellite eyesというアプリ。おすすめ
設定項目がいろいろありますが、とくに解像度はきをつけましょう。
今回は単位mなので、10000m(10km)としています(当初1kmとかやってたら6GくらいのTIFFが生成されたのでHDDがえらいことになりました)
設定がうまくいくと、このように2階調のラスタ世界地図が出るはずです。うまく出ないヒトは設定はおかしいので見直しましょう…
「どこからも、遠い」計算処理をかける
あるラスタ領域に対しての最短距離を算出してくれるgdalのツールドがありまして、Proximity (raster distance)というものです。
各画素の中心から対象画素として識別される最も近い画素の中心までの距離を示すラスタ近接地図を生成します。対象画素とは、ラスタ画素値が注目画素値の集合内にあるような、ソースラスタ内の画素です。
なんかドキュメントのこの文章だけだちょっとイメージがつかないでしょうから、ざっくりした概念は下記の図になります。
右側の赤を陸地とした場合、青色のセルでの最短距離は4になります。これをすべての海のセルで計算すると、最大になる値が最も陸地から遠い…つまり、「どこからも、遠い」地点であるということになります。
ツールそのものの起動はシンプルです。
ラスタ→解析→「特定値までの距離(proximity)」を選択します
「入力レイヤ」を先程作成した陸地ラスタに指定し、出力先は一時でも任意の場所でもいいのでとりあえずOKを押してみましょう
しばらくすると…なんか茶葉蛋(卵の烏龍茶煮)的な画像が!
一番上に陸地ベクタにしたりレイヤを入れ替えたり色を変えてみると、こんな表現も可能です。
この図ですと、青色が濃ければ濃いほど「どこからも、遠い」ということになります。
ポイント・ネモどこだっけ?
それ。
処理に熱中していると「飴色玉ねぎを作ることに夢中になってしまいなにをしているかわからなくなる」現象に陥ります。
今回はポイント・ネモの位置を見て、計算された距離と比較してみようといことでしたよね。
ポイント・ネモ(Point nemo)の位置は-48.868056, -123.385とのことで、QGISの左下の検索窓に
-48.868056, -123.385
や
> point nemo
と入力してもQGISのマップビューが飛んでいくことはできるのですが、いかんせん中心のポイントが数秒で消えてしまいます。これでは装飾などもできない…
経験者の方はわかると思いますが、わずか1点のためにCSV作ったり、WKT作るのもなんかめんどい…
つまり、鼻水をかみたいだけなのにティッシュボックス6箱セットを買うようなことは避けたい…
ということでOpenStreetMapのチカラを借りてみます。
※なお、ほかにもいろいろあると思いますが、今回が有名な既知の点であることから、たまたま面白いやり方見つけたのでご紹介しまる。ただの緯度経度の場合はCSV作ったりプラグイン使ったり編集ツール使ったりでもOKです
OpenStreetMapのサイトの左上検索窓にpoint nemo
と入力して「検索」を押すと「地域 Point Nemo」と検索結果が表示されます。
この結果をクリックするとポイント・ネモの場所にピンが立ちます(わかりやすくするためにスクリーンショットではかなりズームを引いています)ので、「XMLをダウンロード」をクリックと行きたいですが、ブラウザで生のXMLが見えちゃう場合があるので、右クリックで任意の場所に保存してください。
そして、保存したXMLをドラッグ&ドロップしてpointのみを選択後「レイヤを追加」を押し、レイヤの順番や凡例を調整すると…
はい、このように南米大陸の西あたりにポイントが立ちました
値をみると、256.1894…1グリッド10kmなので2562kmとwikipediaの約2700kmの記述と若干誤差がありますが、まあまああっている値が算出されています。
おわりに
ハオエ・ルカテラについて
私のへっぽこ計算だと場所によって距離3000kmなど、ポイント・ネモよりももっと値が大きいエリアが出てしまう点が謎でした。
これについていろいろ調べたのですが、このレッドブルの記事にヒントがサラッと書いてありました
「ポイント・ネモ」は1992年、クロアチア人とカナダ人をルーツに持つ測量技師ハオエ・ルカテラがコンピューターを使用して発見した。「地球は3次元であるため、陸から最も遠い海洋地点は3方向から等距離に遠くなければならない」という彼の論理に基づいて算出された。
つまり、アルゴリズム(や投影法も?)が異なっているからということもあるかもしれません(そりゃそうだ)。
ここからさらにハオエ・ルカテラ(Hrvoje Lukatela)についてちょっと調べてみました。
Google Scholarにはハオエ・ルカテラの原著論文はヒットしなかったのですが、なんと御本人のウェブサイト(!)があり、2022年でのデータや技術を使った考察や、彼は旧ユーゴの混乱から脱出し、ザグレブからカナダに移り住んだ背景や技術に関する考えなどについてのインタビューもありました。すごいなインターネット!
↑ハオエ・ルカテラによる説明図から引用・ボロノイを使ってたんだ…
ざらっとしか見ていませんが、ポイント・ネモの計算そのものは1987年の研究から始まっており、自作ライブラリもBSDで配布されていまして、なんと2023年版もバージョンアップされています。もしご興味のある方はぜひトライしてみてください。
ー
ちょっとした興味から技術検証を経て、提唱した御本人のいまの活躍やその背景にふれることができたので、いつもとはまたちょっとちがった学びが得られたような気がしますね。やっぱり、丸太から舟をつくるのはまたこんどにします。