見出し画像

ジオハッシュだけじゃない!地理空間を表現する方法:EWKT/EWKB

ジオハッシュをおさらい

地理空間情報をシステムで扱うのによく使われる表現はジオハッシュです。
地表を格子状に分けて文字列を振って位置情報を表現します。

ジオハッシュのメリットは―

  • 座標を単純な文字列で表現するため管理や共有が簡単

  • 文字列の接頭辞を比較することで地理的に近い場所を簡単に探し出せる

  • 文字列の長さによって精度を調整できて便利

一方で極地付近だと歪みが発生するといったデメリットもあります。

EWKT/EWKBとは?

Extended Well-Known Text / Binaryの略ということからわかるように、元はWKT/WKBという表現形式でした。

WKTは次のような表現です。

PointやLineString、立体を表すPolyhedronなどいろんなオブジェクトを表せます。

それでEWKTは何がExtendなのかというと、"空間参照システム識別子" (SRID) という識別子を持っていたり、緯度経度高度いがいにもうひとつM(メジャー)という時間でも温度でも任意の値をもっていたりする点です。

バイナリはその名の通り、上記のテキストをバイナリで表現してコンピュータがより扱いやすくなっています。

EWKT/EWKBのメリットは―

  • SRIDと4D座標により地理空間データを詳細に&正確に&高度に表現できる

  • バイナリだと高速&低コストに処理できるので大規模データだったりリアルタイムデータにも向いている

一方、単純な文字列ではないので専用の関数が用意されたデータベースなどでしか扱えない点がデメリットでしょう。
とはいえ元々位置情報データそのものを非専門のユーザが直に扱うことはありませんし、今更ちょっと扱いが高度になったところで実害はないような気もします。

参考

Accelerate Spatial Analysis with Geohashing and EWKB
PostGIS EWKB, EWKTと標準形式
WKT

よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!