カテゴリ:

地理空間関数

ST_GEOMFROMGEOHASH

geohash の境界を表すポリゴンの GEOMETRY オブジェクトを返します。

geohashの文字数によって精度が決まります。geohashの末尾から文字を削除すると、geohashの精度が低下し、より大きな長方形の領域が識別されます。

オプションの precision 引数は、入力geohashに使用する精度を指定します。たとえば、 precision5 を渡すと、関数は、入力geohashの最初の5文字を使用するように指定します。

こちらもご参照ください。

ST_GEOHASH, ST_GEOMPOINTFROMGEOHASH

構文

ST_GEOMFROMGEOHASH( <geohash> [, <precision> ] ) 
Copy

引数

必須:

geohash

引数はgeohashでなければなりません。

オプション:

precision

geohashで使用する文字数。 1 から 20 までの値を指定できます。

デフォルトでは、 precision20 であり、20文字の長さのgeohashを生成します。

戻り値

GEOMETRY の値を返します。

次の例は、geohashの GEOMETRY オブジェクトを返します。

SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q') AS geometry_from_geohash, ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q')) AS area_of_geohash; 
Copy
+---------------------------------+-----------------+ | GEOMETRY_FROM_GEOHASH | AREA_OF_GEOHASH | |---------------------------------+-----------------| | { | 5.492996255e-26 | | "coordinates": [ | | | [ | | | [ | | | -1.223061000000001e+02, | | | 3.755416199999996e+01 | | | ], | | | [ | | | -1.223061000000001e+02, | | | 3.755416200000012e+01 | | | ], | | | [ | | | -1.223060999999998e+02, | | | 3.755416200000012e+01 | | | ], | | | [ | | | -1.223060999999998e+02, | | | 3.755416199999996e+01 | | | ], | | | [ | | | -1.223061000000001e+02, | | | 3.755416199999996e+01 | | | ] | | | ] | | | ], | | | "type": "Polygon" | | | } | | +---------------------------------+-----------------+ 

次の例では、精度の低いgeohashの GEOMETRY オブジェクトを返します。関数は、入力geohashの最初の6文字を使用します。

SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6) AS geometry_from_less_precise_geohash, ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6)) AS area_of_geohash; 
Copy
+------------------------------------+-----------------+ | GEOMETRY_FROM_LESS_PRECISE_GEOHASH | AREA_OF_GEOHASH | |------------------------------------+-----------------| | { | 6.034970284e-05 | | "coordinates": [ | | | [ | | | [ | | | -1.223107910156250e+02, | | | 3.755126953125000e+01 | | | ], | | | [ | | | -1.223107910156250e+02, | | | 3.755676269531250e+01 | | | ], | | | [ | | | -1.222998046875000e+02, | | | 3.755676269531250e+01 | | | ], | | | [ | | | -1.222998046875000e+02, | | | 3.755126953125000e+01 | | | ], | | | [ | | | -1.223107910156250e+02, | | | 3.755126953125000e+01 | | | ] | | | ] | | | ], | | | "type": "Polygon" | | | } | | +------------------------------------+-----------------+