Geohash -36 ジオコードは、世界座標データ用のオープンソースの圧縮アルゴリズムです。アイルランド共和国の候補地理位置情報郵便番号として開発されたOpenPostcode形式のバリエーションとして開発されました。[1] 計算方法が異なり、基数 32 を採用した他のジオコードではなく、より簡潔な基数 36 の表現を使用します。[2]
名前にもかかわらず、Geohashとはアルゴリズム的( Z オーダー曲線を使用しない) または類型的な関係はありません 。 これは、base 32 の一般的なジオコードに関連付ける宣伝戦略です。 エンコード/デコード関数は、 Geohash 関数と数学的に類似していません。
コーディング方法
人間の記憶や会話ではなく、 URLや電子的なストレージおよび通信用に設計されており、大文字と小文字が区別され、36 文字のアルファベットが使用されます: "23456789bBCdDFgGhHjJKlLMnNPqQrRtTVWX"。
文字変換:
文字は、母音、母音のような数字、文字の混乱を避け、標準の書体で大文字に相当する文字と一般的に区別される小文字を使用するように 選択されます。
コードの長さはさまざまで、したがって精度もさまざまです。各文字は 6 x 6 グリッドのさらに細かい区分を表します。北西 (左上) の座標から始まり、南東 (右下) まで 1 行ずつ続きます。隣接する座標はほぼ同様のエンコードで、通常は右端の文字のみが異なります。ただし、隣接する座標がグリッド区分の反対側にあるという極端なケースもあります。コードは論理的に並べ替えられますが、通常の座標順序ではありません。
母音を使用しないことで、元の Geohash コードに現れる可能性のある意図しない英語の単語が回避されます。母音が使用されていないため、エンコードされたメートルの高度コンポーネントは、プレフィックス「A」文字 (海面下の場合はプレフィックス小文字「a」) でオプションになります。
オプションのチェックサムは、小文字の英語アルファベットを使用して表されます。これは、コードが Geohash-36 であることを確認し、誤った文字や転置された文字をチェックします。チェックサムは、各文字値の合計(「A」または「a」の高度区切り文字の値は 0 です) に、左から右に読む位置を乗じた係数 26 として計算されます。
効率
SQLでDecimalデータ型を使用して GPS 座標を保存する場合と比較すると、Geohash-36 ではデータベース バイトを大幅に節約することはできません。DECIMAL(8,5) と DECIMAL(7,5) を使用すると 10 バイト[3]が必要になり、精度は約 1.1 平方メートル (赤道から離れた場所ではさらに精度が高くなります) です。同等の 10 バイトの Geohash-36 コードは、約 6 分の 1 平方メートルの精度です。[4]
自由の女神像は、座標 40.689167、−74.044444 にあり、9LVB4BH89g-m としてエンコードされています。逆のデコードは 40.68916 8、−74.044445 に相当します。
ロンドンのザ・シャードビル(座標51.504444、−0.086667)はbdrdC26BqH-m(デコードすると51.504444、−0.08666 6)としてエンコードされているか、bdrdC26Bに短縮されている可能性があります。[5]
実装
C
- 'libgeohash36' – Geohash-36 アルゴリズムの純粋な C 実装。
ルビー
- 「Geohash36」 – Geohash-36 アルゴリズムの Ruby 実装。
参照
参考文献
- ^ 「DCENR Postcodes」 。 2012年6月26日閲覧。
- ^ 「Geohashのヒントとコツ」 。 2012年6月26日閲覧。
- ^ 「MSDN「10 進数と数値 (Transact-SQL)」」。2012 年6 月 26 日閲覧。
- ^ “Geohash-36”. 2012年12月27日時点のオリジナルよりアーカイブ。 2012年6月26日閲覧。
- ^ 「Geo36.org」 。 2012年6月26日閲覧。
6.^「ジオハッシュ」[1]。2024年6月5日閲覧。
