名前

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

概要

float8 ST_RasterToWorldCoordY(raster rast, integer yrow);

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

説明

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

[注記]

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

Changed: 2.1.0 以前の版では ST_Raster2WorldCoordY と呼ばれていました。

行を提供するスキューなしラスターは十分です。

コード
SELECT rid, ST_RasterToWorldCoordY(rast, 1) As y1coord,
    ST_RasterToWorldCoordY(rast, 3) As y2coord,
    ST_ScaleY(rast) As pixely
FROM dummy_rast;
出力
rid | y1coord |  y2coord  | pixely
-----+---------+-----------+--------
   1 |     0.5 |       6.5 |      3
   2 | 5793244 | 5793243.9 |  -0.05

試しにスキューをかけてみましょう。

コード
SELECT rid, ST_RasterToWorldCoordY(rast, 1, 1) As y1coord,
    ST_RasterToWorldCoordY(rast, 2, 3) As y2coord,
    ST_ScaleY(rast) As pixely
FROM (SELECT rid, ST_SetSkew(rast, 0, 100.5) As rast FROM dummy_rast) As foo;
出力
rid | y1coord |  y2coord  | pixely
-----+---------+-----------+--------
   1 |     0.5 |       107 |      3
   2 | 5793244 | 5793344.4 |  -0.05