全部產品
Search
文件中心

PolarDB:ST_AsText

更新時間:Jul 06, 2024

將一個地理網格對象轉換為指定規範的文本編碼。

文法

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