Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug in inverse in pj_sts.c #40

Closed
proj4-bot opened this issue May 22, 2015 · 5 comments
Closed

bug in inverse in pj_sts.c #40

proj4-bot opened this issue May 22, 2015 · 5 comments

Comments

@proj4-bot
Copy link

Reported by barendgehrels on 17 May 2009 21:31 UTC
The inverse projection in file PJ_sts.c gives wrong results.

Line 34, lp.phi /= P->C_p; should be erased because is duplicated in line 35.
This is already solved in libproj4

Migrated-From: https://trac.osgeo.org/proj/ticket/40

@proj4-bot
Copy link
Author

Comment by warmerdam on 18 May 2009 23:37 UTC
I have attempted to do the same thing slightly differently by removing the second operation (as a side effect inside another expression - ouch!) The change is in trunk (3a602739 (SVN rev1578)). I'd appreciate confirmation that this is appropriate and test data for this projection that I could add to the test suite.

@proj4-bot proj4-bot added this to the 4.7.0 milestone May 22, 2015
@proj4-bot
Copy link
Author

Comment by barendgehrels on 19 May 2009 07:44 UTC
I can confirm that the change is correct.

The "side effect" is also present in the line above. Actually they are a weird thing in C, embraced by some, rejected by others, and present in many more proj4 sources.
I don't know if you want to stay close to the original or branched versions, or that you want to refactor these constructs (making ports to other languages easier).

Where is the test suite?

@proj4-bot
Copy link
Author

Comment by warmerdam on 19 May 2009 13:53 UTC
It is my wish to make minimal changes in the hopes that eventual merging with Gerald's fork will be easier. There is a modest test suite in the proj/nad directory (rather counter intuitive location I know!).

See proj/nad/testvarious

It is sufficient however if you can provide input, expected output and the coordinate system.

@proj4-bot
Copy link
Author

Comment by barendgehrels on 19 May 2009 14:11 UTC
OK, I'm not familiar with those kinds of tests so limit myself indeed to the input/output:

(string, lon, lat, x, y, pars)

forward: ("kav5", 4.897000, 52.371000, 383646.088858, 5997047.888175, "+proj=kav5 +ellps=WGS84 +units=m");

(string, x, y, lon, lat, pars)

inverse: ("kav5", 383646.088858, 5997047.888175, 4.897000, 52.371000, "+proj=kav5 +ellps=WGS84 +units=m");

These x,y are '''not''' "the expected values", they are the ''proj4-calculated-values''. However, when applying then the inverse you might expect to get back a lon,lat pair which is close to the original input and that is what I checked.

If wished I can provide a proj4 testfile-in-C "checking" (in this way) all projections (I have it, with slight adaptions it is probably convenient).

Most projections are doing well, some have a difference of a few meters or kilometer, one of them is wrong (I contacted Gerald), one is still to be checked further.

@proj4-bot
Copy link
Author

Comment by warmerdam on 19 May 2009 15:07 UTC
I have added in this test for kav5 in trunk along with a bit of restructuring (9de8a9b (SVN rev1579)).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant