How maproom/qmapshack works
QMapShack is a desktop GIS for planning and analysing GPS activities. The principal workflow is to work with GPS items in a project-oriented workspace, view them on a map, and edit or analyse tracks and routes; routing, elevation, and device synchronisation extend that workflow. The tree supports the database, canvas, DEM, device, and GIS layers shown here. Several README capabilities (notably map and routing implementations) are not represented by sampled source, so those links use only documented behavior and the existing enclosing source directory.
Main entry points: CGisWorkspace.cpp GIS workspace · CCanvas.cpp Map canvas · CMainWindow.cpp Main window · qmapshack Tracks and routes
Components 20
Desktop application
- Application entry
src/qmapshack/main.cpp - Main window
src/qmapshack/CMainWindow.cpp
GIS workspace
- GIS workspace
src/qmapshack/gis/CGisWorkspace.cpp - GIS database
src/qmapshack/gis/CGisDatabase.cpp - Database backends
src/qmapshack/gis/db
Maps and elevation
- Map canvas
src/qmapshack/canvas/CCanvas.cpp - GIS drawing
src/qmapshack/gis/CGisDraw.cpp - Map sources
src/qmapshack - Elevation models
src/qmapshack/dem - Coordinate math
src/common/gis/GeoMath.cpp
Planning and analysis
- Tracks and routes
src/qmapshack - Waypoints and areas
src/qmapshack/gis - Routing engines
src/qmapshack - Track analysis
src/qmapshack
Data integration
- GPS device support
src/qmapshack/device/IDevice.cpp - Garmin FIT codec
3rdparty/GarminFitSdk/cpp/fit_decode.cpp
Other components
- GPS user
- Map data
- Routing services
- GPS device
Connections 21
- GPS user → Application entry: starts
- Application entry → Main window: opens
- GPS user → Main window: uses
- Main window → GIS workspace: manages
- GIS workspace → GIS database: organizes
- GIS database → Database backends: persists
- Main window → Map canvas: displays
- Map canvas → GIS drawing: renders
- GIS drawing → GIS workspace: reads items
- GIS workspace → Tracks and routes: organizes
- GIS workspace → Waypoints and areas: organizes
- Map canvas → Map sources: displays
- Map sources → Map data: reads maps
- Map canvas → Elevation models: shows elevation
- Elevation models → Coordinate math: uses coordinates
- Tracks and routes → Routing engines: requests routes
- Routing engines → Routing services: routes via
- Tracks and routes → Track analysis: supports analysis
- GPS device support → GPS device: transfers data
- GPS device support → Garmin FIT codec: uses codec
- GPS device → GPS device support: exchanges GPS data