Skip to content
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

Update real time feeds to make use of dynamic entities custom data source #367

Open
2 of 3 tasks
ldanzinger opened this issue Sep 1, 2023 · 1 comment
Open
2 of 3 tasks

Comments

@ldanzinger
Copy link
Contributor

ldanzinger commented Sep 1, 2023

Summary

DSA simulates real time data feeds with a message simulator that sends GeoMessage and Cursor On Target messages. The DSA app listens to a UDP port and displays the messages as graphics on the screen. If the message is an update to an existing graphic, the graphic attributes and geometry will be updated.

DSA was written before Runtime/Maps SDK had official support for real time feeds. Since then, we've added dynamic entities, which allow you to hook into stream services, as well as custom data sources.

We should update DSA to make use of custom data sources to use official best practices instead of the hand-rolled graphics implementation. In the end, the message feeds should be represented by DynamicEntityLayer with DynamicEntityDataSource instead of GraphicsOverlay.

All work should be done off of the v.next branch, which will build with Qt 6.5.1 and Maps SDK 200.2.

Definition of done

  • App is updated to use DynamicEntityLayer for displaying real time feeds
  • Updates work for GeoMessage and Cursor On Target
  • All other functions in the app continue to work as they did previously, such as Alerts
@kerryrobinson
Copy link
Contributor

kerryrobinson commented Jun 15, 2024

Instead of creating a new issue, I'll add a comment here on issues/bugs I've noticed with the update to use Dynamic Entities, since it is not merged yet. We can determine if we need to turn any of these into new issues.

1- The Message Feeds panel lists duplicates of the 7 feeds. The bottom set of feeds in the list do not have any effect on turning on or off the visibility of the feeds (only the top set). I noticed that this only happens the first time I open the app and if there hasn't already been a config file created. Once the config file is created, I cannot reproduce this issue.

This is now covered in issue #376

image

2 - Dynamic Entities layers show up in the Overlays panel, when they should only appear in the Message Feeds panel. (note these are also duplicated when the app opens for the first time without an existing config file present)

This is now covered in issue #373

image

3 - Long-pressing on a dynamic entity in a feed results in an app crash

4- The Conditions list says there are no conditions, even though there is one condition saved in the config file (the default condition to highlight any Land Friendly Tracks that have a status of 1).

5- The Conditions and Observations Report panels UIs needs to be updated. The text on the Back and Next buttons are not visible (instead you see ellipses). Also, hitting the X at the bottom ('Cancel') does not cancel the panel (hitting the X in the upper right-hand corner does).
image

6- Conditions no longer seem to be working at all. The Dynamic Entity layers will need to be hooked up (they can be treated as graphics so it should technically be possible), but also My Location doesn't seem to be working after setting up a spatial condition. (eventually we should support Geotriggers but for now I recommend seeing if we can hook up Dynamic Entities to work with the existing Conditions/Alerts capability in the app).

7- Running the Line of Sight tool on the 3D observers data crashes the app. I was only able to repro this once.

8- Make sure to update the About dialog to reference the latest version of the SDK used and version of the app (still 2.0.0?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants