[FOSS-GPS] GPS Toolkit users - broadcast ephemerides problem

sergio santos sergio.rss at gmail.com
Thu Sep 25 07:21:16 PDT 2014


Greetings.

For anyone familiar with GPStk... I am using GPStk in a positioning project
but strangely I'm having problems to use the broadcast ephemerides.

 I was trying to extract the satellites position from the broadcast
navigation message using an GPSEphemerisStore?
<http://www.gpstk.org/bin/edit/Forum/GPSEphemerisStore?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>
object like in example 4. But then when trying to use the function
.getXvt(prn, t) the program crashes (although no error is detected in code
before compilation), with the following message:

"Non processed exception: InteropServices?
<http://www.gpstk.org/bin/edit/System/Runtime/InteropServices?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>.SEHException:
The external component activated an exception. in gpstk.OrbitEph.svXvt(
OrbitEph?
<http://www.gpstk.org/bin/edit/Forum/OrbitEph?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>*
, Xvt* , CommonTime?
<http://www.gpstk.org/bin/edit/Forum/CommonTime?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>*
) in main() em c:\users\user\documents\visual studio
2012\projects\gnssrelpos\g nssrelpos\main.cpp:line 143 in mainCRTStartup()
Press key to continue . . ."

I already used this approach successfully a few years ago in another
project using version 1.6 of GPStk.

 I tried to investigate a little bit the origin of the problem by making a
few tests:

code:

RinexNavStream?
<http://www.gpstk.org/bin/edit/Forum/RinexNavStream?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>
rin_nav(nav_path.c_str());

RinexNavData?
<http://www.gpstk.org/bin/edit/Forum/RinexNavData?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>
nav_data;

while (rin_nav >> nav_data) BcEStore?
<http://www.gpstk.org/bin/edit/Forum/BcEStore?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>.addEphemeris(nav_data);


SatID?
<http://www.gpstk.org/bin/edit/Forum/SatID?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>
s(23, SatID?
<http://www.gpstk.org/bin/edit/Forum/SatID?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>::systemGPS);


CommonTime?
<http://www.gpstk.org/bin/edit/Forum/CommonTime?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>
t = BcEStore?
<http://www.gpstk.org/bin/edit/Forum/BcEStore?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>.getInitialTime();


const OrbitEph?
<http://www.gpstk.org/bin/edit/Forum/OrbitEph?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>
*eph = BcEStore?
<http://www.gpstk.org/bin/edit/Forum/BcEStore?topicparent=Forum.DiscussionForumArticle2014x09x03x09x49>.findOrbitEph(s,
t);

cout << "test: " << eph->asString() << endl;

cout << "test2: " << eph->ecc << endl;

cout << "test3: " << eph->svClockBias(t) << endl;

cout << "test4: " << eph->isValid(t) << endl;

Xvt sv = eph->svXvt(t);

cout << "x = " << sv.x[0] << endl;

These tests resulted in the following output:

test: EPH G23 | 2011 74 12:00:00 | 74 12:00:00 | 74 12:00:00 | 74 14:00:00
| 74 12:00:00 | 71 | 71 | 0

test2: 0.00703742

test3: 0.00032

test4: 0

All of which are consistent with the nav file. After that the program
crashes and the exception message appears. Has anyone had similar
difficulties using broadcast ephemerides?

I suspect it may be some glitch in the classes involved from one of the
version updates between 1.6 and the current 2.4 version. So, before diving
into the code itself I was wondering if anyone has noticed this issue also.

Thank you

Sérgio Santos
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/foss-gps/attachments/20140925/986d7aab/attachment.html>


More information about the FOSS-GPS mailing list