diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2018-08-19 14:31:01 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-08-19 14:31:01 +0200 |
| commit | f05de97c210ece96da6f230465e483e0cfff2c7d (patch) | |
| tree | b8fbc5bc3ba5086030665621d300c80df604969c | |
| parent | bb8937e047afef45bbb790613106165c71746c49 (diff) | |
| download | PROJ-f05de97c210ece96da6f230465e483e0cfff2c7d.tar.gz PROJ-f05de97c210ece96da6f230465e483e0cfff2c7d.zip | |
pj_transform / cs2cs: honour +geoc flag
| -rwxr-xr-x | nad/testvarious | 37 | ||||
| -rw-r--r-- | nad/tv_out.dist | 12 | ||||
| -rw-r--r-- | src/pj_transform.c | 4 |
3 files changed, 37 insertions, 16 deletions
diff --git a/nad/testvarious b/nad/testvarious index 30d1402f..c0a8ff29 100755 --- a/nad/testvarious +++ b/nad/testvarious @@ -139,20 +139,29 @@ $EXE +proj=geocent +datum=WGS84 \ 0.00 -0.00 6356752.31 EOF # -#echo "#############################################################" >> ${OUT} -#echo Test conversion between geocentric latlong and geodetic latlong >> ${OUT} -# -# The +geoc flag does not currently work with pj_transform() so this is -# disabled. -# -#$EXE +proj=latlong +datum=WGS84 +geoc \ -# +to +proj=latlong +datum=WGS84 \ -# -E >>${OUT} <<EOF -#0d00'00.000"W 0d00'00.000"N 0.0 -#79d00'00.000"W 45d00'00.000"N 0.0 -#12d00'00.000"W 45d00'00.000"N 0.0 -#0d00'00.000"W 90d00'00.000"N 0.0 -#EOF +echo "#############################################################" >> ${OUT} +echo Test conversion from geocentric latlong to geodetic latlong >> ${OUT} +# +$EXE +proj=latlong +datum=WGS84 +geoc \ + +to +proj=latlong +datum=WGS84 \ + -E >>${OUT} <<EOF +0d00'00.000"W 0d00'00.000"N 0.0 +79d00'00.000"W 45d00'00.000"N 0.0 +12d00'00.000"W 45d00'00.000"N 0.0 +0d00'00.000"W 90d00'00.000"N 0.0 +EOF +# +echo "#############################################################" >> ${OUT} +echo Test conversion from geodetic latlong to geocentric latlong >> ${OUT} +# +$EXE +proj=latlong +datum=WGS84 \ + +to +proj=latlong +datum=WGS84 +geoc \ + -E >>${OUT} <<EOF +0d00'00.000"W 0d00'00.000"N 0.0 +79d00'00.000"W 44d48'27.276"N 0.000 +12d00'00.000"W 44d48'27.276"N 0.0 +0d00'00.000"W 90d00'00.000"N 0.0 +EOF # echo "##############################################################" >> ${OUT} echo "Test stere projection (re: win32 ticket 12)" >> ${OUT} diff --git a/nad/tv_out.dist b/nad/tv_out.dist index 743eeabe..f04e2c35 100644 --- a/nad/tv_out.dist +++ b/nad/tv_out.dist @@ -42,6 +42,18 @@ Test geocentric x/y/z consumption. 6378147.00 -0.00 0.00 0dE 0dN 10.000 861996.98 -4434590.01 4487348.41 79dW 45dN 0.001 0.00 -0.00 6356752.31 0dE 90dN -0.004 +############################################################# +Test conversion from geocentric latlong to geodetic latlong +0d00'00.000"W 0d00'00.000"N 0.0 0dE 0dN 0.000 +79d00'00.000"W 45d00'00.000"N 0.0 79dW 44d48'27.276"N 0.000 +12d00'00.000"W 45d00'00.000"N 0.0 12dW 44d48'27.276"N 0.000 +0d00'00.000"W 90d00'00.000"N 0.0 0dE 90dN 0.000 +############################################################# +Test conversion from geodetic latlong to geocentric latlong +0d00'00.000"W 0d00'00.000"N 0.0 0dE 0dN 0.000 +79d00'00.000"W 44d48'27.276"N 0.000 79dW 45dN 0.000 +12d00'00.000"W 44d48'27.276"N 0.0 12dW 45dN 0.000 +0d00'00.000"W 90d00'00.000"N 0.0 0dE 90dN 0.000 ############################################################## Test stere projection (re: win32 ticket 12) 105 40 5577808.93 1494569.40 0.00 diff --git a/src/pj_transform.c b/src/pj_transform.c index b459e4a2..80294f6d 100644 --- a/src/pj_transform.c +++ b/src/pj_transform.c @@ -190,7 +190,7 @@ static int geographic_to_projected (PJ *P, long n, int dist, double *x, double * long i; /* Nothing to do? */ - if (P->is_latlong) + if (P->is_latlong && !P->geoc) return 0; if (P->is_geocent) return 0; @@ -290,7 +290,7 @@ static int projected_to_geographic (PJ *P, long n, int dist, double *x, double * long i; /* Nothing to do? */ - if (P->is_latlong) + if (P->is_latlong && !P->geoc) return 0; /* Check first if projection is invertible. */ |
