-
-
Notifications
You must be signed in to change notification settings - Fork 164
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
feature/webapi-marble-tiled-output #788
feature/webapi-marble-tiled-output #788
Conversation
- Add new route to API contract with default values (must be removed after development) - register new MapActionsController at ActionsControllerIndex
- PoC example only - Proove rendering retrievable via api
- Replace default values by "example" values from api contract - Compatible with initial https://github.com/KOKAProduktion/littlenavmap-openlayers/tree/feature/lnm-webapi
- Make copyright note painting setable via MapPaintWidget::setPaintCopyright
- Enable small distance Rect requests (closer zoom) - albar965#784 (comment)
easily assessable implementation. I wait for your OL implementation PR to see it in action. |
@KOKAProduktion @albar965 I'm intrigued whether tile generation can be spread across cores like I did for the random flight plan? OL requests multiple tiles in parallel or does WMTS want 1 request and delivers all at once? (I skimmed over the Standard document after i was aghast it's more than url?lat=x&lng=y&w=A&h=b) |
@u-an-i that's a great idea! Thank you! Although I would need guidance/assistance for this...
OL requests one tile per call. On initialisation and map navigation it calls visible/required tiles simultaneously. We haven't got to WMTS yet. Currently my OL implementation uses a custom source implementation which reuses the existing pattern of querying by a lat/lon rectangle. OL provides the tile to lat/lon rectangle conversion here: WMTS requires information about the whole
As far as i understand the HTTP-Server implementation (stefanfrings.de/qtwebapp) already provides multi-threading requests: On the other hand I've stumbled across this, which indicates serial processing: I believe currently the calls to the web API get synchronized at the latest point via the So I don't have an idea right now how to spawn Thanks and cheers! |
Hi guys, I've added the basic OL implementation (dist of KOKAProduktion/littlenavmap-openlayers#1) for testing purposes. It is accessible from the browser via Also the OL map can be included inside any HTML page by adding:
and adding a
to the body. There are some visible issues:
Thank you for your time! Cheers! |
I see no issue with an additional Marble instance but I'd keep the web API like the web interface optional. Means: Can be enabled in the menu or not in case users run into port conflicts. No idea about the limited output size. Never ran into this. But: See below. File generation across different cores: I doubt this is doable with the Marble widget. I'd rather look at the guts of Marble since there are several layers for HTTP downloaders and caches. These definitely use multi threading and are maybe even thread safe. Should I merge? |
@albar965 , not yet please. I have to elaborate some issues and decisions for us to discuss. Until then this PR serves as a starting point. Thanks and cheers! |
…le-tiled-output - Resolve conflicts - Apply albar965#790 (comment)
- setShowMapFeatures -> setShowMapObject - setShowMapFeaturesDisplay -> setShowMapObjectDisplay
Closing in favor of |
Hi @albar965, hi @u-an-i,
coming from #776
here's a new PR providing customized Marble image output for tiled usage via the API.
It's actually doing the same thing as "/mapimage" but without dynamic visual elements which would glitch between the separatly retrieved tiles. See the API contract for call details.
It is compatible with my current OL implementation utilising also the new sim info calls from the web API for aircraft tracking:
KOKAProduktion/littlenavmap-openlayers#1
However there are some points to consider to determine possible issues up front:
Please tell me if you have any concerns about these points. Otherwise i think this one is stable to merge.
Thanks for your time and hear you
Cheers!
Related: Milestone 3 : LNM Web UI OL Display Integration