ST_Raster2WorldCoordY — ラスタの指定した列と行における左上隅の地理座標Y値を返します。列と行の番号は1始まりです。
float8 ST_Raster2WorldCoordY(
raster rast, integer yrow)
;
float8 ST_Raster2WorldCoordY(
raster rast, integer xcolumn, integer yrow)
;
ラスタの指定した列と行における左上隅の地理座標Y値を返します。列と行の番号は1始まりです。負数またはラスタの列/行数を超える値を渡した場合には、回転とピクセルサイズが選択したラスタと同じであるという仮定のもとで、ラスタファイルから左または右にはずれた座標値を返します。
回転の無いラスタでは、Y行を与えれば十分です。回転しているラスタの場合には、地理参照のとれた座標はST_ScaleYとST_SkewYおよび行と列の関数となります。回転しているラスタでY行のみ与えた場合にはエラーが発生します。 |
-- 回転の無いラスタでは行を与えれば十分です SELECT rid, ST_Raster2WorldCoordY(rast,1) As y1coord, ST_Raster2WorldCoordY(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_Raster2WorldCoordY(rast,1,1) As y1coord, ST_Raster2WorldCoordY(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