Git Product home page Git Product logo

sgl-ut / gpstk Goto Github PK

View Code? Open in Web Editor NEW
338.0 338.0 181.0 185.46 MB

ATTENTION: This repository has been moved and is for archival purposes only. GPSTk toolkit has been renamed to GNSSTK and has been split into two new separate repositories. GNSSTK now only contains libraries while the other repository GNSSTK-APPS contains only applications. The rename and split into libraries and applications started with version v12.0.0 on September 2021. GPSTk --> GNSSTK at https://gitlab.com/sgl-ut/gnsstk --> GNSSTK-APPS at https://gitlab.com/sgl-ut/gnsstk-apps

License: Other

Shell 0.14% C++ 70.79% Perl 0.44% Gnuplot 0.05% Awk 0.01% Python 0.83% C 0.30% TeX 11.20% MATLAB 0.01% CMake 1.33% Makefile 0.05% Batchfile 0.01% Prolog 0.02% PostScript 14.39% SWIG 0.44%

gpstk's People

Contributors

burundiocibu avatar ckuethe avatar donalbane avatar gloppyuser avatar jmk0 avatar martin-vermeer avatar masamitsutech avatar nathanielhill avatar rwpenney avatar ut-dave avatar ut-malik avatar vestuto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gpstk's Issues

Immediate CMake 3.13 errors on build.sh

It looks like deprecated syntax is being used in GPSTk CMake. Also CMake 3.12 is unable to build.

./build.sh -ue

from master, commit 997d97 of Sep 27 2018 results in

============================================================
cmake -DBUILD_PYTHON=ON -DPYTHON_EXECUTABLE=~/miniconda3/bin/python -DPYTHON_INSTALL_PREFIX=~/.local -DCMAKE_INSTALL_PREFIX=~/.local/gpstk -DBUILD_EXT=ON ~/code_other/GPSTk
CMake Error at swig/PythonSetup.cmake:45 (string):
  string sub-command REGEX, mode MATCH needs at least 5 arguments total to
  command.
Call Stack (most recent call first):
  swig/CMakeLists.txt:8 (include)


CMake Error at swig/PythonSetup.cmake:46 (string):
  string sub-command STRIP requires two arguments.
Call Stack (most recent call first):
  swig/CMakeLists.txt:8 (include)


CMake Error at swig/PythonSetup.cmake:47 (string):
  string sub-command SUBSTRING requires four arguments.
Call Stack (most recent call first):
  swig/CMakeLists.txt:8 (include)


CMake Deprecation Warning at ~/.local/share/cmake-3.13/Modules/UseSWIG.cmake:517 (message):
  SWIG_ADD_MODULE is deprecated.  Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
  swig/CMakeLists.txt:65 (swig_add_module)


CMake Warning (dev) at ~/.local/share/cmake-3.13/Modules/UseSWIG.cmake:557 (message):
  Policy CMP0078 is not set.  Run "cmake --help-policy CMP0078" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
Call Stack (most recent call first):
  ~/.local/share/cmake-3.13/Modules/UseSWIG.cmake:518 (swig_add_library)
  swig/CMakeLists.txt:65 (swig_add_module)
This warning is for project developers.  Use -Wno-dev to suppress it.


