名前

ST_RasterToWorldCoordX — ラスタの指定した列と行における左上隅の地理座標のX値を返します。列と行の番号は1始まりです。

概要

float8 ST_RasterToWorldCoordX(raster rast, integer xcolumn);

float8 ST_RasterToWorldCoordX(raster rast, integer xcolumn, integer yrow);

説明

ラスタの指定した列と行における左上隅の地理座標のX値を地理参照したラスタの地理単位で返します。列と行の番号は1始まりです。負数またはラスタの列数を超える値を渡した場合には、スキュー転とピクセルサイズが選択したラスタと同じであるという仮定のもとで、ラスタファイルから左または右にはずれた座標値を返します。

[注記]

スキューの無いラスタでは、X列を与えれば十分です。スキューのあるラスタの場合には、地理参照のとれた座標はST_ScaleXとST_SkewXおよび行と列の関数となります。スキューのあるラスタでX列のみ与えた場合にはエラーが発生します。

変更: 2.1.0 以前の版ではST_Raster2WorldCoordXと呼ばれていました。

-- スキューの無いラスタでは列を与えれば十分です
SELECT rid, ST_RasterToWorldCoordX(rast,1) As x1coord, 
        ST_RasterToWorldCoordX(rast,2) As x2coord,
        ST_ScaleX(rast) As pixelx
FROM dummy_rast;

 rid |  x1coord   |  x2coord  | pixelx
-----+------------+-----------+--------
   1 |        0.5 |       2.5 |      2
   2 | 3427927.75 | 3427927.8 |   0.05
                                
-- 面白半分にスキューさせてみましょう
SELECT rid, ST_RasterToWorldCoordX(rast, 1, 1) As x1coord, 
        ST_RasterToWorldCoordX(rast, 2, 3) As x2coord,
        ST_ScaleX(rast) As pixelx
FROM (SELECT rid, ST_SetSkew(rast, 100.5, 0) As rast FROM dummy_rast) As foo;

 rid |  x1coord   |  x2coord  | pixelx
-----+------------+-----------+--------
   1 |        0.5 |     203.5 |      2
   2 | 3427927.75 | 3428128.8 |   0.05
                                

関連情報

ST_ScaleX, ST_RasterToWorldCoordY, ST_SetSkew, ST_SkewX