[Proj] cs2cs produces partial output when called from matlab
charles.karney at sri.com
Wed Nov 5 07:05:37 EST 2014
This works OK for me (Matlab 2013a on Linux). Perhaps make sure that
1.tmp really has only the 1 number in it and doesn't contains carriage
returns that cause later numbers to overwrite earlier ones. Failing
that, switch to Octave!
On 11/05/2014 04:47 AM, Shimi Chen wrote:
> I realize that MATLAB is proprietary software and thus not very
> However I would appreciate if someone could think if he has an idea why
> this could happen.
> I will explain the issue with a simple example.
> I made a file 0.tmp with the contents:
> 35.049 31.728
> Running this command:
> cs2cs +init=epsg:4326 +to +init=epsg:2039 <0.tmp >1.tmp
> Produces this correct 1.tmp file:
> 204718.31 626160.79 -20.79
> However, when calling the exact same command from the matlab shell:
> system(['cs2cs +init=epsg:4326 +to +init=epsg:2039 <0.tmp >1.tmp'])
> The resulting file 1.tmp only has these contents:
> So, clearly, cs2cs is getting all of the input, since otherwise it could
> not get the -20.79 right. The question is why would it not also write
> 204718.31 626160.79 to the file?
> What weird thing could MATLAB be doing with the input that would make
> cs2cs produce this partial output?
> Note: do not try to reproduce in Octave. It works fine in Octave.
> Proj mailing list
> Proj at lists.maptools.org
More information about the Proj