PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ rt_raster_pixel_as_centroid_point()

LWPOINT * rt_raster_pixel_as_centroid_point ( rt_raster  rast,
int  x,
int  y 
)

Get a raster pixel centroid point.

Parameters
raster: the raster to get pixel from
x: the column number
y: the row number
Returns
the pixel centroid point, or NULL on error.

Definition at line 669 of file rt_geometry.c.

670{
671 double scale_x, scale_y;
672 double skew_x, skew_y;
673 double ul_x, ul_y;
674 int32_t srid;
675 double center_x, center_y;
676 LWPOINT* point;
677
678 scale_x = rt_raster_get_x_scale(rast);
679 scale_y = rt_raster_get_y_scale(rast);
680 skew_x = rt_raster_get_x_skew(rast);
681 skew_y = rt_raster_get_y_skew(rast);
682 ul_x = rt_raster_get_x_offset(rast);
683 ul_y = rt_raster_get_y_offset(rast);
684 srid = rt_raster_get_srid(rast);
685
686 center_x = scale_x * x + skew_x * y + ul_x + (scale_x + skew_x) * 0.5;
687 center_y = scale_y * y + skew_y * x + ul_y + (scale_y + skew_y) * 0.5;
688 point = lwpoint_make2d(srid, center_x, center_y);
689
690 return point;
691}
LWPOINT * lwpoint_make2d(int32_t srid, double x, double y)
Definition lwpoint.c:163
int32_t rt_raster_get_srid(rt_raster raster)
Get raster's SRID.
Definition rt_raster.c:360
double rt_raster_get_x_skew(rt_raster raster)
Get skew about the X axis.
Definition rt_raster.c:185
double rt_raster_get_x_offset(rt_raster raster)
Get raster x offset, in projection units.
Definition rt_raster.c:217
double rt_raster_get_x_scale(rt_raster raster)
Get scale X in projection units.
Definition rt_raster.c:154
double rt_raster_get_y_scale(rt_raster raster)
Get scale Y in projection units.
Definition rt_raster.c:163
double rt_raster_get_y_skew(rt_raster raster)
Get skew about the Y axis.
Definition rt_raster.c:194
double rt_raster_get_y_offset(rt_raster raster)
Get raster y offset, in projection units.
Definition rt_raster.c:226

References lwpoint_make2d(), rt_raster_get_srid(), rt_raster_get_x_offset(), rt_raster_get_x_scale(), rt_raster_get_x_skew(), rt_raster_get_y_offset(), rt_raster_get_y_scale(), and rt_raster_get_y_skew().

Referenced by RASTER_getPixelCentroids().

Here is the call graph for this function:
Here is the caller graph for this function: