ST_GeoHash — ジオメトリーの GeoHash 表現を返します。
text ST_GeoHash(geometry geom, integer maxchars=full_precision_of_point);
ジオメトリーのジオハッシュ表現を計算します。ジオハッシュは地理座標系のポイントを、前置に基づいた文字列として符号化したもので、ソート可能かつ検索可能です。短いジオハッシュではポイントは低精度に表現されています。これは、ポイントを含むボックスと考えることができます。
0でない範囲を持つ、ポイントでないジオメトリー値はジオハッシュコードに対応付けできます。コードの精度はジオメトリーの地理範囲に依存します。
maxcharsが指定されていない場合には、返されるジオハッシュコードは、入力ジオメトリーを含む最も小さいセルです。ポイントでは、20文字の精度 (入力の完全な倍精度浮動小数点数の保持十分です) ジオハッシュを返します。他のジオメトリタイプでは、より低い精度のジオハッシュを返しますが、精度はジオメトリーの範囲に依存します。大きいジオメトリーは低い精度となり、小さいジオメトリーは高い精度になります。ジオハッシュコードで決まるボックスは常に入力入力地物を含んでいます。
maxcharsが指定された場合には、この値は、返されるジオハッシュコードの最大文字数になります。入力ジオメトリーは(おそらく) より低い精度で表現されます。ポイントでない場合には、計算の最初のポイントはジオメトリーのバウンダリボックスの中心となります。
Availability: 1.4.0
|
|
|
ST_GeoHash の入力ジオメトリーは、地理座標系 (経度/緯度) でなければなりません。 |
このメソッドは曲線ストリングと曲線に対応しています。
SELECT ST_GeoHash(ST_Point(-126, 48));
c0w3hf1s70w3hf1s70w3
SELECT ST_GeoHash(ST_Point(-126, 48), 5);
c0w3h
この例ではポイントを含むラインの GeoHash はポイントをすべて含む最長のコードになることを示しています。
SELECT ST_GeoHash('LINESTRING(-126 48,-126.1 48.1)'::geometry);
c0w3