ST_GeomFromGeoHash
ST_GeomFromGeoHash は、入力ジオメトリの geohash 表現からジオメトリオブジェクトを作成します。ST_GeomFromGeoHash は、空間参照識別子 (SRID) がゼロ (0) の 2 次元 (2D) ジオメトリを返します。geohash フォーマットに関する詳細は、ウィキペディアの「Geohash
構文
ST_GeomFromGeoHash(geohash_string)
ST_GeomFromGeoHash(geohash_string, precision)
引数
- geohash_string
-
データ型
VARCHAR
の値、またはVARCHAR
型に評価される式、つまりジオメトリの geohash 表現。 - precision
-
geohash の精度を表すデータ型
INTEGER
の値。値は、精度として使用される geohash の文字数です。値が指定されていない場合、ゼロより小さい場合、または geohash_string の長さを越えている場合、geohash_string の長さが使用されます。
戻り型
GEOMETRY
geohash_string が null の場合、null が返されます。
geohash_string が有効でない場合、エラーが返されます。
例
次の SQL は、高精度のポリゴンを返します。
SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz0'));
st_asewkt
-----------------------
POLYGON((-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646))
次の SQL は、高精度のポイントを返します。
SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz00'));
st_asewkt
-----------------------
POINT(-115.172816 36.114646)
次の SQL は、低精度のポリゴンを返します。
SELECT ST_AsText(ST_GeomFromGeoHash('9qq'));
st_asewkt
-----------------------
POLYGON((-115.3125 35.15625,-115.3125 36.5625,-113.90625 36.5625,-113.90625 35.15625,-115.3125 35.15625))
次の SQL は、精度 3 のポリゴンを返します。
SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz0', 3));
st_asewkt
-----------------------
POLYGON((-115.3125 35.15625,-115.3125 36.5625,-113.90625 36.5625,-113.90625 35.15625,-115.3125 35.15625))