diff options
| author | Kristian Evers <kristianevers@gmail.com> | 2018-03-20 21:47:48 +0100 |
|---|---|---|
| committer | Kristian Evers <kristianevers@gmail.com> | 2018-03-20 22:47:47 +0100 |
| commit | 35a2b5cbe6386e985ae53c95b618dc89f60d6e60 (patch) | |
| tree | 65153cbb592e74fabf457fcf5911a07422811588 | |
| parent | 8e0c5db70431dea254d6de3a380fe76bccfbbb1f (diff) | |
| download | PROJ-35a2b5cbe6386e985ae53c95b618dc89f60d6e60.tar.gz PROJ-35a2b5cbe6386e985ae53c95b618dc89f60d6e60.zip | |
Introduce late expansion of +datum parameters. Fixes #872.
| -rw-r--r-- | src/pj_init.c | 9 | ||||
| -rw-r--r-- | test/gie/4D-API_cs2cs-style.gie | 13 |
2 files changed, 19 insertions, 3 deletions
diff --git a/src/pj_init.c b/src/pj_init.c index a6c50a14..48921aa5 100644 --- a/src/pj_init.c +++ b/src/pj_init.c @@ -587,9 +587,12 @@ pj_init_ctx(projCtx ctx, int argc, char **argv) { PIN->vgridlist_geoid = NULL; PIN->vgridlist_geoid_count = 0; - /* Set datum parameters */ - if (pj_datum_set(ctx, start, PIN)) - return pj_default_destructor (PIN, proj_errno(PIN)); + /* Set datum parameters. Similarly to +init parameters we want to expand */ + /* +datum parameters as late as possible when dealing with pipelines. */ + /* otherwise only the first occurrence of +datum will be expanded and that */ + if (n_pipelines == 0) + if (pj_datum_set(ctx, start, PIN)) + return pj_default_destructor (PIN, proj_errno(PIN)); err = pj_ellipsoid (PIN); diff --git a/test/gie/4D-API_cs2cs-style.gie b/test/gie/4D-API_cs2cs-style.gie index b7c37c83..37f223b7 100644 --- a/test/gie/4D-API_cs2cs-style.gie +++ b/test/gie/4D-API_cs2cs-style.gie @@ -214,4 +214,17 @@ accept 487147.594520173 4934316.46263998 0 expect -10370728.80 5552839.74 0 ------------------------------------------------------------------------------- +------------------------------------------------------------------------------- +Test that +datum parameters are handled correctly in pipelines. +See #872 for details. +------------------------------------------------------------------------------- +operation +proj=pipeline + +step +proj=longlat +datum=NAD27 +inv + +step +proj=longlat +datum=WGS84 +------------------------------------------------------------------------------- +tolerance 20 cm +accept -100 40 0 +expect -100.0004058367 40.0000058947 0.0000 +------------------------------------------------------------------------------- + </gie> |
