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 列のみ与えた場合にはエラーが発生します。 |
Changed: 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