GRASS GIS 8 Programmer's Manual 8.4.1(2025)-45ca3179ab
Loading...
Searching...
No Matches
ellipse.c File Reference

GProj library - Functions for reading datum parameters from the location database. More...

#include <unistd.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <grass/gis.h>
#include <grass/glocale.h>
#include <grass/gprojects.h>
#include "local_proto.h"
Include dependency graph for ellipse.c:

Go to the source code of this file.

Functions

int GPJ_get_ellipsoid_params (double *a, double *e2, double *rf)
 Get the ellipsoid parameters from the database.
 
int GPJ__get_ellipsoid_params (const struct Key_Value *proj_keys, double *a, double *e2, double *rf)
 Get the ellipsoid parameters from proj keys structure.
 
int GPJ_get_ellipsoid_by_name (const char *name, struct gpj_ellps *estruct)
 Looks up ellipsoid in ellipsoid table and returns the a, e2 parameters for the ellipsoid.
 
struct ellps_list * read_ellipsoid_table (int fatal)
 
void GPJ_free_ellps (struct gpj_ellps *estruct)
 Free ellipsoid data structure.
 
void free_ellps_list (struct ellps_list *elist)
 

Detailed Description

GProj library - Functions for reading datum parameters from the location database.

Author
Paul Kelly <paul-grass stjohnspoint.co.uk>

(C) 2003-2008 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Definition in file ellipse.c.

Function Documentation

◆ free_ellps_list()

void free_ellps_list ( struct ellps_list * elist)

Definition at line 310 of file ellipse.c.

References G_free(), and NULL.

Referenced by GPJ_get_ellipsoid_by_name(), and GPJ_osr_to_grass().

◆ GPJ__get_ellipsoid_params()

int GPJ__get_ellipsoid_params ( const struct Key_Value * proj_keys,
double * a,
double * e2,
double * rf )

Get the ellipsoid parameters from proj keys structure.

If the PROJECTION_FILE exists in the PERMANENT mapset, read info from that file, otherwise return WGS 84 values.

Dies with diagnostic if there is an error.

Parameters
proj_keysproj definition
[out]asemi-major axis
[out]e2first eccentricity squared
[out]rfreciprocal of the ellipsoid flattening term
Returns
1 on success
0 default values used.

Definition at line 74 of file ellipse.c.

References G_asprintf(), G_fatal_error(), G_find_key_value(), G_free(), G_store(), GPJ_free_datum(), GPJ_free_ellps(), GPJ_get_datum_by_name(), GPJ_get_ellipsoid_by_name(), and NULL.

Referenced by GPJ_get_ellipsoid_params(), GPJ_grass_to_osr(), GPJ_osr_to_grass(), and pj_get_kv().

◆ GPJ_free_ellps()

void GPJ_free_ellps ( struct gpj_ellps * estruct)

Free ellipsoid data structure.

Parameters
estructdata structure to be freed

Definition at line 303 of file ellipse.c.

References G_free().

Referenced by GPJ__get_ellipsoid_params(), and GPJ_grass_to_osr().

◆ GPJ_get_ellipsoid_by_name()

int GPJ_get_ellipsoid_by_name ( const char * name,
struct gpj_ellps * estruct )

Looks up ellipsoid in ellipsoid table and returns the a, e2 parameters for the ellipsoid.

Parameters
nameellipsoid name
[out]estructellipsoid
Returns
1 on success
-1 if not found in table

Definition at line 160 of file ellipse.c.

References free_ellps_list(), G_store(), G_strcasecmp(), list, name, NULL, and read_ellipsoid_table().

Referenced by GPJ__get_ellipsoid_params(), and GPJ_grass_to_osr().

◆ GPJ_get_ellipsoid_params()

int GPJ_get_ellipsoid_params ( double * a,
double * e2,
double * rf )

Get the ellipsoid parameters from the database.

If the PROJECTION_FILE exists in the PERMANENT mapset, read info from that file, otherwise return WGS 84 values.

Dies with diagnostic if there is an error.

Parameters
[out]asemi-major axis
[out]e2first eccentricity squared
[out]rfreciprocal of the ellipsoid flattening term
Returns
1 on success
0 default values used.

Definition at line 44 of file ellipse.c.

References G_create_key_value(), G_free_key_value(), G_get_projinfo(), GPJ__get_ellipsoid_params(), and NULL.

◆ read_ellipsoid_table()

struct ellps_list * read_ellipsoid_table ( int fatal)