21 double units_to_meters_squared;
30static struct state *st = &state;
51 switch (st->projection = st->window.proj) {
63 st->north = st->window.north;
64 st->north_value = st->darea0(st->north);
67 st->square_meters = st->window.ns_res * st->window.ew_res;
70 st->square_meters *= (factor * factor);
71 return (factor > 0.0);
92 return st->square_meters;
94 if (row != st->next_row) {
95 st->north = st->window.north - row * st->window.ns_res;
96 st->north_value = st->darea0(st->north);
99 st->north -= st->window.ns_res;
103 st->next_row = row + 1;
131 st->units_to_meters_squared = factor * factor;
134 st->units_to_meters_squared = 1.0;
void G_begin_ellipsoid_polygon_area(double, double)
Begin area calculations.
double G_darea0_on_sphere(double)
Calculates integral for area between two latitudes.
int G_get_ellipsoid_parameters(double *, double *)
get ellipsoid parameters
double G_database_units_to_meters_factor(void)
Conversion to meters.
void G_get_set_window(struct Cell_head *)
Get the current working window (region)
double G_planimetric_polygon_area(const double *, const double *, int)
Calculates planimetric polygon area.
void G_begin_zone_area_on_sphere(double, double)
Initialize calculations for sphere.
double G_darea0_on_ellipsoid(double)
Calculate integral for area between two latitudes.
void G_begin_zone_area_on_ellipsoid(double, double, double)
Begin area calculations for ellipsoid.
double G_ellipsoid_polygon_area(const double *, const double *, int)
Area of lat-long polygon.
int G_projection(void)
Query cartographic projection.
double G_area_of_cell_at_row(int row)
Cell area in specified row.
int G_begin_cell_area_calculations(void)
Begin cell area calculations.
double G_area_of_polygon(const double *x, const double *y, int n)
Area in square meters of polygon.
int G_begin_polygon_area_calculations(void)
Begin polygon area calculations.
#define PROJECTION_LL
Projection code - Latitude-Longitude.
2D/3D raster map header (used also for region)