-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DRAFT] Include support for Ardupilot terrain servers as elevation data source #10715
[DRAFT] Include support for Ardupilot terrain servers as elevation data source #10715
Commits on Jun 9, 2023
-
This commit adds support for setting home clicking on map. It is shown as another action in the submenu when we click over the map with an active vehicle online. As per mavlink specs, this command must use AMSL altitude, so we need to first query terrain altitude, and when received send the command. Several checks have been implemented, and in case terrain altitude is not shown at the selected location a popup will appear indicating there are no terrain data for the specified location
Configuration menu - View commit details
-
Copy full SHA for added25 - Browse repository at this point
Copy the full SHA added25View commit details
Commits on Jun 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6b1817c - Browse repository at this point
Copy the full SHA 6b1817cView commit details -
Configuration menu - View commit details
-
Copy full SHA for ed2dff4 - Browse repository at this point
Copy the full SHA ed2dff4View commit details -
ElevationMapProvider: unlink Airmap referrer from ElevationProvider b…
…aseclass: in order to make ElevationMapProvider be able to be base class of anything besides Airmap. referrer was hardcoded to the base class
Configuration menu - View commit details
-
Copy full SHA for 9ccf349 - Browse repository at this point
Copy the full SHA 9ccf349View commit details -
FlightMap.SettingsGroup.json: provisionally require reboot for change…
… in elevation map provider: This is to be on the safe side in case we have something in the qeue for downloading, and the responses are somehow messed up if we change provider, in case we are basing the parsing of the response on terrain provider settings. Maybe it is all right and it can be done correctly or even it is already fine, but until super sure of that this is safer
Configuration menu - View commit details
-
Copy full SHA for 28797a8 - Browse repository at this point
Copy the full SHA 28797a8View commit details -
QGCMapEngineManager: decouple elevation from Airmap:
We needed to decuple here in 2 scenarios: 1 - on updateForCurrentView: when _fetchElevation true, we use retrieve the elevation map provider selected from settingsManager->flightMapSettings-> elevationMapProvider() 2 - on startDownload: We need to check here if the set selected corresponds to a terrain map provider, in case the fetch terrain data box is ticked, so we don't download twice. It used to be hardcoded to airmap elevation string
Configuration menu - View commit details
-
Copy full SHA for 749ede8 - Browse repository at this point
Copy the full SHA 749ede8View commit details -
TerrainQuery: remove use of Airmap Elevation string, prepare for othe…
…r providers: - getAltitudesForCoordinates: we get the name of the provider from settings for making the query, so the QGeoTileSpec of the query uses whatever map provider is set on settings. - _terrainDone: this is the response to what we did above. Here we get the string for the map provider from the QGeoTileSpec itself, this way we are sure we are handling it with the proper hash, corresponding to the proper elevation provider. - _getTileHash: we use here the map provider string from settings. This is what is called when getAltitudesForCoordinates is called. So this way we make sure it uses the provider indicated in settings. NOTE: there is still work to do to make all this TerrainQuery file provider agnostic, this only addresses the parts where we were hardcoding the string Airmap Elevation.
Configuration menu - View commit details
-
Copy full SHA for fe3433a - Browse repository at this point
Copy the full SHA fe3433aView commit details
Commits on Jun 19, 2023
-
Move serializeFromAirMapJson to map providers, from QGCMapTileSet:
We used to have in QGCMapTileSet::_networkReplyFinished() this serializeFromAirMapJson hardcoded to the airmap elevation string. Instead we added functions in urlFactory and map providers so we can understand from the map provider hash if such map provider needs its tiles to be serialized, and if so, we call the same provider to perform such serialization. This way the base MapProvider class returns by default that no serialization is needed, and the method to serialize just returns the same QByteArray ( we should never use this, it is just a sanity check ) Then in Airmap elevation map provider we override this, and we implement our own serialization method, which calls the TerrainTile method that was originally called from QGCMapTileSet. This way it is also more obvious when developing support for new elevation map providers, as the relevant methods are contained within the elevation map providers definition files
Configuration menu - View commit details
-
Copy full SHA for 43a7098 - Browse repository at this point
Copy the full SHA 43a7098View commit details -
ElevationMapProvider, QGCMapUrlEngine: WIP commit, provisionally incl…
…ude srtm1 ardupilot terrain servers
Configuration menu - View commit details
-
Copy full SHA for 5f4cb31 - Browse repository at this point
Copy the full SHA 5f4cb31View commit details -
Manage map providers fetching zipped files:
We implement again a method on QGCMapUrlEngine, mapProvider and overriden in AP ElevationMapProvider to check if tiles received need to be unzipped, and also a method to unzip them
Configuration menu - View commit details
-
Copy full SHA for cdf746b - Browse repository at this point
Copy the full SHA cdf746bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e556c45 - Browse repository at this point
Copy the full SHA e556c45View commit details