Error 1 :-(

A typo in "NeillTropModel::setAllParameters"

instead of this:

      NeillLat = rxPos.getGeodeticLatitude();
      validHeight = true;
      NeillLat = rxPos.getHeight();
      validLat = true;

should be this:

      NeillLat = rxPos.getGeodeticLatitude();
      validLat = true;
      NeillHeight = rxPos.getHeight();
      validHeight = true;

BYTE_ORDER not defined in Mingw/Msys2 Build

In file included from H:/msys64/home/xaedes/GPSTk/core/lib/GNSSEph/EngNav.hpp:50:0,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/GNSSEph/EngAlmanac.hpp:46,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/GNSSCore/IonoModel.hpp:46,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/GNSSCore/IonoModelStore.hpp:48,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/ClockModel/ObsRngDev.hpp:51,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/ClockModel/ORDEpoch.hpp:48,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/ClockModel/ObsClockModel.hpp:56,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/ClockModel/LinearClockModel.hpp:50,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/ClockModel/LinearClockModel.cpp:46:
H:/msys64/home/xaedes/GPSTk/core/lib/Utilities/BinUtils.hpp:66:2: error: #error "Platform doesn't support BYTE_ORDER?"
 #error "Platform doesn't support BYTE_ORDER?"
  ^~~~~

The issue is caused because the system types headers defining BYTE_ORDER are included depending on the platform this is build and mingw is not included.

Assert failing in debug build for MSVC 2017 14.1

There's an issue with FFTextStream.cpp looking at memory before it's char buffer, which is throwing an exception on debug builds in windows. Looks like it probably wouldn't be much of an issue on a "dumber" build or system that's not checking these types of things.

Simple fix though. line 157:

while (*line.rbegin() == '\r')

needs to change to:
while (line[0]!='\0' && *line.rbegin() == '\r')

This will cause the while to exit before it can check the rbegin() function, and it wont access memory wrongly.

Edit: I made this change and it solved the issue for me locally

Python bindings problems in ubuntu x64

Hi. When I tried import in python this error message appears:

`Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import gpstk
Traceback (most recent call last):
File "", line 1, in
File "gpstk.py", line 24751, in
def now(timeSystem=TimeSystem('UTC')):
File "gpstk.py", line 9127, in init
self.this.append(this)
File "gpstk.py", line 9038, in
getattr = lambda self, name: _swig_getattr(self, TimeSystem, name)
File "gpstk.py", line 74, in _swig_getattr
return _swig_getattr_nondynamic(self, class_type, name, 0)
File "gpstk.py", line 69, in _swig_getattr_nondynamic
return object.getattr(self, name)
AttributeError: type object 'object' has no attribute 'getattr'
exit()
`
Ubuntu x64
Python 2.7.12

And make with flags

./build.sh -i "%HOME/progs/gpstk" -cdeTp -P "/usr/bin/python2.7"

Thanks

wavelength of LC

in GPSTK code,the wavelength of LC is 0.1069533781421467m(in fact,it is the narrow-lane wavelength),but in a lot of paper ,the wavelength is 6mm. can you show me the linear combination you used?

Valid RINEX nav files are rejected

Hi,

I am observing GPSTk fail reading (I think) valid RINEX nav files. For example, consider the broadcast nav message for DOY=302 2012:

ftp://cddis.gsfc.nasa.gov/gnss/data/daily/2012/302/12n/brdc3020.12n.Z

My conclusion that the file is valid is based on teqc:

$ teqc +version
executable:  teqc
version:     teqc  2013Mar15
build:       Linux 2.4.21-27.ELsmp|Opteron|gcc|Linux x86_64|=+
$ teqc +v brdc3020.12n
! Notice ! GPS week in RINEX GPS NAV = 688; (default) GPS week = 1898
teqc: 'brdc3020.12n' readable as RINEX V.2.00 format```

Note that teqc (in its documentation states that) checks TOC, TOE, and TOW epochs for consistency.

However, any GPSTk code that relies on OrbitEphStore fails, for example:

$ /home/butala/src/GPSTk/build-remote2-v2.8/ext/apps/Rinextools/RinNav brdc3020.12n
# RinNav, part of the GPS Toolkit, Ver 2.2 10/31/13, Run 2016/05/27 17:47:09
addEphemeris caught excp text 0:Unexpected matching beginValid time but not Toe, for GPS 9, beginValid= 2012/10/28 02:00:00 GPS, Toe(map)= 2012/10/28 02:00:00 GPS, Toe(candidate)= 2012/10/28 04:00:00 GPS
location 0:/home/butala/src/GPSTk/core/lib/GNSSEph/OrbitEphStore.cpp:231
location 1:/home/butala/src/GPSTk/core/lib/GNSSEph/OrbitEphStore.cpp:288
Exception: text 0:Unexpected matching beginValid time but not Toe, for GPS 9, beginValid= 2012/10/28 02:00:00 GPS, Toe(map)= 2012/10/28 02:00:00 GPS, Toe(candidate)= 2012/10/28 04:00:00 GPS
location 0:/home/butala/src/GPSTk/core/lib/GNSSEph/OrbitEphStore.cpp:231
location 1:/home/butala/src/GPSTk/core/lib/GNSSEph/OrbitEphStore.cpp:288
location 2:/home/butala/src/GPSTk/core/lib/GNSSEph/Rinex3EphemerisStore.cpp:174
location 3:/home/butala/src/GPSTk/core/lib/GNSSEph/Rinex3EphemerisStore.cpp:181
location 4:/home/butala/src/GPSTk/ext/apps/Rinextools/RinNav.cpp:814

I was wondering if you could please help. Is the problem with the RINEX nav file or with GPSTk?

A typo in "Vector::toStdVector"

Local variable std::vector<T> v confused with the class member T* v. Instead of:

std::vector<T> v;
for(size_t i = 0; i < s; i++)
   v.push_back(v[i] );

must be:

std::vector<T> v;
for(size_t i = 0; i < s; i++)
   v.push_back(this->v[i] );

Unable to build (functional) Python3 bindings

Per Bryan Parsons suggestion for taking a quick and dirty shot with generating Python3 bindings, I created a CustomPythonSetup.cmake file pointing to my local anaconda 3.6 installation, then built (on OS X 10.12.4) with the command:

et-imac-retina:gpstk-2.9 sjbespa$ sudo ./build.sh -b/Users/sjbespa/work/gpstk/gpstk-2.9-build3 -j8 -eu -P/Users/sjbespa/anaconda/bin/python 

The resulting bindings don't seem to export any symbols, although the module is about the right size (vis-a-vis the python2 bindings):
Last login: Wed Apr 12 09:25:28 on ttys004

et-imac-retina:~ sjbespa$ python
Python 3.6.0 |Anaconda 4.3.1 (x86_64)| (default, Dec 23 2016, 13:19:00) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import gpstk
>>> dir(gpstk)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
>>> gpstk.__path__
['/Users/sjbespa/.local/lib/python3.6/site-packages/gpstk']

Any ideas on how to attack the problem would be greatly appreciated... I see elsewhere on the GPSTK website that the current bindings were conceived "with an eye towards python 2." It would help to understand what that comment means.

there is some error

kghostview:command not found ....could not execute:kghostview.....
ghostview:command not found ...could not execute:ghostview.....
gv:command not found......
evince:command not found.....
gsview32:command not found ....

Problems for load gpstk python, anyone help me please.

I try to run this code

import sys
print(sys.version)
from gpstk import *

but obtain this output

2.7.12 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:42:40) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-1-2fd3bb2e053c> in <module>()
      1 import sys
      2 print(sys.version)
----> 3 from gpstk import *

/home/zenbook/anaconda3/envs/py27/lib/python2.7/site-packages/gpstk/__init__.py in <module>()
      5 # Populate gpstk namespace
      6 #----------
----> 7 from gpstk import *

/home/zenbook/anaconda3/envs/py27/lib/python2.7/site-packages/gpstk/gpstk.py in <module>()
  24759     return _gpstk.SatelliteYawAngle(P, V, Sun, blkIIRF)
  24760 
> 24761 def now(timeSystem=TimeSystem('UTC')):
  24762     """
  24763     Returns the current time (defined by what SystemTime() returns)

/home/zenbook/anaconda3/envs/py27/lib/python2.7/site-packages/gpstk/gpstk.py in __init__(self, *args)
   9125         this = _gpstk.new_TimeSystem(*args)
   9126         try:
-> 9127             self.this.append(this)
   9128         except Exception:
   9129             self.this = this

/home/zenbook/anaconda3/envs/py27/lib/python2.7/site-packages/gpstk/gpstk.py in <lambda>(self, name)
   9036     __setattr__ = lambda self, name, value: _swig_setattr(self, TimeSystem, name, value)
   9037     __swig_getmethods__ = {}
-> 9038     __getattr__ = lambda self, name: _swig_getattr(self, TimeSystem, name)
   9039     __repr__ = _swig_repr
   9040     Unknown = _gpstk.TimeSystem_Unknown

/home/zenbook/anaconda3/envs/py27/lib/python2.7/site-packages/gpstk/gpstk.py in _swig_getattr(self, class_type, name)
     72 
     73 def _swig_getattr(self, class_type, name):
---> 74     return _swig_getattr_nondynamic(self, class_type, name, 0)
     75 
     76 

/home/zenbook/anaconda3/envs/py27/lib/python2.7/site-packages/gpstk/gpstk.py in _swig_getattr_nondynamic(self, class_type, name, static)
     67         return method(self)
     68     if (not static):
---> 69         return object.__getattr__(self, name)
     70     else:
     71         raise AttributeError(name)

AttributeError: type object 'object' has no attribute '__getattr__'

Anyone have some idea about this problem??

Additional details

  • i have a python2.7 conda enviroment in $HOME/anaconda3/envs/py27/lib/python2.7/
  • detail the last lines on bashrc
$ ▶ tail -5 ~/.bashrc | head -5
# added by Anaconda3 4.2.0 installer
export PATH="/home/zenbook/anaconda3/bin:$PATH"
export LD_LIBRARY_PATH=$HOME/anaconda3/envs/py27/lib:/usr/lib:$HOME/.local/gpstk/lib:$LD_LIBRARY_PATH
export PYTHONPATH=$HOME/anaconda3/envs/py27/lib/python2.7/site-packages:$HOME/.local/gpstk/lib:$PYTHONPATH
export PATH=$HOME/.local/gpstk/bin:$PATH

mapR2ObsToR3Obs_G and getObsIndex might cause error in RINEX2

Rinex3ObsToR3Obs_G.cpp

If the code in Rinex2 is "P1", in mapR2ObsToR3Obs_G(), it can convert to "C1W". But in getObsIndex("P1"), it just simply convert to "C1P". So it will throw exception... Is this correct or I misunderstand the rinex file format?

UTCTime constructors are broken

The UTCTime class is supposed to allow construction from a tuple of year/month/day/hour/minute/second, but the implementation does not appear to actually use those values at all. For example, the following initialization (taken from UTCTime::test()):

gpstk::UTCTime utc(short(2002),short(1),short(1),short(0),short(0),0.0);
std::cout << "UTC "<< utc << std::endl;

produces:
UTC 0000000 00000000 0.000000000000000 UNK

Looking at the implementation of these constructors (in https://github.com/SGL-UT/GPSTk/blob/master/ext/lib/Geodyn/UTCTime.hpp), there appear to be CivilTime and YDSTime objects created, but these don't appear to have any influence on the internal state of the construted UTCTime instance.

Am I not using these constructors correctly, or do they not work as intended?

Examples for RTK positioning?

Do you have any examples of using GPSTk for RTK positioning? I remember I saw something some time ago.

Thank you,

Shu

Unable to locate GTest/Gmock when running build.sh on unbunt 18.04

I tried to build the code with TEST enabled.
./build.sh -te

Here is the error log:
`libing@libing:~/source/gnss/GPSTk$ ./build.sh -te
Run cmake -DBUILD_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python -DBUILD_EXT=ON -DTEST_SWITCH=ON -DADDRESS_SANITIZER=ON -DCMAKE_CXX_FLAGS=-O3 /home/libing/source/gnss/GPSTk ##########################

cmake -DBUILD_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python -DBUILD_EXT=ON -DTEST_SWITCH=ON -DADDRESS_SANITIZER=ON -DCMAKE_CXX_FLAGS=-O3 /home/libing/source/gnss/GPSTk
CMake Warning at core/tests/ORD/CMakeLists.txt:42 (message):
Unable to locate GTest/GMock. Some tests cannot be run.

CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.10/Modules/FindSWIG.cmake:63 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
swig/CMakeLists.txt:10 (find_package)

Error 1 :-(
See /home/libing/source/gnss/GPSTk/build/libing-master/Testing/Temporary/LastTest.log for detailed test log
See /home/libing/source/gnss/GPSTk/build/libing-master/build.log for detailed build log
`

Fail to read renix file 'onsa2240.05o'

./example3 ../onsa2240.05o 
Name your PRN of interest (by number: 1 through 32): 3
Reading ../onsa2240.05o.
text 0:Non-text data in file.
text 1:In record 0
text 2:In file ../onsa2240.05o
text 3:Near file line 17
location 0:/home/xxx/source/gnss/GPSTk/core/lib/FileHandling/FFTextStream.cpp:163
location 1:/home/xxx/source/gnss/GPSTk/core/lib/FileHandling/FFStream.cpp:225
location 2:/home/xxx/source/gnss/GPSTk/core/lib/FileHandling/FFStream.hpp:214
location 3:/home/xxx/source/gnss/GPSTk/core/lib/FileHandling/FFStream.hpp:214

Website down

any idea on why the website and API documentation sites are down?
is there any ETA for it to be back?
also is there any alternatives to find the API documentation ?

Precision of orbit prediction with SatOrbitPropagator

Hello everyone!

Could you help me please. I use the GPStk for the prediction of satellite orbit. I use class SatOrbitPropagator. I have exact ephemeris for the Radarsat-1 satellite. I try to propagate ephemeris and i have big difference with exact coordinates. I see that coordinate mistakes increase very fast. For example:
on 8 minutes i have difference 900 meters by X coordinate
on 16 minutes i have difference 2100 meters by X coordinate
...
on 112 minute i have difference 22200 meters by X coordinate.

I use standard integrator RKF78. I try to use different variation of orbit models(atmosphere, gravity, Solar radiation pressure, etc), but i have a same resulats(difference with using different models constitute some meters).

What precision of SatOrbitPropagator? Can i use SatOrbitPropagator for 112 minutes?

Error running ./build.sh on Ubuntu 18.04

Command: ./build.sh -tue -j1

Transcript: https://gist.github.com/JJTriesHisBest/a4c5100d86017e126d2958140cd6edfa

It seems to be a type conversion error. Running with -j1 I see an interesting failure

GPSTk/core/tests/FileHandling/FFBinaryStream_T.cpp:270:4: error: no matching function for call to ‘gpstk::TestUtil::assert(FFBinaryStreamBE&, std::__cxx11::basic_string<char>, int)’
    testFramework.assert(testStrmIn, "Couldn't open " + outfn + " for input", __LINE__);
    ^~~~~~~~~~~~~
In file included from /home/jj/GPSTk/core/tests/FileHandling/FFBinaryStream_T.cpp:40:0:
/home/jj/GPSTk/core/lib/TestFramework/TestUtil.hpp:545:9: note: candidate: void gpstk::TestUtil::assert(bool, const string&, int)
    void TestUtil ::
         ^~~~~~~~
/home/jj/GPSTk/core/lib/TestFramework/TestUtil.hpp:545:9: note:   no known conversion for argument 1 from ‘FFBinaryStreamBE’ to ‘bool’

Bad BINEX CRC for BINEX Record 0x7f

CRC verification is failing for for BINEX Record 0x7f.

Please use attached example BINEX file to reproduce.

example.bnx.tar.gz

Exception:

Exception: text 0:Bad BINEX CRC
location 0:/.../GPSTk/core/lib/FileHandling/Binex/BinexData.cpp:1375
location 1:/.../GPSTk/core/lib/FileHandling/Binex/BinexData.cpp:1439

text 0:Bad BINEX CRC
location 0:/.../GPSTk/core/lib/FileHandling/Binex/BinexData.cpp:1375
location 1:/.../GPSTk/core/lib/FileHandling/Binex/BinexData.cpp:1439

BINEX Record dump:

RecordID:    127
SyncByte:    226
MessageLen:  925
MessageData: 
5 1 61 65451 1 109 96 35 24 83 72 127 65477 12 70 38 65487 65473 65 37 3 126 65485 123 0 3 31 12 122 65520 65505 65472 107 126 16 65412 65529 22 0 65435 9 21 114 65457 30 65 101 65481 27 80 89 65410 68 65492 34 3 5 65 46 65425 1 65410 0 65517 1 65455 65463 17 107 65531 65424 65472 120 65523 14 106 65532 65535 65473 79 65503 3 107 65534 65520 65474 19 33 26 80 89 65411 68 65503 47 71 61 126 65500 65493 1 65409 65534 65438 127 65421 65515 17 106 65534 65449 1 65424 122 14 105 65535 65514 64 65474 65414 3 106 65532 65468 63 65516 15 18 48 65 86 69 65477 60 112 65514 64 80 118 17 18 65534 65524 64 90 96 3 18 65534 47 64 65451 72 21 48 65 111 65413 76 65449 65526 113 65471 30 65505 17 71 65521 57 65469 65526 93 3 71 65531 65532 65471 65511 65449 36 83 72 88 65414 124 65443 65411 65451 65408 10 43 3 78 65514 65504 1 27 22 12 74 65516 35 65408 65463 65501 16 90 65526 65429 65472 119 57 21 72 65523 120 1 90 65436 20 48 65 118 65413 22 65461 65513 65511 65416 67 65480 17 82 65523 28 65416 112 65509 3 82 65531 65496 65417 19 65432 10 80 89 118 69 71 65462 80 124 72 65436 65496 1 113 0 65448 65476 21 88 17 73 65534 65451 71 65464 67 14 88 65533 65477 4 65465 65505 3 73 65535 65450 68 70 65524 16 48 65 121 65476 65457 65510 11 72 65535 65494 11 17 102 65519 65522 64 74 10 3 102 65532 65517 64 111 65473 12 83 76 111 65413 22 67 65466 60 65471 106 65449 3 117 20 65500 65535 65436 111 8 119 16 104 0 42 41 16 123 8 83 62 65532 65532 21 109 10 65482 64 65517 65466 11 83 72 114 65477 49 41 65441 65507 65476 18 17 3 116 5 65502 0 65511 65449 12 110 65520 65531 65473 64 65427 16 120 65529 57 65410 65431 120 21 105 65531 9 4 72 126 13 33 65473 58 101 4 65504 71 123 65478 2 64 85 11 97 21 92 3 65502 65514 11 33 65473 2 123 65413 44 65503 65500 32 65468 77 65478 11 111 21 65432 65465 111 65457 8 80 89 111 69 105 6 65506 65506 65 122 65424 1 101 65534 10 65471 87 92 17 54 65532 97 65475 117 106 14 83 65535 7 66 98 65456 3 54 65532 107 65535 65448 106 6 17 65473 50 91 5 93 65433 65516 83 0 99 65510 31 48 65 72 65477 65519 36 105 65454 65533 65421 18 17 17 17 65461 65462 102 65479 3 17 65535 73 65469 65456 65488 123 34 65 107 65416 65534 126 65479 65510 65413 21 65511 7 109 65457 36 70 65468 2 12 33 65473 62 65413 4 65416 65441 65527 65505 62 65474 65445 11 124 17 65526 65409 64 114 25 83 72 123 65413 65435 65438 52 26 65409 65528 32 3 114 65525 65494 66 58 77 12 118 65520 65465 66 65449 65477 16 65408 65528 65529 4 54 71 21 113 65524 117 65 44 65452 23 33 65473 14 125 68 65519 90 65531 124 64 65441 74 11 102 25 44 0 65463 67 33 83 72 103 65478 106 65501 65427 92 65531 71 65522 3 83 65527 65509 65469 104 65428 12 101 65519 65504 59 44 65489 16 110 65529 31 65469 65526 65530 21 81 65531 58 65468 65445 33 5 36 69 90 9 124 22 118 65483 9 65533 65464 9 88 14 20 65417 65522 59 7 48 65 94 69 65475 65424 30 65467 64 65458 65446 17 29 65527 118 63 48 65523 3 29 65533 17 1 69 84 7 33 65473 22 101 65413 65410 53 65447 65445 65412 119 124 11 104 35 117 1 21 102 5 17 65473 6 74 69 65467 65480 65459 65530 64 65519 25 65416 34 65 118 65480 65465 65511 91 57 65477 29 65493 7 121 65460 127 65422 65430 34 31 83 67 106 65414 58 32 65506 65474 65470 65535 65458 8 103 15 124 61 58 65484 12 105 3 99 124 65450 125 16 112 8 92 65468 65452 65437 21 99 1 65443 62 12 70 22 33 65473 54 65411 65412 65432 65456 65442 65528 65413 66 85 11 124 17 89 0 65431 65451 30 20 65 106 65477 65493 5 65454 65501 65473 79 65436 33 36 65 98 5 65497 65428 65441 22 3 63 65519 9 104 36 62 65474 76 94 21 33 65483 18 95 5 92 65533 116 65481 60 65523 48 1 104 65516 65449 65467 65458 65478 27 20 65 65414 5 19 14 92 65417 1 102 36 36 20 65 99 65413 65535 108 65449 65502 65471 106 15 6 22 65 85 9 7 65468 65510 65485 8 65532 74 28 36 65 65408 69 87 65533 14 43 65 65529 65512 9 122 17 2 65471 67 22 37 20 65 126 69 121 65410 70 65422 127 40 120

License is LGPL, but current cmake config creates a static library on Windows

Statically linking violates the LGPL in the case the library is linked with proprietary code and the source of the proprietary code is not delivered:

http://stackoverflow.com/questions/10130143/gpl-lgpl-and-static-linking

For this reason, it probably makes sense to change the default cmake config to generate a shared library on windows. Since this is already the case for non-windows platforms, I would guess the issue is maybe that symbols aren't exported by default with Visual Studio and it was not desired to decorate the classes. In this case, cmake has a solution:

https://cmake.org/cmake/help/v3.4/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html

Another alternative is to make an exception in the license (although I'm unsure if gpstk is using other LGPL code that would prevent this).

No return in non void function

In function:
bool RationalizeRinexNav::writeOutputFile
in file
core/lib/GNSSEph/RationalizeRinexNav.cpp
there is no return at the end (around line 131 of the file).
The function compiles OK but quality check on openSUSE build system catches this:
...
[ 114s] I: Program returns random data in a function
[ 114s] E: gpstk no-return-in-nonvoid-function /home/abuild/rpmbuild/BUILD/GPSTk-2.10.6/core/lib/GNSSEph/RationalizeRinexNav.cpp:132
...
as it may return random data, making the program unstable. This error is treated so serious, that built binaries are discarded.
Earlier this function returns false if something happened. Should it return true if it reaches the end?

merge SBAS files

Hello,
Is there a way to merge .18B (SBAS Broadcast) files? I am using MergeRinObs and MergeRinNav, and they work great! Thank you for making this software freely available.

Or you can simply remove the headers and merge them as normal text files? Is that a correct way to merge the files?

Kind regards

Logstream kludge not working in Mingw/Msys2 Build

I get following compilation error while compiling under Mingw/Msys2:

[ 97%] Linking CXX executable PRSolve.exe
../../../libgpstk.a(CommandLine.cpp.obj):CommandLine.cpp:(.data+0x0): multiple definition of `Log<ConfigureLOGstm>::reportingLevel'
CMakeFiles/PRSolve.dir/objects.a(PRSolve.cpp.obj):PRSolve.cpp:(.data+0x0): first defined here
../../../libgpstk.a(CommandLine.cpp.obj):CommandLine.cpp:(.bss+0x0): multiple definition of `Log<ConfigureLOGstr>::dumpTimeTags'
CMakeFiles/PRSolve.dir/objects.a(PRSolve.cpp.obj):PRSolve.cpp:(.bss+0x0): first defined here
../../../libgpstk.a(CommandLine.cpp.obj):CommandLine.cpp:(.bss+0x1): multiple definition of `Log<ConfigureLOGstr>::dumpLevels'
CMakeFiles/PRSolve.dir/objects.a(PRSolve.cpp.obj):PRSolve.cpp:(.bss+0x1): first defined here
../../../libgpstk.a(PRSolution.cpp.obj):PRSolution.cpp:(.data+0x0): multiple definition of `Log<ConfigureLOGstre::reportingLevel'
CMakeFiles/PRSolve.dir/objects.a(PRSolve.cpp.obj):PRSolve.cpp:(.data+0x0): first defined here
../../../libgpstk.a(PRSolution.cpp.obj):PRSolution.cpp:(.bss+0x0): multiple definition of `Log<ConfigureLOGstrea:dumpTimeTags'
CMakeFiles/PRSolve.dir/objects.a(PRSolve.cpp.obj):PRSolve.cpp:(.bss+0x0): first defined here
../../../libgpstk.a(PRSolution.cpp.obj):PRSolution.cpp:(.bss+0x1): multiple definition of `Log<ConfigureLOGstrea:dumpLevels'
CMakeFiles/PRSolve.dir/objects.a(PRSolve.cpp.obj):PRSolve.cpp:(.bss+0x1): first defined here
collect2.exe: error: ld returned 1 exit status

The logstream.hpp kludge is applied because I compile in windows. But under Mingw this is not necessary and actually causes above compilation error.

Cannot handle GAGP

Rinex 3.04 has added GAGP in TIME SYSTEM CORR record of Navigation Message File.
So if a Nav file contains a line like GAGP 1.1059455574e-09-5.329070518e-15 0 2111 TIME SYSTEM CORR , the program will crash.
example file:
brdm1730.20p.zip

SaasTropModel Humidity Confusion

]The setWeather function in SaasTropModel tried to transform relative humidity into actual water vapor pressure and set the value to "humid" value. [LINE 371]
However, in the wet_zenith_delay function, the computation of pwv tried to use "humid" value, which did not actually represent the relative humidity.
This is confused me about the calculation of ZWD in the saastamoinen model.

Wrong usage of mkdir in Mingw/Msys2 Build

When building the extensions on Mingw/Msys2 platform I got following error:

In file included from H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileFilte                                                                                                                                                             rFrame.hpp:48:0,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/CheckFrame                                                                                                                                                             .hpp:43,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/rnwcheck.c                                                                                                                                                             pp:37:
H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileUtils.hpp: In function 'int                                                                                                                                                              gpstk::FileUtils::makeDir(const string&, unsigned int)':
H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileUtils.hpp:113:41: error: to                                                                                                                                                             o many arguments to function 'int mkdir(const char*)'
             mkdir(thispath.c_str(), mode);
                                         ^
In file included from H:/msys64/mingw64/x86_64-w64-mingw32/include/sys/stat.h:14                                                                                                                                                             :0,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileUtils                                                                                                                                                             .hpp:48,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileFilte                                                                                                                                                             rFrame.hpp:48,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/CheckFrame                                                                                                                                                             .hpp:43,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/rnwcheck.c                                                                                                                                                             pp:37:
H:/msys64/mingw64/x86_64-w64-mingw32/include/io.h:280:15: note: declared here
   int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~
In file included from H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileFilte                                                                                                                                                             rFrame.hpp:48:0,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/CheckFrame                                                                                                                                                             .hpp:43,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/rnwcheck.c                                                                                                                                                             pp:37:
H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileUtils.hpp:116:34: error: to                                                                                                                                                             o many arguments to function 'int mkdir(const char*)'
          mkdir(path.c_str(), mode);
                                  ^
In file included from H:/msys64/mingw64/x86_64-w64-mingw32/include/sys/stat.h:14                                                                                                                                                             :0,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileUtils                                                                                                                                                             .hpp:48,
                 from H:/msys64/home/xaedes/GPSTk/core/lib/FileDirProc/FileFilte                                                                                                                                                             rFrame.hpp:48,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/CheckFrame                                                                                                                                                             .hpp:43,
                 from H:/msys64/home/xaedes/GPSTk/ext/apps/checktools/rnwcheck.c                                                                                                                                                             pp:37:
H:/msys64/mingw64/x86_64-w64-mingw32/include/io.h:280:15: note: declared here
   int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~

The mkdir function provided by (admittedly my) mingw platform lacks the mode parameter. This part in the FileUtils.hpp file is conditionally compiled. When compiling in Visual Studio (defined(_MSC_VER)==true) another function_mkdir without the mode parameter is called. In Mingw the function is called mkdir.

P1missing is broken in DiscFix.cpp --- this affects ALL type 2 receivers

Hi,

I attempted to run a TRIMBLE NETRS data file (ftp://geodesy.noaa.gov/cors/rinex/2016/157/p027/p0271570.16o.gz) through the discontinutity fixer. This failed. I dug into the code and determined the problem.

Note the absence of P1. The code logic is setup to handle this case: replace P1 with C1. However, the correct logic is not used because P1missing is false!

I can work around the issue by using --forceCA1, but this is less than desireable.


  • Mark

Missing SatelliteSystem::Mixed enum value in systemChar(), systemString(), systemString3() functions

Our test case:

  • Read a Mixed satellite system Rinex V2.11 file, rewrite it, then open the new file. An exception occurs at the last step.

Issue

  • If our file has a header with M (Mixed) value for satellite System , it will be read but when printing the header, in systemChar(), systemString(), systemString3() functions we are missing the M (Mixed) case which will lead to "? (Unknown)". When opening the new file, an exception will be raised saying that Unknown is not supported.

Proposed correction

  • Add a case for SatelliteSystem::Mixed in systemChar(), systemString(), systemString3() functions in file RinexSatID.cpp.

Rinex 3 obs file reading error

I am using GPSTk python bindings for my work, I get the following error while reading RINEX 3 Hourly observation data files
-------------
InvalidRequest: text 0:G03 index 11 is not available.
location 0:/home//GPSTk-2.10/core/lib/FileHandling/RINEX3/Rinex3ObsData.cpp:234
--------
------

I can see that the obs data field in RINEX3 obs file is empty for SV#G03, the software crashes when I run it during obs file reading stage.
Is there any updated Rinex3ObsData.cpp which can handle the missing data gaps.
Has any one faced a similar problem, and have a solution.
Any suggestions to handle this, please share them, would be very helpful.

Cheers!

Undefined Reference in Mingw/Msys2 Build

I get linker errors to undefined functions from regex library when compiling on Mingw/MSys2.

../../../libgpstk.a(UnixTime.cpp.obj):UnixTime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x5d): undefined reference to `regcomp'
../../../libgpstk.a(UnixTime.cpp.obj):UnixTime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x8f): undefined reference to `regerror'
../../../libgpstk.a(UnixTime.cpp.obj):UnixTime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x9e): undefined reference to `regfree'
../../../libgpstk.a(UnixTime.cpp.obj):UnixTime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x2a7): undefined reference to `regexec'
../../../libgpstk.a(UnixTime.cpp.obj):UnixTime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIlEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x435): undefined reference to `regfree'
../../../libgpstk.a(ANSITime.cpp.obj):ANSITime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x5d): undefined reference to `regcomp'
../../../libgpstk.a(ANSITime.cpp.obj):ANSITime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x8f): undefined reference to `regerror'
../../../libgpstk.a(ANSITime.cpp.obj):ANSITime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x9e): undefined reference to `regfree'
../../../libgpstk.a(ANSITime.cpp.obj):ANSITime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x2a7): undefined reference to `regexec'
../../../libgpstk.a(ANSITime.cpp.obj):ANSITime.cpp:(.text$_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_[_ZN5gpstk11StringUtils14formattedPrintIxEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS7_S9_S9_T_]+0x436): undefined reference to `regfree'

exception thrown on file open

FFStream::init calls close. If a file is not open, this close call fails. In a default configuration this is not a problem. However, if you set the stream to throw exceptions on fail, then you get an exception when opening a file.

The solutions is to change the code to:

if(is_open())
   close();

...pull request to come.

Doesn't compile in ubuntu

The library doesn't compile under Ubuntu 20.04.

I've tried compiling the v8.0.0 tag, but the process crashes due to a target that cannot be compiled. I was able to trace it back to the PythonSetup.cmake with this line:

set(PYTHON_LIBRARIES "${_python_libdir}/lib${_python_libname}.so")

In summary the _ptthon_libdir and _python_libname are both empty due to the failing regex matching in the line above:

string(REGEX MATCH "-L([^ ]*) -l([^ ]*) " _python_libdir ${PYTHON_LDFLAGS})

The PYTHON_LDFLAGS variable is

# python3-config --ldflags
-L/usr/lib/python3.8/config-3.8-x86_64-linux-gnu -L/usr/lib  -lcrypt -lpthread -ldl  -lutil -lm -lm

I honestly have no idea, what you're trying to do here. The regex above would match /usr/lib and crypt (if it worked), but I doubt that is what you wanted.

http://www.gpstk.org/ can not access?

A lot of usefull doc published on GPSTk's official website, but this site can not access, why? and how to access the links described at README.md?

SWIG python bindings fail to build on OSX with case insensitive file system

I hit a problem building the python SWIG bindings on a OS X system. The issue is that GPSTk/swig/src/Exception.i interferes with the file exception.i distributed with SWIG. Normally, on a sane unix-like system, this would never happen because the file system is case sensitive. However, this is not the default for OS X.

I "fixed" the problem by renaming Exception.i to GPSTk_exception.i and adjusting the appropriate %include line in gpstk.i.

I am not sure if you want to consider this a problem with OS X or if it is worth making the change to the GPSTk source. Just thought I would pass this along.

Can't merge 2 rinex files with mergeRinObs

I compile mergeRinObs from latest source codes using MVS 2015

commit 133e24f
Author: Bryan Parsons [email protected]
Date: Fri Jan 15 10:52:32 2016 -0600

GPSTk v2.8 Released

I try to merge 2 rinex files (see attached archive) with below command line

mergeRinObs.exe -o out.obs carq049a.16o carq049b.16o

Get error:
text 0:Failed to process time string
text 1:Can't generate a CommonTime for this FileSpec
location 0:C:______aboriskin\GPSTk\core\lib\TimeHandling\TimeTag.cpp:gpstk::TimeTag::getInfo:173
location 1:C:______aboriskin\GPSTk\core\lib\TimeHandling\TimeString.cpp:gpstk::mixedScanTime:802
location 2:C:______aboriskin\GPSTk\core\lib\FileDirProc\FileSpec.cpp:gpstk::FileSpec::extractCommonTime:284

and no file have been created.
MergeRinObsError.zip

Cors Broadcast Ephemeris fails to load

Running
RinNav --nav brdc1030.16n --navpath .
using NOAA's broadcast ephemeris file located at ftp://geodesy.noaa.gov/cors/rinex/2016/103 fails.
It fails on most brdc files, and it's caused by a test located at
GNSSEph/OrbitEphStore.cpp:231
I don't know who's code is right, Cors' brdc generating code or your error checking code, but I'm surprised they don't agree on what's valid.

DDBase support

Hello,
Trying to use ddbase command for post processing of rinex files, but stuck with the usage details of the command for few weeks now.
I am particulary getting error code -3 with program not able to processRawData.

any documentation guide/ examples of usage would be of great help.

Thanks,
Anoop N

C1P is not stored in system G?

./example3 ../madr1480.08o
text 0:C1P is not stored in system G.
location 
:/home/xxx/source/gnss/GPSTk/core/lib/FileHandling/RINEX3/Rinex3ObsHeader.cpp:2476

Cannot build Python swig bindings from INSTALL.md instructions

I am following UNIX-like Environment: Manual Build, Install, and Package from INSTALL.md, specifically Step 5:

   5. If you prefer to build and install GPSTk as a user library in $HOME/.local, 
      skip the previous step, and instead execute the following commands:

         $ cd $gpstk_root/build

         $ cmake -DPYTHON_INSTALL_PREFIX=$HOME/.local -DCMAKE_INSTALL_PREFIX=$HOME/.local/gpstk -DBUILD_EXT=1 -DBUILD_PYTHON=1 $gpstk_root

         $ export LD_LIBRARY_PATH=$HOME/.local/gpstk/lib:$LD_LIBRARY_PATH

         $ make

         $ make install 

         $ export PATH=$HOME/.local/gpstk/bin:$PATH

OK, let's run these commands:

~/gpstk_git $ echo $gpstk_root
/Users/timduly/gpstk_git

~/gpstk_git $ mkdir $gpstk_root/build
~/gpstk_git $ cd $gpstk_root/build

Running the cmake command:

$ cmake -DPYTHON_INSTALL_PREFIX=$HOME/.local -DCMAKE_INSTALL_PREFIX=$HOME/.local/gpstk -DBUILD_EXT=1 -DBUILD_PYTHON=1 $gpstk_root
<output>
$ export LD_LIBRARY_PATH=$HOME/.local/gpstk/lib:$LD_LIBRARY_PATH

Finally, running make, I make it to 97% (so close!):

~/gpstk_git/build $ make
<output> ...
Scanning dependencies of target example4
[ 95%] Building CXX object examples/CMakeFiles/example4.dir/example4.cpp.o
[ 96%] Linking CXX executable example4
[ 96%] Built target example4
[ 97%] Swig source
/Users/timduly/gpstk_git/ext/lib/Math/Expression.hpp:198: Warning 314: 'print' is a python keyword, renaming to '_print'
/Users/timduly/gpstk_git/ext/lib/Math/Expression.hpp:215: Warning 314: 'print' is a python keyword, renaming to '_print'
/Users/timduly/gpstk_git/ext/lib/Math/Expression.hpp:233: Warning 314: 'print' is a python keyword, renaming to '_print'
/Users/timduly/gpstk_git/ext/lib/Math/Expression.hpp:257: Warning 314: 'print' is a python keyword, renaming to '_print'
/Users/timduly/gpstk_git/ext/lib/Math/Expression.hpp:276: Warning 314: 'print' is a python keyword, renaming to '_print'
/Users/timduly/gpstk_git/ext/lib/Math/Expression.hpp:311: Warning 314: 'print' is a python keyword, renaming to '_print'
Scanning dependencies of target _gpstk
[ 97%] Building CXX object swig/CMakeFiles/_gpstk.dir/gpstkPYTHON_wrap.cxx.o
[ 97%] Linking CXX shared module _gpstk.so
[ 97%] Built target _gpstk
Scanning dependencies of target module_files_target
[ 97%] Generating module/gpstk/__init__.py
Error copying file (if different) from "/Users/timduly/gpstk_git/swig/gpstk/__init__.py" to "/Users/timduly/gpstk_git/build/swig/module/gpstk/__init__.py".
make[2]: *** [swig/module/gpstk/__init__.py] Error 1
make[1]: *** [swig/CMakeFiles/module_files_target.dir/all] Error 2
make: *** [all] Error 2

Any ideas? This error occurred on both Mac OS X and Ubuntu 14.04.

Thanks,
Tim

Missing data types for Python

Hi everyone,
I am trying to use the Python bindings of the GPS Toolkit, in particular the PRSolution class. I followed the swig/examples/example4.py in order to read my RINEX files and to compute the position solutions, and everything was fine.
Now, I would like to use the PRSolution.PreparePRSolution method so as to obtain the corrected pseudoranges without computing the position solution. However, I can not call this method because the argument types do not match.

In particular, the call is

raimSolver.PreparePRSolution(time, satVector, syss, rangeVector, ephStore, SVP)

and the error that raises is

TypeError: in method 'PRSolution_PreparePRSolution', argument 4 of type 'std::vector< gpstk::SatID::SatelliteSystem,std::allocator< gpstk::SatID::SatelliteSystem > > &' 

I know from the PYTHON.md file that the enumerations have been removed in the Python bindings, so I do not know how I could define the syss variable. After several trials, I tried

syss = [gpstk.SatID.systemGPS, gpstk.SatID.systemGlonass]

without success.

Then, I tried to use the PRSolution2 class; it has a similar method called PrepareAutonomousSolution that does not need the previous argument. I made the call

gpstk.PRSolution2_PrepareAutonomousSolution(time, satVector, rangeVector, ephStore, SVP)

and unfortunately another error raised

TypeError: Wrong number or type of arguments for overloaded function 'PRSolution2_PrepareAutonomousSolution'.
  Possible C/C++ prototypes are:
    gpstk::PRSolution2::PrepareAutonomousSolution(gpstk::CommonTime const &,std::vector< gpstk::SatID,std::allocator< gpstk::SatID > > &,std::vector< double,std::allocator< double > > const &,gpstk::XvtStore< gpstk::SatID > const &,Matrix< double > &,std::ostream *)
    gpstk::PRSolution2::PrepareAutonomousSolution(gpstk::CommonTime const &,std::vector< gpstk::SatID,std::allocator< gpstk::SatID > > &,std::vector< double,std::allocator< double > > const &,gpstk::XvtStore< gpstk::SatID > const &,Matrix< double > &)

I definitely think that the problem concerns the variable SVP, since the other ones have been previously used for the computation of the position solution.
Always from the PYTHON.md file, I know that the Matrix class is not wrapped so I do not know how to pass this argument. I tried with a list, a numpy array and even with the gpstk.seqToVector without success.
Furthermore, I do not know how the GPS Toolkit could return the filled SVP matrix since it is passed as argument. I saw that functions modifying parameters passed by reference are opportunely modified but this method still requires the matrix as an argument.

Looking at the source code of PRSolution, I came across the RAIMComputeSimple method, that is used in order to avoid using "data types not exposed in swig". Therefore, I wonder if there actually exist a way to make things work.

What am I doing wrong? Is there a way to call those functions in Python?
These are the only pieces of code where I found something that corrects the measured pseudoranges. If there are other way to do this, please let me know.

Thank you for your time, and for this great library.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.