1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-05 08:21:16 -05:00
sdrangel/plugins/feature/map
2023-11-13 20:51:03 +00:00
..
Cesium Add Cesium 2022-02-04 20:41:22 +00:00
data Remove files that shouldn't have been commited 2023-03-24 17:08:21 +00:00
icons Map Updates 2023-02-14 14:46:08 +00:00
map Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
beacon.h Merge CSV code in to a single file. 2021-11-04 12:33:43 +00:00
cesium.qrc Add Cesium 2022-02-04 20:41:22 +00:00
cesiuminterface.cpp Map Updates 2023-02-14 14:46:08 +00:00
cesiuminterface.h Map Updates 2023-02-14 14:46:08 +00:00
CMakeLists.txt Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
czml.cpp Map: Add DSC and VLF transmitters. Fix removal of polylines from 3D map. Add find support for polylines and polygoins 2023-05-15 16:47:29 +01:00
czml.h Map updates: 2023-03-21 11:07:25 +00:00
data.qrc Map Updates 2023-02-14 14:46:08 +00:00
ibpbeacon.cpp IBP Beacons: Add the "DX Entity" column as in the IBP website 2023-08-23 12:08:26 +02:00
ibpbeacon.h IBP Beacons: Add the "DX Entity" column as in the IBP website 2023-08-23 12:08:26 +02:00
icons.qrc Map Updates 2023-02-14 14:46:08 +00:00
map.cpp Map updates: 2023-03-21 11:07:25 +00:00
map.h Map feature: Make settings assignments atomic. Part of #1329 2022-11-27 20:00:43 +01:00
map.qrc Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
mapbeacondialog.cpp Beacons: Fix sorting of numeric columns 2023-08-27 12:56:31 +02:00
mapbeacondialog.h Add 3D Map to Map feature 2022-02-04 20:40:43 +00:00
mapbeacondialog.ui Beacons: Add symbol of degrees to column headers 2023-08-23 12:08:26 +02:00
mapcolordialog.cpp #1452 - Workaround Linux bug in color picker in map settings 2022-09-21 11:04:37 +01:00
mapcolordialog.h Add 3D Map to Map feature 2022-02-04 20:40:43 +00:00
mapfmlistdialog.ui Map updates: 2023-03-21 11:07:25 +00:00
mapgui.cpp Fix resize cursor not being cleared when mouse moves over child widgets 2023-11-13 20:51:03 +00:00
mapgui.h Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
mapguinowebengine.ui Make WebEngine support in Map optional for Android 2023-01-02 15:47:24 +00:00
mapguiwebengine.ui Make WebEngine support in Map optional for Android 2023-01-02 15:47:24 +00:00
mapibpbeacondialog.cpp IBP Beacons: Resize the columns 2023-08-23 12:08:26 +02:00
mapibpbeacondialog.h IBP Beacons: Resize the columns 2023-08-23 12:08:26 +02:00
mapibpbeacondialog.ui IBP Beacons: Resize the columns 2023-08-23 12:08:26 +02:00
mapitem.cpp Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
mapitem.h Map: Add DSC and VLF transmitters. Fix removal of polylines from 3D map. Add find support for polylines and polygoins 2023-05-15 16:47:29 +01:00
maplocationdialog.cpp Map updates. 2021-01-22 14:54:22 +00:00
maplocationdialog.h Map updates. 2021-01-22 14:54:22 +00:00
maplocationdialog.ui Map updates. 2021-01-22 14:54:22 +00:00
mapmaidenheaddialog.cpp Map updates. 2021-01-22 14:54:22 +00:00
mapmaidenheaddialog.h Map updates. 2021-01-22 14:54:22 +00:00
mapmaidenheaddialog.ui Map updates. 2021-01-22 14:54:22 +00:00
mapmodel.cpp Map: Add DSC and VLF transmitters. Fix removal of polylines from 3D map. Add find support for polylines and polygoins 2023-05-15 16:47:29 +01:00
mapmodel.h Map: Add DSC and VLF transmitters. Fix removal of polylines from 3D map. Add find support for polylines and polygoins 2023-05-15 16:47:50 +01:00
mapplugin.cpp Update versions and changelogs 2023-09-02 23:18:51 +02:00
mapplugin.h Add Map feature for displaying the combined items from other plugins 2021-01-13 20:07:28 +00:00
mapradiotimedialog.cpp Radio Time: Fix sorting of numeric columns 2023-08-27 12:54:57 +02:00
mapradiotimedialog.h Add radio time transmitters to map 2021-06-23 15:15:50 +01:00
mapradiotimedialog.ui Add radio time transmitters to map 2021-06-23 15:15:50 +01:00
mapsettings.cpp Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
mapsettings.h Map Updates 2023-02-14 14:46:08 +00:00
mapsettingsdialog.cpp Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
mapsettingsdialog.h Map updates: 2023-03-21 11:07:25 +00:00
mapsettingsdialog.ui Map Updates 2023-02-14 14:46:08 +00:00
mapwebapiadapter.cpp Fix cut and paste errors from PTT feature 2021-01-15 11:00:03 +00:00
mapwebapiadapter.h Add Map feature for displaying the combined items from other plugins 2021-01-13 20:07:28 +00:00
mapwebsocketserver.cpp Fix linux warnings 2022-02-04 22:26:40 +00:00
mapwebsocketserver.h Add 3D Map to Map feature 2022-02-04 20:40:43 +00:00
osmtemplateserver.cpp Add better Map API key support 2021-11-23 16:44:07 +00:00
osmtemplateserver.h Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
readme.md Map: Add DSC and VLF transmitters. Fix removal of polylines from 3D map. Add find support for polylines and polygoins 2023-05-15 16:47:29 +01:00
webserver.cpp Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. 2023-08-06 09:08:53 +01:00
webserver.h Map: Add support for Ionosonde stations 2022-07-20 17:41:11 +01:00

