Dirk Stoecker
dstoecker
Involved Projects and Packages
This project collects the user applications of all the geosciences.
Topics are:
- GIS:
geoinformation system programs, data sets and everything related
- GPS/GNSS:
enduser software for global navigation satellite systems
- Mapping:
software to handle maps, data display on maps and everything related to this
- everything else which fits
When installing on SLES, you need to have openSUSE:Backports/SUSE Package Hub repositories as well:
https://en.opensuse.org/Portal:Backports
https://en.opensuse.org/openSUSE:Backports_How_To_Use
https://packagehub.suse.com/
This software provides Linux users with the ability to communicate with the Garmin Forerunner 305 via the USB interface. While this is the only Garmin unit that I own, I did implement all of the documented Garmin protocols as of Rev C (May 19, 2006) over the USB physical link. This means that if you have a Garmin with a USB connection to a PC, you ought to be able to use this software to communicate with it.
If you're looking for a complete solution to all of your Linux Garmin GPS needs, this is not it. I own a Garmin Forerunner 305 and wrote this code specifically so I could download and save data from that particular GPS unit to my Linux machine. I tried gpsbabel, but found that it did not have command line options specific to the Forerunner run and lap data - all I could do was get the tracklog. That's how all of this got started. I also wanted a few other things, like the ability to convert a track log into a Google maps encoded polyline, and (eventually) the ability to generate PNG images of heart rate and elevation data.
GMT is a free, public-domain collection of about 60 UNIX tools that allow users to manipulate (x,y) and (x,y,z) data sets (including filtering, trend fitting, gridding, projecting, etc.) and produce [Encapsulated] PostScript File (EPS) illustrations ranging from simple x-y plots through contour maps to artificially illuminated surfaces and 3-D perspective views in black and white, gray tone, hachure patterns, and 24-bit color. GMT supports 25 common map projections plus linear, log, and power scaling, and comes with support data such as coastlines, rivers, and political boundaries.
GPSBabel converts waypoints, tracks, and routes from one format to another, whether that format is a common mapping format like Delorme, Streets and Trips, or even a serial upload or download to a GPS unit such as those from Garmin and Magellan. By flattening the Tower of Babel that the authors of various programs for manipulating GPS data have imposed upon us, it returns to us the ability to freely move our own waypoint data between the programs and hardware we choose to use.
It contains extensive data manipulation abilities making it a convenient for server-side processing or as the backend for other tools.
It does not convert, transfer, send, or manipulate maps. We process data that may (or may not be) placed on a map, such as waypoints, tracks, and routes.
Digital cameras are cool. So is GPS. And, EXIF tags are really cool too.
What happens when you merge the three? You end up with a set of photos taken with a digital camera that are "stamped" with the location at which they were taken.
The EXIF standard defines a number of tags that are for use with GPS.
A variety of programs exist around the place to match GPS data with digital camera photos, but most of them are Windows or MacOS only. Which doesn't really suit me that much. Also, each one takes the GPS data in a different format.
So I wrote my own. A little bit of C, a little bit of C++, a shade of GTK+, and you end up with... what I have here. I wrote both a command line and GUI version of the program.
gpsd is a service daemon that mediates access to a GPS sensor connected to the host computer by serial or USB interface, making its data on the location/course/velocity of the sensor available to be queried on TCP port 2947 of the host computer. With gpsd, multiple GPS client applications (such as navigational and wardriving software) can share access to a GPS without contention or loss of data. Also, gpsd responds to queries with a format that is substantially easier to parse than NMEA 0183. A client library is provided for applications.
After installing the software, gpsd will automatically connect to USB GPSes when they are plugged in and requires no configuration. For serial GPSes, you will need to start gpsd by hand. Once connected, the daemon automatically discovers the correct baudrate, stop bits, and protocol. The daemon will be quiescent when there are no clients asking for location information, and copes gracefully when the GPS is unplugged and replugged.
GPS Manager (GPSMan) is a graphical manager of GPS data that makes
possible the preparation, inspection and edition of GPS data in a
friendly environment. GPSMan supports communication and real-time
logging with both Garmin, Lowrance and Magellan receivers and accepts
real-time logging information in NMEA 0183 from any GPS
receiver. GPSMan can also be used in command mode (with no graphical
interface)
Commonly referred to as GRASS, this is a Geographic Information System (GIS) used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization.
JOSM is an extensible editor for OpenStreetMap (OSM) for Java 8.
It supports loading GPX tracks, background imagery and OSM data from local sources as well as from online sources and allows to edit the OSM data (nodes, ways and relations) and their metadata tags.
OpenStreetMap is a project aimed squarely at creating and providing free geographic data such as street maps to anyone who wants them.
GDAL plugin to support GRASS GIS
Mapnik is a Free Toolkit for developing mapping applications. It's written in
C++ and there are Python bindings to facilitate fast-paced agile development.
It can comfortably be used for both desktop and web development.
Essentially a collection of geographic objects (map, layer, datasource,
feature, geometry), the library doesn't rely on "windowing systems" and
can be deployed in any server environment. It is intended to play fair in a
multi-threaded environment and is aimed primarily, but not exclusively, at
web-based development.
Navit is a car navigation system with routing engine.
It's modular design is capable of using vector maps of various formats for routing and rendering of the displayed map. It's even possible to use multiple maps at a time.
Ntrip is the data access standard for geodetic data. This package contains the tools to access Ntrip casters.
Multi-Stream Decoder/Converter for RTCM 2.x, RTCM 3.0, and RTIGS Supports High-Rate RINEX DCs and Real-time GNSS-Engines
The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding and converting real-time GNSS data streams from NTRIP broadcasters like http://www.euref-ip.net/home or http://www.igs-ip.net/home.
NTRIP system main server.
Freely available BKG standard variant.
Osmosis is a command line java app for processing OSM data. The tool consists of a series of pluggable components that can be chained together to perform a larger operation. For example, it has components for reading from database and from file, components for writing to database and to file, components for deriving and applying change sets to data sources, components for sorting data, etc. It has been written so that it is easy to add new features without re-writing common tasks such as file or database handling.
PostGIS adds support for geographic objects to the PostgreSQL object-relational database. In effect, PostGIS "spatially enables" the PostgreSQL server, allowing it to be used as a backend spatial database for geographic information systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS follows the OpenGIS "Simple Features Specification for SQL".
QGIS is a user friendly Open Source Geographic Information System (GIS) licensed under the GNU General Public License. QGIS is an official project of the Open Source Geospatial Foundation (OSGeo). It runs on Linux, Unix, Mac OSX, Windows and Android and supports numerous vector, raster, and database formats and functionalities.
View and upload map files, track and waypoint data to your Garmin GPS receiver.
RNX2CRX is a program to compress RINEX version 2 observation files into Compact RINEX format. CRX2RNX is the uncompression program to retrieve original RINEX files from Compact RINEX files. (See crinex.doc for details of the Compact RINEX format.)
Since Compact RINEX is ASCII text format, the high compression rate is achieved by combining the Compact RINEX file generation with an additional standard data compression program such as UNIX "compress" command.
For convenience, front-end tools RNX2CRZ and CRZ2CRX are also provided to do these two steps by one command. We recommend to use these tools for the compression/decompression of all RINEX files (i.e., for navigation message files and met files, too): They will automatically skip the Compact RINEX step for non-observation files.
RXTX is a Java library, using a native implementation (via JNI), providing serial and parallel communication for the Java Development Toolkit (JDK). It is based on the specification for Sun's Java Communications API.
SAGA (System for Automated Geoscientific Analyses) provides (geo-)scientists an effective but easy learnable and user friendly platform for the implementation of geoscientific methods using SAGA's API. SAGA is written in C++ programming language and follows an object oriented approach.
D is an object-oriented, imperative, multi-paradigm system programming language, with an emphasis on convenience (automatic types, dynamic and associative arrays, slices, ranges, garbage collection), power (choice of multiple paradigms, ability to interface with C code, true immutable data, pure functions, integrated unit testing, refined modularity) and efficiency (natively compiled code, emphasis on safety but ability to choose safety-efficiency tradeoffs).
There is a choice of several different compilers for D code.
++++++++++ Note: We are going to change the version format of the modules. See https://github.com/openSUSE/cpanspec/issues/47 for context ++++++++++
Perl and a large number of important perl modules and tools.
Module updates from CPAN are regularly checked (with scripts from https://github.com/openSUSE/autoupdate-perl and https://github.com/openSUSE/cpanspec ) and put into https://build.opensuse.org/project/show/devel:languages:perl:autoupdate .
Please check https://build.opensuse.org/project/show/devel:languages:perl:autoupdate first before doing your own update! An updated version of the module might already be there, just that there is no submit request yet.
How to submit a new module here: https://github.com/openSUSE/cpanspec/wiki/Submit-a-new-Perl-module-to-openSUSE
This distribution provides several classes that implement various backoff strategies for setting delay between retry attempts.
This class ('Algorithm::Backoff') is a base class only.