Get raster's envelope.
The envelope is the minimum bounding rectangle of the raster
- Parameters
-
| raster | : the raster to get envelope of |
| env | : pointer to rt_envelope |
- Returns
- ES_NONE if success, ES_ERROR if error
Definition at line 871 of file rt_raster.c.
874 {
875 int i;
876 int rtn;
877 int set = 0;
878 double _r[2] = {0.};
879 double _w[2] = {0.};
880 double _gt[6] = {0.};
881
882 assert(raster != NULL);
883 assert(env != NULL);
884
886
887 for (i = 0; i < 4; i++) {
888 switch (i) {
889 case 0:
890 _r[0] = 0;
891 _r[1] = 0;
892 break;
893 case 1:
894 _r[0] = 0;
896 break;
897 case 2:
900 break;
901 case 3:
903 _r[1] = 0;
904 break;
905 }
906
908 raster,
909 _r[0], _r[1],
910 &(_w[0]), &(_w[1]),
911 _gt
912 );
914 rterror(
"rt_raster_get_envelope: Could not compute spatial coordinates for raster pixel");
916 }
917
918 if (!set) {
919 set = 1;
924 }
925 else {
926 if (_w[0] < env->
MinX)
928 else if (_w[0] > env->
MaxX)
930
931 if (_w[1] < env->
MinY)
933 else if (_w[1] > env->
MaxY)
935 }
936 }
937
939}
void rterror(const char *fmt,...)
Wrappers used for reporting errors and info.
raster
Be careful!! Zeros function's input parameter can be a (height x width) array, not (width x height): ...
rt_errorstate rt_raster_cell_to_geopoint(rt_raster raster, double xr, double yr, double *xw, double *yw, double *gt)
Convert an xr, yr raster point to an xw, yw point on map.
void rt_raster_get_geotransform_matrix(rt_raster raster, double *gt)
Get 6-element array of raster geotransform matrix.
References ES_ERROR, ES_NONE, rt_envelope::MaxX, rt_envelope::MaxY, rt_envelope::MinX, rt_envelope::MinY, rt_raster_cell_to_geopoint(), rt_raster_get_geotransform_matrix(), and rterror().
Referenced by rt_raster_get_envelope_geom(), and test_raster_envelope().