將一個地理網格對象轉換為指定規範的文本編碼。
文法
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)
參數
參數名稱 | 描述 |
grid | 需要輸出的地理網格對象,資料類型為GeomGrid或者H3Grid。 |
precision | 精度層級,取值:1~32,-1表示使用grid自身層級。 |
separated | 是否採用拆分編碼(適用於3維GGER)。 |
standard | 規範標準:GGER。自然資源部地球空間網格編碼規則(GeoSpatial Grid Encoding Rule)。預設使用GGER。 |
描述
將一個地理網格對象按照指定的層級、精度以及編碼規範輸出。當指定的精度高於地理網格儲存的精度時,不進行補零輸出。拆分編碼中的高度編碼是網格在高度維的索引值的二進位文本碼,地上以“+”開頭,地下以“-”開頭。
樣本
-- 使用預設層級
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
-- 指定輸出的層級
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
-- 三維編碼
SELECT unnest(ST_AsText(ST_As3DGrid('srid=4490;POINT(116.31522216796875 39.910277777777778 1001.8)'::geometry,
20)));
unnest
------------------------
GZ00262064446046072072
-- 採用拆分編碼
SELECT unnest(ST_AsText(ST_As3DGrid('srid=4490;POINT(116.31522216796875 39.910277777777778 1001.8)'::geometry,
20), -1, true));
unnest
-------------------------------
G00131032223023031031, +10010
-- H3編碼
SELECT ST_AsText(ST_H3FromLatLng(20.5,128.2,8));
st_astext
-----------------
884a126689fffff