A Python package for GNSS positioning and processing by TASLAB
Project description
TAS-GNSS Python Package
A Python package for GNSS positioning and processing by Trustworthy AI and Autonomous Systems (TAS) Laboratory, The Hong Kong Polytechnic Univerisity.
News
2025.10.02
We now support switching between RTKLIB backends. Set the environment variable rtklib to "demo5" to use pyrtklib5 (based on rtklib_demo5 2.5.0 EX). If unset or set to any other value, the library will default to the original pyrtklib, which is built on RTKLIB 2.4.3. This update enables users to choose the backend that best fits their application — whether for compatibility or to leverage new features in the demo5 branch. If you want to use the latest version (0.2.8 with rtklib 2.5.0 EX), please update via:
pip install -U pyrtklib5
To activate this version, you can set the environment before your program:
rtklib=demo5 python your_script.py
or set in your program as:
import os
os.environ['rtklib']='demo5'
# attention, must set before import this lib
import tasgnss as tas
Installation
Install the package using pip online:
pip install tasgnss
or install by github clone:
git clone https://github.com/PolyU-TASLAB/TASGNSS.git
cd TASGNSS && pip install .
Usage
After installation, you can import and use the package:
import tasgnss as tas
obs,nav,sta = tas.read_obs('data/20210610/test.obs','data/20210610/sta/hksc161d.21*')
obss = tas.split_obs(obs,False)
obss = tas.filter_obs(obss,1623296137.0,1623296340.0)
print("total epochs:",len(obss))
for o in obss:
print(f"Epoch: {tas.obs2utc(o.data[0].time)}")
sol_wls = tas.wls_pnt_pos(o,nav)
print(sol_wls)
You can try to run the example:
cd example && python3 example.py
ROS Wrapper Usage
The ros_wrapper package provides a ROS node that processes GNSS data and publishes ROS messages. To use it:
-
Make sure you have ROS installed and sourced.
-
Build the package:
cd /path/to/your/ros/workspace catkin_make source devel/setup.bash
-
Run the ROS wrapper node:
rosrun ros_wrapper ros_wrapper_node.py
You can specify the observation and navigation files, as well as the UTC time range using ROS parameters:
rosrun ros_wrapper ros_wrapper_node.py _obs_file:='data/20210610/test.obs' _nav_file:='data/20210610/sta/hksc161d.21*' _start_utc:=1623296137.0 _end_utc:=1623296340.0
The node will publish the following topics:
/gnss_observations: GNSS observation data/gnss_ephemeris: GNSS ephemeris data/gnss_processed_data: Processed GNSS data
Documentation
For detailed documentation, please visit: Document
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tasgnss-0.1.4.tar.gz.
File metadata
- Download URL: tasgnss-0.1.4.tar.gz
- Upload date:
- Size: 36.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35e3b4d143671ab861e55c8a8be37be9355e35a0c17fc60ae3f9dc5a566ee3dc
|
|
| MD5 |
61f73f06ab3d16370852276b11d8dce4
|
|
| BLAKE2b-256 |
4970a66007a7b04e56a4deed779d98b58ebc24d23a43c279b2b9c9084a70463d
|
File details
Details for the file tasgnss-0.1.4-py3-none-any.whl.
File metadata
- Download URL: tasgnss-0.1.4-py3-none-any.whl
- Upload date:
- Size: 35.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6ab92b20958cfcb711388e816fbea8f10289434f3a117aa6228fb31f3ca16c6
|
|
| MD5 |
08a2a575f2b85bce613655f440d2a95a
|
|
| BLAKE2b-256 |
a273a52f76e55e471933871a142208851c4a2bfd51d93deb6cc5a881f84f26fb
|