Map Feature Plugin

Introduction

The Map Feature plugin displays a world map in 2D and 3D. It can display street maps, satellite imagery as well as custom map types. On top of this, it can plot data from other plugins, such as:

  • APRS symbols from the APRS Feature,
  • Aircraft from the ADS-B Demodulator,
  • Ships from the AIS Demodulator,
  • Satellites from the Satellite Tracker,
  • Weather imagery from APT Demodulator,
  • The Sun, Moon and Stars from the Star Tracker,
  • Weather balloons from the RadioSonde feature,
  • RF Heat Maps from the Heap Map channel,
  • Radials and estimated position from the VOR localizer feature,
  • ILS course line and glide path from the ILS Demodulator.
  • DSC geographic call areas.

As well as internet data sources:

  • AM, FM and DAB transmitters in the UK and DAB transmitters in France,
  • Airports, NavAids and airspaces,
  • Beacons based on the IARU Region 1 beacon database and International Beacon Project,
  • Radio time transmitters,
  • GRAVES radar,
  • Ionosonde station data,
  • Navtex transmitters.
  • VLF transmitters.

It can also create tracks showing the path aircraft, ships and APRS objects have taken, as well as predicted paths for satellites.

2D Map feature

3D Map feature

3D Models are not included with SDRangel. They must be downloaded by pressing the Download 3D Models button in the Display Settings dialog (13).

Interface

Map feature plugin GUI

1: Find

