Loading...
Searching...
No Matches
get_proj.c File Reference

GProj library - Functions for re-projecting point data. More...

`#include <stdio.h>`
`#include <stdlib.h>`
`#include <ctype.h>`
`#include <math.h>`
`#include <string.h>`
`#include <grass/gis.h>`
`#include <grass/gprojects.h>`
`#include <grass/glocale.h>`
Include dependency graph for get_proj.c:

Go to the source code of this file.

## Macros

#define | FINDERFUNC set_proj_share
#define | PERMANENT "PERMANENT"
#define | MAX_PARGS 100

## Functions

int | pj_get_kv (struct pj_info *info, const struct Key_Value *in_proj_keys, const struct Key_Value *in_units_keys)
| Create a pj_info struct Co-ordinate System definition from a set of PROJ_INFO / PROJ_UNITS-style key-value pairs.
int | pj_get_string (struct pj_info *info, char *str)
| Create a pj_info struct Co-ordinate System definition from a string with a sequence of key=value pairs.
const char * | set_proj_share (const char *name)
int | pj_print_proj_params (const struct pj_info *iproj, const struct pj_info *oproj)
| Print projection parameters as used by PROJ.4 for input and output co-ordinate systems.

## Detailed Description

GProj library - Functions for re-projecting point data.

Author
  Original Author unknown, probably Soil Conservation Service, Eric Miller, Paul Kelly, Markus Metz

(C) 2003-2008, 2018 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 get_proj.c.

## Macro Definition Documentation

## FINDERFUNC

#define FINDERFUNC set_proj_share

Definition at line 26 of file get_proj.c.

## MAX_PARGS

#define MAX_PARGS 100

Definition at line 28 of file get_proj.c.

Referenced by pj_get_string().

## PERMANENT

#define PERMANENT "PERMANENT"

Definition at line 27 of file get_proj.c.

## Function Documentation

## pj_get_kv()

int pj_get_kv | ( | struct pj_info * | info,
|  | const struct Key_Value * | in_proj_keys,
|  | const struct Key_Value * | in_units_keys )

Create a pj_info struct Co-ordinate System definition from a set of PROJ_INFO / PROJ_UNITS-style key-value pairs.

This function takes a GRASS-style co-ordinate system definition as stored in the PROJ_INFO and PROJ_UNITS files and processes it to create a pj_info representation for use in re-projecting with pj_do_proj(). In addition to the parameters passed to it it may also make reference to the system ellipse.table and datum.table files if necessary.

Parameters

  info | Pointer to a pj_info struct (which must already exist) into which the co-ordinate system definition will be placed
  in_proj_keys | PROJ_INFO-style key-value pairs
  in_units_keys | PROJ_UNITS-style key-value pairs

Returns
  -1 on error (unable to initialise PROJ.4) 2 if "default" 3-parameter datum shift values from datum.table were used 3 if an unrecognised datum name was passed on to PROJ.4 (and initialization was successful) 1 otherwise

Definition at line 60 of file get_proj.c.

References err(), G_fatal_error(), G_find_key_value(), G_free(), G_store(), G_warning(), GPJ__get_datum_params(), GPJ__get_ellipsoid_params(), GPJ_get_default_datum_params_by_name(), NULL, and strcpy.

Referenced by GPJ_grass_to_osr().

## pj_get_string()

int pj_get_string | ( | struct pj_info * | info,
|  | char * | str )

Create a pj_info struct Co-ordinate System definition from a string with a sequence of key=value pairs.

This function takes a GRASS- or PROJ style co-ordinate system definition and processes it to create a pj_info representation for use in re-projecting with pj_do_proj(). In addition to the parameters passed to it it may also make reference to the system ellipse.table and datum.table files if necessary.

Parameters

  info | Pointer to a pj_info struct (which must already exist) into which the co-ordinate system definition will be placed
  str | input string with projection definition

Returns
  -1 on error (unable to initialise PROJ.4) 1 on success

Definition at line 319 of file get_proj.c.

References G_fatal_error(), G_free(), G_store(), G_warning(), MAX_PARGS, NULL, and strcpy.

## pj_print_proj_params()

int pj_print_proj_params | ( | const struct pj_info * | iproj,
|  | const struct pj_info * | oproj )

Print projection parameters as used by PROJ.4 for input and output co-ordinate systems.

Parameters

  iproj | 'Input' co-ordinate system
  oproj | 'Output' co-ordinate system

Returns
  1 on success, -1 on error (i.e. if the PROJ-style definition is NULL for either co-ordinate system)

Definition at line 474 of file get_proj.c.

References NULL.

## set_proj_share()

const char * set_proj_share | ( | const char * | name | ) |

Definition at line 438 of file get_proj.c.

References G_free(), name, and NULL.