Make lwproj_is_latlong available in lwgeom_transform.h, references GH-659

This commit is contained in:
Paul Ramsey 2022-02-08 11:00:51 -08:00
parent 1052dfb9f6
commit 2fb1520526
3 changed files with 10 additions and 9 deletions

View file

@ -534,7 +534,7 @@ DeleteFromPROJSRSCache(PROJSRSCache *PROJCache, uint32_t position)
int
GetLWPROJ(int32_t srid_from, int32_t srid_to, LWPROJ **pj)
lwproj_lookup(int32_t srid_from, int32_t srid_to, LWPROJ **pj)
{
/* get or initialize the cache for this round */
PROJSRSCache* proj_cache = GetPROJSRSCache();
@ -552,8 +552,8 @@ GetLWPROJ(int32_t srid_from, int32_t srid_to, LWPROJ **pj)
return pj != NULL;
}
static int
proj_pj_is_latlong(const LWPROJ *pj)
int
lwproj_is_latlong(const LWPROJ *pj)
{
#if POSTGIS_PROJ_VERSION < 61
return pj_is_latlong(pj->pj_from);
@ -566,9 +566,9 @@ static int
srid_is_latlong(int32_t srid)
{
LWPROJ *pj;
if ( GetLWPROJ(srid, srid, &pj) == LW_FAILURE)
if ( lwproj_lookup(srid, srid, &pj) == LW_FAILURE)
return LW_FALSE;
return proj_pj_is_latlong(pj);
return lwproj_is_latlong(pj);
}
void
@ -613,7 +613,7 @@ spheroid_init_from_srid(int32_t srid, SPHEROID *s)
double major_axis, minor_axis, eccentricity_squared;
#endif
if ( GetLWPROJ(srid, srid, &pj) == LW_FAILURE)
if ( lwproj_lookup(srid, srid, &pj) == LW_FAILURE)
return LW_FAILURE;
#if POSTGIS_PROJ_VERSION >= 61

View file

@ -64,7 +64,8 @@ char *GetProj4String(int32_t srid);
/* Prototypes */
PROJSRSCache* GetPROJSRSCache();
int GetLWPROJ(int32_t srid_from, int32_t srid_to, LWPROJ **pj);
int lwproj_lookup(int32_t srid_from, int32_t srid_to, LWPROJ **pj);
int lwproj_is_latlong(const LWPROJ *pj);
int spheroid_init_from_srid(int32_t srid, SPHEROID *s);
void srid_check_latlong(int32_t srid);
srs_precision srid_axis_precision(int32_t srid, int precision);

View file

@ -74,7 +74,7 @@ Datum transform(PG_FUNCTION_ARGS)
PG_RETURN_POINTER(geom);
postgis_initialize_cache();
if ( GetLWPROJ(srid_from, srid_to, &pj) == LW_FAILURE )
if ( lwproj_lookup(srid_from, srid_to, &pj) == LW_FAILURE )
{
PG_FREE_IF_COPY(geom, 0);
elog(ERROR, "ST_Transform: Failure reading projections from spatial_ref_sys.");
@ -211,7 +211,7 @@ Datum LWGEOM_asKML(PG_FUNCTION_ARGS)
if (srid_from != srid_to)
{
LWPROJ *pj;
if (GetLWPROJ(srid_from, srid_to, &pj) == LW_FAILURE)
if (lwproj_lookup(srid_from, srid_to, &pj) == LW_FAILURE)
{
PG_FREE_IF_COPY(geom, 0);
elog(ERROR, "ST_AsKML: Failure reading projections from spatial_ref_sys.");