すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_AddZ

最終更新日:Jun 21, 2024

このトピックでは、ST_AddZ関数について説明します。 この関数は、z軸の値をジオメトリオブジェクトに追加します。

構文

ジオメトリST_AddZ (ジオメトリg1 , float[] zvalues);

パラメーター

パラメーター説明
g1指定するジオメトリオブジェクト。
zvaluesz軸の値で構成される配列。

説明

  • z軸の値を持つジオメトリオブジェクトに対しては操作は実行されません。
  • この関数は、z軸値を追加することによって3DMジオメトリをZMジオメトリに変換します。
  • z軸値のアレイ内の各要素は、ジオメトリ内の点に対応する。 z軸値の配列内の要素の数がジオメトリ内の点の数より少ない場合、関数は配列に要素として0を追加します。

-- テストポイント&pointm
SELECT ST_AsText(ST_addZ(ST_MakePoint(116.345、31.257), '{3.129}'::float8[]));
           st_astext
--------------------------------
 POINT Z (116.345 31.257 3.129)
(1行)

SELECT ST_AsText(ST_addZ(ST_MakePointM(116.345、31.257、0.006)), '{3.129}'::float8[]));
               st_astext
---------------------------------------
 POINT ZM (116.345 31.257 3.129 0.006)
(1行)

-- テストLinestring & LinestringM
SELECT ST_AsText(ST_addZ('LINESTRING(110.268550710707 19.912797729366,110.26842843605 19.912673441389,110.268391117929 19.912635081628)) '::geometry, '{68.890150670893,69.183771011419,69.281459503807}'::float8[]));
                                                                            st_astext
------------------------------------------------------------------------------------------------------------------------------------------------------------------
 LINESTRING Z (110.268550710707 19.912797729366 68.890150670893、110.26842843605 19.912673441389 69.183771011419、110.268391117929 19.912635081628 69.281459503807)
(1行)

SELECT ST_AsText(ST_addZ('LINESTRING M(110.268550710707 19.912797729366 0.0002、110.26842843605 19.912673441389 0.0008、110.268391117929 19.912635081628 0.0019)) '::geometry, '{68.890150670893,69.183771011419,69.281459503807}'::float8[]);
                                                                                       st_astext
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 LINESTRING ZM (110.268550710707 19.912797729366 68.890150670893 0.0002、110.26842843605 19.912673441389 69.183771011419 0.0008、110.268391117929 19.912635081628 69.281459503807 0.0019)
(1行)

-- テストpolygon & polygonM
SELECT ST_AsText(ST_addZ ((110.271437131412 19.916296059835、110.271458864211 19.916327373408、110.271472618849 19.916347078401、110.271494504499 19.916378842523、110.271637533517 19.916586350525、110.271525107774 19.916422797481、110.271559942483 19.916473012678、110.271588184066 19.916514021908、110.271608951741 19.916544548085))'::geometry, '{66.754327018745,66.76812185145, 110.271662184676, 66.775424819085, 19.916622302994,110.27168697878, 19.916658943238, 66.82753102727,, 110.271690317318, 66.844599057935,,,, 19.916663834658,, 66.857178772322, 110.271437131412 19.916296059835) 66.754327018745}'::float8[]);
                                                                                                                                                                                                                                                                                                                              st_astext
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 POLYGON Z ((110.271437131412 19.916296059835 66.754327018745、110.271458864211 19.916327373408 66.76812185145、110.271472618849 19.916347078401 66.775424819085、110.271494504499 19.916378842523 66.788278159307、110.271525107774 19.916422797481 66.806879613697、110.271559942483 19.916473012678 66.82753102727、110.271588184066 19.916514021908 66.844599057935、110.271608951741 19.916544548085 66.857178772322、110.271637533517 19.916586350525 66.86311322099、110.271662184676 66.8772665672 110.271437131412、19.916296059835 19.916622302994 66.869851471601、110.27168697878 19.916658943238 66.876122904615、110.271690317318 19.916663834658、66.754327018745))
(1行)

SELECT ST_AsText(ST_addZ('POLYGON M((110.271437131412 19.916296059835 0.001,110.271458864211 19.916327373408 0.001,110.271472618849 19.916347078401) 0.001,110.271494504499 19.916378842523 0.001,110. 19.916422797481 271559942483. 19.916473012678 271588184066. 19.916514021908 0.001,110. 19.916586350525 0.001,110. 19.916622302994 0.001,110 0.001,110.271608951741 271690317318. 0.001,110 0.001,110 271437131412. 0.001,110 0.001. 27168697878 19.916658943238 271525107774. 66.806879613697 271637533517. 271662184676))': ジオメトリ,'{66.754327018745,66.76812185145,66.775424819085, 19.916544548085,, 19.916296059835) 66.82753102727、66.844599057935、66.857178772322、66.86311322099、66.869851471601、66.876122904615、66.8772665672、66.754327018745}'::float8[]);
                                                                                                                                                                                                                                                                                                                                                                      st_astext
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 POLYGON ZM ((110.271437131412 19.916296059835 66.754327018745 0.001,110.271458864211 66.76812185145 0.001,110.271472618849 19.916347078401 0.001,110.271494504499 19.916327373408 271525107774 19.916422797481. 66.82753102727 19.916378842523 66.788278159307 0.001,110. 66.844599057935 0.001,110 0.001,110. 66.775424819085 19.916622302994 66.806879613697 19.916544548085. 271559942483 19.916473012678 271637533517 0.001,110. 66.857178772322 19.916514021908 271662184676 0.001,110.271608951741 0.001,110 27168697878 0.001,110. 66.876122904615 19.916586350525 271588184066 0.001,110 19.916658943238. 66.8772665672 19.916296059835.. 66.754327018745 0.001 0.001,110. 66.86311322099 19.916663834658. 271690317318.
(1行)