24#include "local_proto.h"
26static int get_a_e2_rf(
const char *,
const char *,
double *,
double *,
75 double *e2,
double *rf)
79 const char *str, *
str3;
126 "(rf, es or b) in file"));
128 if (get_a_e2_rf(
str4,
str1, a, e2, rf) == 0)
130 "(a, rf, es or b) in file"));
135 if ((str ==
NULL) || (
strcmp(str,
"ll") == 0)) {
181int get_a_e2_rf(
const char *
s1,
const char *
s2,
double *a,
double *e2,
193 f = 1.0 -
sqrt(1.0 - *e2);
240 _(
"Unable to open ellipsoid table file <%s>"),
file);
248 if (*
buf == 0 || *
buf ==
'#')
261 if (get_a_e2_rf(
buf1,
buf2, &a, &e2, &rf) ||
262 get_a_e2_rf(
buf2,
buf1, &a, &e2, &rf)) {
268 current->longname =
G_store(descr);
272 current->next =
NULL;
290 n_((
"Line%s of ellipsoid table file <%s> is invalid"),
291 (
"Lines%s of ellipsoid table file <%s> are invalid"),
err),
AMI_err name(char **stream_name)
int G_getl2(char *, int, FILE *)
Gets a line of text from a file of any pedigree.
void G_free(void *)
Free allocated memory.
struct Key_Value * G_get_projinfo(void)
Gets projection information for location.
void void void void G_fatal_error(const char *,...) __attribute__((format(printf
void G_warning(const char *,...) __attribute__((format(printf
const char * G_gisbase(void)
Get full path name of the top level module directory.
void G_free_key_value(struct Key_Value *)
Free allocated Key_Value structure.
void G_strip(char *)
Removes all leading and trailing white space from string.
int G_asprintf(char **, const char *,...) __attribute__((format(printf
struct Key_Value * G_create_key_value(void)
Allocate and initialize Key_Value structure.
const char * G_find_key_value(const char *, const struct Key_Value *)
Find given key (case sensitive)
int int G_strcasecmp(const char *, const char *)
String compare ignoring case (upper or lower)
char * G_store(const char *)
Copy string to allocated memory.
void GPJ_free_datum(struct gpj_datum *)
Free the memory used for the strings in a gpj_datum struct.
int GPJ_get_datum_by_name(const char *, struct gpj_datum *)
Look up a string in datum.table file to see if it is a valid datum name and if so place its informati...
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)
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.
void free_ellps_list(struct ellps_list *elist)
void GPJ_free_ellps(struct gpj_ellps *estruct)
Free ellipsoid data structure.
int GPJ_get_ellipsoid_params(double *a, double *e2, double *rf)
Get the ellipsoid parameters from the database.
#define n_(strs, strp, num)
SYMBOL * err(FILE *fp, SYMBOL *s, char *msg)