Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emlid/ntripbrowser
CLI tool to easily get NTRIP caster information
https://github.com/emlid/ntripbrowser
Last synced: 10 days ago
JSON representation
CLI tool to easily get NTRIP caster information
- Host: GitHub
- URL: https://github.com/emlid/ntripbrowser
- Owner: emlid
- License: bsd-3-clause
- Created: 2016-09-15T13:12:39.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T05:47:16.000Z (about 2 years ago)
- Last Synced: 2024-11-13T10:38:09.427Z (about 1 month ago)
- Language: Python
- Homepage: https://emlid.com/reach/
- Size: 153 KB
- Stars: 32
- Watchers: 21
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-robotic-tooling - ntripbrowser - A Python API for browsing NTRIP (Networked Transport of RTCM via Internet Protocol). (Localization / Point Cloud Processing)
- awesome-robotic-tooling - ntripbrowser - A Python API for browsing NTRIP (Networked Transport of RTCM via Internet Protocol). (Localization and State Estimation / Lidar and Point Cloud Processing)
README
# NTRIP Browser [![Build Status](https://travis-ci.com/emlid/ntripbrowser.svg?branch=master)](https://travis-ci.com/emlid/ntripbrowser)
A Python API for browsing NTRIP (Networked Transport of RTCM via Internet Protocol).
## Requirements
- pager
- geopy
- pycurl
- cchardet
- texttable
- Python 2.6–2.7 & 3.4–3.6## Installation
- make sure that you have `libcurl` installed
- `pip install ntripbrowser`
- or clone and run `make install`
- If you are looking for the last Python2 version of this package, checkout onto v2.2.3 tag. Python2 support will be discontinued in future releases.
```
git checkout v2.2.3
```#### libcurl installation hints
- installation via `apt`:
```
apt-get install libssl-dev libcurl4-openssl-dev python-dev
```
## Usage```
ntripbrowser [-h] [-p] [-t] [-c] hostpositional arguments:
host NTRIP source table host addressoptional arguments:
-h, --help Show this help message and exit
-p, --port Set url port. Standard port is 2101
-t, --timeout Add timeout
-c, --coordinates Add NTRIP station distance to this coordinate
-M --maxdist Only report stations less than this number of km away
from given coordinate
```#### CLI workflow example:
ntripbrowser cddis-caster.gsfc.nasa.gov -p 443 -t 5 -c 1.0 2.0 -M 4000
## Package API
#### Workflow example:```python
browser = NtripBrowser(host, port=2101, timeout=5)
browser.get_mountpoints()
browser.host = another_host
browser.get_mountpoints()
```#### Arguments:
- `host`
> NTRIP caster host.
> Standard port is 2101, use `:port` optional argument to set another one.#### Optional arguments:
- `port`
> NTRIP caster port.
- `timeout`
> Use `timeout` to define, how long to wait for a connection to NTRIP caster.
- `coordinates`
> Use `coordinates` to pass your position coordinates in function and get distance to NTRIP station.
> Form of coordiantes must be `(x, y)` or `(x.x, y.y)` of latitude, longitude.- `maxdist`
> Use `maxdist` to only report stations less than this number of km away from given coordinate.#### Result
As a result you'll get a dictionary consisting of a lists of dictionaries with such structure:
- CAS stations: `"Host", "Port", "ID", "Operator", "NMEA", "Country", "Latitude", "Longitude", "FallbackHost", "FallbackPort", "Site", "Other Details", "Distance"`
- NET stations: `"ID", "Operator", "Authentication", "Fee", "Web-Net", "Web-Str", "Web-Reg", "Other Details", "Distance"`
- STR stations: `"Mountpoint", "ID", "Format", "Format-Details","Carrier", "Nav-System", "Network", "Country", "Latitude", "Longitude", "NMEA", "Solution", "Generator", "Compr-Encryp", "Authentication", "Fee", "Bitrate", "Other Details", "Distance"`
#### Exceptions
- `ntripbrowser.NtripbrowserError` - base class for all ntripbrowser exceptions.
- `ntripbrowser.UnableToConnect` - raised when ntripbrowser could not connect to the assigned url.
- `ntripbrowser.NoDataReceivedFromCaster` - raised when ntripbrowser could not find any data on the page.
- `ntripbrowser.ExceededTimeoutError` - raised when connection timeout is exceeded.## To test
make test
#### Known Issues
Tests with `tox` may fail if python*-dev is not installed.
So, you need to install python2.7-dev and python3.6-dev:sudo apt-get install python2.7-dev
sudo apt-get install python3.6-dev