このトピックでは、ST_AsText関数について説明します。 この関数は、地理グリッドを指定された仕様でエンコードされたテキストに変換します。
構文
text ST_AsText(geomgrid grid
integer precision default -1,
bool separated default false,
text standard default 'GGER')
text[] ST_AsText(geomgrid[] grid
integer precision default -1,
bool separated default false,
text standard default 'GGER')
text ST_AsText(h3grid grid)
パラメーター
パラメーター | 説明 |
グリッド | 取得する地理的グリッドオブジェクト。 データ型はGeomGridまたはH3Gridです。 |
精度 | 精度レベル。 有効な値: 1 ~ 32。 値-1は、地理グリッドの精度レベルが使用されていることを示します。 |
分離された | 分割エンコーディングを使用するかどうかを指定します。 このパラメーターは、3D GeoSpatial Grid Encoding Rule (GGER) に適しています。 |
標準 | 仕様標準: GGER。 それは中華人民共和国の天然資源省によって開発されました。 デフォルト値: GGER。 |
説明
この関数は、指定されたレイヤー、精度、およびエンコード仕様に基づいて、地理グリッドをテキストに変換します。 指定された精度が地理グリッドのストレージ精度よりも高い場合、システムは出力のゼロを埋めません。 分割エンコーディングでは、高さエンコーディングは、グリッドが高さ次元のグリッドのインデックス値のバイナリテキストコードとしてエンコードされることを示します。 グリッドがサーフェスの上にある場合、グリッドの高さエンコーディングはプラス記号 (+) で始まります。 グリッドがサーフェスの下にある場合、グリッドの高さエンコーディングはハイフン (-) で始まります。
例
-- Use the default layer.
WITH g AS (
select unnest(ST_AsGrid(
ST_geomfromtext('POINT(116.31522216796875 39.910277777777778)',4490), 15)) as grid)
select ST_AsText(grid) from g;
st_astext
------------------
G001310322230230
-- Specify the output layer.
WITH g AS (
SELECT unnest(ST_AsGrid(
ST_geomfromtext('POINT(116.31522216796875 39.910277777777778)',4490), 15)) as grid)
SELECT ST_AsText(grid, 8) from g;
st_astext
-------------
G00131032
-- 3D encoding
SELECT unnest(ST_AsText(ST_As3DGrid('srid=4490;POINT(116.31522216796875 39.910277777777778 1001.8)'::geometry,
20)));
unnest
------------------------
GZ00262064446046072072
-- Split encoding is used.
SELECT unnest(ST_AsText(ST_As3DGrid('srid=4490;POINT(116.31522216796875 39.910277777777778 1001.8)'::geometry,
20), -1, true));
unnest
-------------------------------
G00131032223023031031, +10010
-- H3 encoding
SELECT ST_AsText(ST_H3FromLatLng(20.5,128.2,8));
st_astext
-----------------
884a126689fffff