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