2008年09月30日
日本国内の位置情報ゲーム用へクス仕様を考えました
位置情報系ゲームのプラットフォームとしてのメッシュの仕様とかについてつらつら考えていたら、ウォーゲーム系の界隈の人にはむしろメッシュよりヘクスの方が燃えるんじゃないの?とか思いました。
で、日本を網羅する形での、地理ヘクス仕様を考えました。
ベースは、iエリアの7次メッシュとか、LocaPointとかいろいろ考えましたが、普及度合いとベースとしてのサイズの適当さ、コード化時の長さの適切さ等から考慮して、基準地域メッシュの3次メッシュを選んでみました。
LocaPointは世界が定義できるのでよいかとも思ったのですが、いかんせん高緯度地域と低緯度地域でヘクスサイズに差が出過ぎてしまうので、それなら国内という比較的ヘクスサイズ差の少ない範囲でのみ適用、という前提付で日本国内のみの仕様でもいいのかなと。
ただこの辺、別にベースは何とでもなるので、もし興味を持たれた方おられましたら、独自ヘクス作成に協力しますので連絡ください。
とりあえず、3次メッシュベースでの仕様はこんな感じです。
例として、新宿駅周辺の3次メッシュ、5339-45-26を選んでみます。
なお、以下では世界測地系を採用しています。
大きな地図で見る
新宿周辺の3次メッシュ、5339-45-26
まず、これを経度方向に2分割、緯度方向に3分割、都合6分割して独自の4次メッシュを作成します。
その上で、4次座標として、経度方向は西から0、1、緯度方向は南から0、1、2と割り振ります。
つまり、3次メッシュ5339-45-26中の6つのメッシュ中、もっとも南西のメッシュは5339-45-26-00、もっとも北東のメッシュは5339-45-26-21となります(座標の並び順は、1~3次メッシュと同様、緯度が先です)。
大きな地図で見る
5339-45-26を6分割して4次メッシュを作る
(各ポリゴンをクリックすれば、そのポリゴンのIDが表示されます)
その後、一部の緯度のメッシュについて、東方向に半メッシュ分ずらしてやります。
ずらす対象のメッシュは、3次メッシュの緯度方向座標値を2で割った剰余と、4次メッシュの緯度方向座標値を2で割った剰余が、一致しない場合に東へ半メッシュ分ずらすものとします。
この例の場合、 3次メッシュ5339-45-26中の緯度方向3次メッシュ座標値は「2」ですから、2で割った剰余は0になります。
よって、2で割った剰余が1になる、4次緯度座標値が1のメッシュを、東に半メッシュずらしてやります。
言うまでもなく、1つ北の3次メッシュ、5339-45-36中では、緯度方向3次メッシュ座標値は「3」、2で割った剰余は1なので、2で割った剰余が0になる、4次緯度座標値が0及び2のメッシュを、東に半メッシュずらしてやります。
大きな地図で見る
一部の4次メッシュを東へ半メッシュずらす
4次メッシュの東西の辺を6分割し、そのうち最初の分割点(6分の1の点)及び最後の分割点(6分の5の点)を、上下のメッシュの同様の分割点と斜線で結びます。
これにより、形状が正六角形(=ヘクス)に近くなります。
大きな地図で見る
メッシュ東西の辺の6分割点を結ぶことにより、形状をヘクス化する
これまでで、形状の生成は完了です。
ただ、このままだとヘクスコード値(5339-45-26-21)が若干長いです。
ここまで、説明のため、4次座標も緯度方向、経度方向を分けて記してきましたが、4次座標の取りうる値は00、01、10、11、20、21の6種しかないので、これを1桁にまとめてしまいます。
上記の順に、それぞれ0、1、2、3、4、5とします。緯度方向4次座標×2+経度方向4次座標ですね。
また、ハイフンも邪魔なので取ります。これで、3次メッシュ5339-45-26中の6つのへクス中、もっとも南西のへクスは533945260、もっとも北東のへクスは533945265となります。
大きな地図で見る
へクス形状自体は同じだが、コードを簡略化した
(へクスクリックで確認できます)
これで大体、へクス間距離としては、東西で500m、斜め方向で400m強になります。
ちょっと大き目の戦術級か、作戦級のゲームに使うにはちょうどいい感じじゃないでしょうか。
セカイカメラみたいなのも出てきつつある昨今、リアルにバーチャルを重ねたリアルタイムゲームも出てくるんじゃないかと思うんですが、あまり素の経緯度座標で扱っても、いろいろリアルタイムに判定するのも大変です。
とりあえずはこのくらいのへクスコードに落として使えば、いろいろ面白いアプリケーションもでてこないかな、と思って作ってみました。
ちなみに、私自身はまだアプリケーション考えられてません...。
とりあえず、へクスコード値と中心経緯度・ポリゴン座標の変換モジュールを、CodeReposに挙げてみました。
1エントリ・1アイヌリンク
News Japan (11.16.2007) - "旧土人"と呼ばれて・・・「私はアイヌ」魂の歌 - Ainu
東京でアイヌとして誇りを持ち生きていこうとする若者達を取材した特集です。
![[ここギコ!]](http://kokogiko.net/logo.png)



・国連人権委、アイヌ・琉球文化の保護を日本に勧告(ほるほる)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(okumula)
・人員がクラスタ化できている職場と言うのはうらやましい そろそろ限界です(「ま」のつく人)
・もうAmazonクレジットカードは使いません...楽天カード一本で。(名無し)
・ジオメディア忘年会 新年会から始まり東京1、2、関西と続いたジオメディア2008の締めくくり(ぴかぴか)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(kokogiko)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(かやま)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(大阪府民)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(kokogiko)