PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ 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 668 of file rt_geometry.c.

669 {
670  double scale_x, scale_y;
671  double skew_x, skew_y;
672  double ul_x, ul_y;
673  int32_t srid;
674  double center_x, center_y;
675  LWPOINT* point;
676 
677  scale_x = rt_raster_get_x_scale(rast);
678  scale_y = rt_raster_get_y_scale(rast);
679  skew_x = rt_raster_get_x_skew(rast);
680  skew_y = rt_raster_get_y_skew(rast);
683  srid = rt_raster_get_srid(rast);
684 
685  center_x = scale_x * x + skew_x * y + ul_x + (scale_x + skew_x) * 0.5;
686  center_y = scale_y * y + skew_y * x + ul_y + (scale_y + skew_y) * 0.5;
687  point = lwpoint_make2d(srid, center_x, center_y);
688 
689  return point;
690 }
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(), rtpixdump::rast, 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(), rt_raster_get_y_skew(), pixval::x, and pixval::y.

Referenced by RASTER_getPixelCentroids().

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