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