65 {
69 int err;
70 double offset[4] = {0.};
71
73 CU_ASSERT(rast1 != NULL);
76
78 CU_ASSERT(rast2 != NULL);
80
82 rast1, rast2,
84 &rast,
85 offset
86 );
88 CU_ASSERT(rast != NULL);
91 CU_ASSERT_DOUBLE_EQUAL(offset[0], 0, DBL_EPSILON);
92 CU_ASSERT_DOUBLE_EQUAL(offset[1], 0, DBL_EPSILON);
93 CU_ASSERT_DOUBLE_EQUAL(offset[2], 2, DBL_EPSILON);
94 CU_ASSERT_DOUBLE_EQUAL(offset[3], 2, DBL_EPSILON);
96
98 rast1, rast2,
100 &rast,
101 offset
102 );
104 CU_ASSERT(rast != NULL);
107 CU_ASSERT_DOUBLE_EQUAL(offset[0], -2, DBL_EPSILON);
108 CU_ASSERT_DOUBLE_EQUAL(offset[1], -2, DBL_EPSILON);
109 CU_ASSERT_DOUBLE_EQUAL(offset[2], 0, DBL_EPSILON);
110 CU_ASSERT_DOUBLE_EQUAL(offset[3], 0, DBL_EPSILON);
112
114 rast1, rast2,
116 &rast,
117 offset
118 );
120 CU_ASSERT(rast != NULL);
123 CU_ASSERT_DOUBLE_EQUAL(offset[0], -2, DBL_EPSILON);
124 CU_ASSERT_DOUBLE_EQUAL(offset[1], -2, DBL_EPSILON);
125 CU_ASSERT_DOUBLE_EQUAL(offset[2], 0, DBL_EPSILON);
126 CU_ASSERT_DOUBLE_EQUAL(offset[3], 0, DBL_EPSILON);
128
130 rast1, rast2,
132 &rast,
133 offset
134 );
136 CU_ASSERT(rast != NULL);
139 CU_ASSERT_DOUBLE_EQUAL(offset[0], 0, DBL_EPSILON);
140 CU_ASSERT_DOUBLE_EQUAL(offset[1], 0, DBL_EPSILON);
141 CU_ASSERT_DOUBLE_EQUAL(offset[2], 2, DBL_EPSILON);
142 CU_ASSERT_DOUBLE_EQUAL(offset[3], 2, DBL_EPSILON);
144
147 rast1, rast2,
149 &rast,
150 offset
151 );
152 CU_ASSERT_NOT_EQUAL(err,
ES_NONE);
154
157 rast1, rast2,
159 &rast,
160 offset
161 );
162 CU_ASSERT_NOT_EQUAL(err,
ES_NONE);
164
167 rast1, rast2,
169 &rast,
170 offset
171 );
172 CU_ASSERT_NOT_EQUAL(err,
ES_NONE);
173
176}
void rt_raster_set_scale(rt_raster raster, double scaleX, double scaleY)
Set scale in projection units.
void rt_raster_set_skews(rt_raster raster, double skewX, double skewY)
Set skews about the X and Y axis.
rt_raster rt_raster_new(uint32_t width, uint32_t height)
Construct a raster with given dimensions.
uint16_t rt_raster_get_height(rt_raster raster)
void rt_raster_set_srid(rt_raster raster, int32_t srid)
Set raster's SRID.
uint16_t rt_raster_get_width(rt_raster raster)
rt_errorstate rt_raster_from_two_rasters(rt_raster rast1, rt_raster rast2, rt_extenttype extenttype, rt_raster *rtnraster, double *offset)
void rt_raster_set_offsets(rt_raster raster, double x, double y)
Set insertion points in projection units.
void cu_free_raster(rt_raster raster)