1CREATE TABLE raster_raster2world ( 2 rid integer, 3 rast raster 4); 5CREATE OR REPLACE FUNCTION make_test_raster( 6 rid integer, 7 width integer DEFAULT 2, 8 height integer DEFAULT 2, 9 ul_x double precision DEFAULT 0, 10 ul_y double precision DEFAULT 0, 11 skew_x double precision DEFAULT 0, 12 skew_y double precision DEFAULT 0, 13 initvalue double precision DEFAULT 1, 14 nodataval double precision DEFAULT 0 15) 16 RETURNS void 17 AS $$ 18 DECLARE 19 x int; 20 y int; 21 rast raster; 22 BEGIN 23 rast := ST_MakeEmptyRaster(width, height, ul_x, ul_y, 1, 1, skew_x, skew_y, 0); 24 rast := ST_AddBand(rast, 1, '8BUI', initvalue, nodataval); 25 26 INSERT INTO raster_raster2world VALUES (rid, rast); 27 28 RETURN; 29 END; 30 $$ LANGUAGE 'plpgsql'; 31 32-- no skew 33SELECT make_test_raster(0, 4, 4, -2, -2); 34SELECT make_test_raster(1, 2, 2, 0, 0, 0, 0, 2); 35SELECT make_test_raster(2, 2, 2, 1, -1, 0, 0, 3); 36SELECT make_test_raster(3, 2, 2, 1, 1, 0, 0, 4); 37SELECT make_test_raster(4, 2, 2, 2, 2, 0, 0, 5); 38 39-- skew 40SELECT make_test_raster(10, 4, 4, -2, -2, 1, -1); 41SELECT make_test_raster(11, 2, 2, 0, 0, 1, -1, 2); 42SELECT make_test_raster(12, 2, 2, 1, -1, 1, -1, 3); 43SELECT make_test_raster(13, 2, 2, 1, 1, 1, -1, 4); 44SELECT make_test_raster(14, 2, 2, 2, 2, 1, -1, 5); 45 46DROP FUNCTION make_test_raster(integer, integer, integer, double precision, double precision, double precision, double precision, double precision, double precision); 47 48SELECT 49 rid, 50 (ST_RasterToWorldCoord(rast, 1, 1)).* 51FROM raster_raster2world; 52SELECT 53 rid, 54 (ST_RasterToWorldCoord(rast, 1, 2)).* 55FROM raster_raster2world; 56SELECT 57 rid, 58 (ST_RasterToWorldCoord(rast, 2, 2)).* 59FROM raster_raster2world; 60SELECT 61 rid, 62 (ST_RasterToWorldCoord(rast, 0, 0)).* 63FROM raster_raster2world; 64SELECT 65 rid, 66 (ST_RasterToWorldCoord(rast, -1, 0)).* 67FROM raster_raster2world; 68 69SELECT 70 rid, 71 ST_RasterToWorldCoordX(rast, 1, 1) 72FROM raster_raster2world; 73SELECT 74 rid, 75 ST_RasterToWorldCoordX(rast, 1, 2) 76FROM raster_raster2world; 77SELECT 78 rid, 79 ST_RasterToWorldCoordX(rast, 2, 2) 80FROM raster_raster2world; 81SELECT 82 rid, 83 ST_RasterToWorldCoordX(rast, 0, 0) 84FROM raster_raster2world; 85SELECT 86 rid, 87 ST_RasterToWorldCoordX(rast, -1, 0) 88FROM raster_raster2world; 89 90SELECT 91 rid, 92 ST_RasterToWorldCoordX(rast, 1) 93FROM raster_raster2world; 94SELECT 95 rid, 96 ST_RasterToWorldCoordX(rast, 1) 97FROM raster_raster2world; 98SELECT 99 rid, 100 ST_RasterToWorldCoordX(rast, 2) 101FROM raster_raster2world; 102SELECT 103 rid, 104 ST_RasterToWorldCoordX(rast, 0) 105FROM raster_raster2world; 106SELECT 107 rid, 108 ST_RasterToWorldCoordX(rast, -1) 109FROM raster_raster2world; 110 111SELECT 112 rid, 113 ST_RasterToWorldCoordY(rast, 1, 1) 114FROM raster_raster2world; 115SELECT 116 rid, 117 ST_RasterToWorldCoordY(rast, 1, 2) 118FROM raster_raster2world; 119SELECT 120 rid, 121 ST_RasterToWorldCoordY(rast, 2, 2) 122FROM raster_raster2world; 123SELECT 124 rid, 125 ST_RasterToWorldCoordY(rast, 0, 0) 126FROM raster_raster2world; 127SELECT 128 rid, 129 ST_RasterToWorldCoordY(rast, -1, 0) 130FROM raster_raster2world; 131 132SELECT 133 rid, 134 ST_RasterToWorldCoordY(rast, 1) 135FROM raster_raster2world; 136SELECT 137 rid, 138 ST_RasterToWorldCoordY(rast, 1) 139FROM raster_raster2world; 140SELECT 141 rid, 142 ST_RasterToWorldCoordY(rast, 2) 143FROM raster_raster2world; 144SELECT 145 rid, 146 ST_RasterToWorldCoordY(rast, 0) 147FROM raster_raster2world; 148SELECT 149 rid, 150 ST_RasterToWorldCoordY(rast, -1) 151FROM raster_raster2world; 152 153DROP TABLE raster_raster2world; 154