To centre the map on an object or location, enter:

  • An object name.
  • Latitude and longitude. This can be in decimal degrees (E.g: -23.666413, -46.573550) or degrees, minutes and seconds (E.g: 50°40'46.461"N 95°48'26.533"W or 33d51m54.5148sS 151d12m35.6400sE).
  • A Maidenhead locator (E.g: IO86av).
  • An address (E.g: St Katharine's & Wapping, London EC3N 4AB)

2: Map Type

Allows you to select a 2D map type. The available types will depend upon the Map provider selected under Display Settings (7).

3: Maidenhead locator conversion

When checked, opens the Maidenhead locator converter dialog, which allows conversion between addresses, latitude and longitude and Maidenhead locators.

4: Display Beacon dialog

When clicked, opens the Beacon dialog. Initially, no beacons will be listed. To download the IARU Region 1 beacon list, click the download button in the top right. The beacons will then be displayed in the table and on the map.

  • Double clicking in a cell in the beacon table in the Callsign or Location columns, will centre the map on that beacon.
  • Double clicking on the Frequency column will set the Device center frequency.

Beacon dialog

5: Display IBP Beacon Project Dialog

When clicked, opens the International Beacon Project dialog. The IBP consists of 18 HF beacons around the world, that each transmit once on each of the frequencies 14.100, 18.110, 21.150, 24.930 and 28.200MHz every 3 minutes, for 10 seconds. The IBP dialog shows which of the beacons should currently be transmitting.

IBP beacon dialog

  • Double clicking in a cell in the Callsign column will centre the map on that beacon.
  • Double clicking in a cell in the Frequency column will set the Device center frequency.

More details of the IBP can be found at: https://www.ncdxf.org/beacon/beaconfaq.html

6: Display Radio Time Transmitters dialog

When clicked, opens the Radio Time Transmitters dialog.

  • Double clicking in a cell in the table in the Callsign or Location columns, will centre the map on that transmitter.
  • Double clicking on the Frequency column will set the Device center frequency.

Radio Time transmitters dialog

7: Display MUF Contours

When checked, contours will be downloaded and displayed on the 3D map, showing the MUF (Maximum Usable Frequency) for a 3000km path that reflects off the ionosphere. The contours will be updated every 15 minutes. The latest contour data will always be displayed, irrespective of the time set on the 3D Map.

8: Display coF2 Contours

When checked, contours will be downloaded and displayed on the 3D map, showing coF2 (F2 layer critical frequency), the maximum frequency at which radio waves will be reflected vertically from the F2 region of the ionosphere. The contours will be updated every 15 minutes. The latest contour data will always be displayed, irrespective of the time set on the 3D Map.

8: Display Names

When checked, names of objects are displayed in a bubble next to each object.

9: Display tracks for selected object

When checked, displays the track (taken or predicted) for the selected object.

10: Display tracks for all objects

When checked, displays the track (taken or predicted) for the all objects.

11: Delete

When clicked, all items will be deleted from the map.

12: Display settings

When clicked, opens the Map Display Settings dialog:

Map Display Settings Dialog

The top half of the dialog allows customization of how objects from different SDRangel plugins are displayed on the 2D and 3D maps. This includes:

  • Whether images are displayed on the 2D map and whether 3D models are displayed on the 2D map.
  • Whether labels are displayed giving the name of the object.
  • Whether taken and predicted tracks are displayed and in which colour.
  • How the image or 3D model is scaled as the zoom level changes.

For the 2D map, the settings include:

For the 3D map, the settings include:

  • The terrain provider, which provides elevation data. For a "flat" globe, terrain can be set to Ellipsoid for the WGS-84 ellipsoid.

  • The buildings provider, which provides 3D building models. This can be set to None if no buildings are desired.

  • Whether the globe and models are lit from the direction of the Sun or the camera.

  • The camera reference frame. For ECEF (Earth Centered Earth Fixed), the camera rotates with the globe. For ECI (Earth Centred Inertial) the camera is fixed in space and the globe will rotate under it.

  • API keys, required to access maps from different providers.

Free API keys are available by signing up for an accounts with:

If API keys are not specified, a default key will be used, but this may not work if too many users use it.

The "Download 3D Models" button will download the 3D models of aircraft, ships and satellites that are required for the 3D map. These are not included with the SDRangel distribution, so must be downloaded.

Map

The map feature displays a 2D and a 3D map overlaid with objects reported by other SDRangel channels and features, as well as beacon locations.

  • The "Home Station" antenna location is placed according to My Position set under the Preferences > My Position menu.
  • To pan around the map, click the left mouse button and drag. To zoom in or out, use the mouse scroll wheel.
  • Single clicking on an object in the map will display a text bubble with additional information about the object.
  • Right clicking on a object on the 2D map will open a context menu, which allows:
    • To set an object as the target. The target object will have its azimuth and elevation displayed in the text bubble and sent to the Rotator Controller feature.
    • Setting the Device center frequency to the first frequency found in the text bubble for the object.
    • Changing the order in which the objects are drawn, which can help to cycle through multiple objects that are at the same location on the map.
    • Setting the object as the tracking target on the 3D map.
  • Left double clicking while holding shift on the 3D map will place a marker showing the position. Right clicking will clear it.

The 2D map will only display the last reported positions for objects. The 3D map, however, has a timeline that allows replaying how objects have moved over time. To the right of the timeline is the fullscreen toggle button, which allows the 3D map to be displayed fullscreen.

Ionosonde Stations

When Ionosonde Stations are displayed, data is downloaded and displayed every 2 minutes. The data includes:

  • MUF - Maximum Usable Frequency in MHz for 3000km path.
  • M(D) - M-factor (~MUF/foF2) for 3000km path.
  • foF2 - F2 region critical frequency in MHz.
  • hmF2 - F2 region height in km.
  • foE - E region critical frequency in MHz.
  • TEC - Total Electron Content.

Each station is labelled on the maps as "MUF/foF2".

MUF and foF2 can be displayed as contours:

MUF contours

The contours can be clicked on which will display the data for that contour in the info box.

Attribution

IARU Region 1 beacon list used with permission from: https://iaru-r1-c5-beacons.org/ To add or update a beacon, see: https://iaru-r1-c5-beacons.org/index.php/beacon-update/

Mapping and geolocation services are by Open Street Map: https://www.openstreetmap.org/ esri: https://www.esri.com/ Mapbox: https://www.mapbox.com/ Cesium: https://www.cesium.com Bing: https://www.bing.com/maps/

Ionosonde data and MUF/coF2 contours from KC2G with source data from GIRO and NOAA NCEI.

Icons made by Google from Flaticon https://www.flaticon.com World icons created by turkkub from Flaticon https://www.flaticon.com

3D models are by various artists under a variety of licenses. See: https://github.com/srcejon/sdrangel-3d-models

Creating 3D Models

If you wish to contribute a 3D model, see the https://github.com/srcejon/sdrangel-3d-models project.

API

Full details of the API can be found in the Swagger documentation. Here is a quick example of how to centre the map on an object from the command line:

curl -X POST "http://127.0.0.1:8091/sdrangel/featureset/0/feature/0/actions" -d '{"featureType": "Map",  "MapActions": { "find": "M7RCE" }}'

And to centre the map at a particular latitude and longitude:

curl -X POST "http://127.0.0.1:8091/sdrangel/featureset/0/feature/0/actions" -d '{"featureType": "Map", "MapActions": { "find": "51.2 0.0" }}'