-
Notifications
You must be signed in to change notification settings - Fork 89
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
Add Image Rotation Support #644
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have one code comment, and in testing found the following:
- When animating ground overlays with a timestamp in 3D, the overlay flickers on each timeline change.
- When switching projections in 3D, the ground overlay image clips the globe.
This is an unrelated issue with
Ignoring all the other projection assumptions we have already made for this (... ew), I am not getting that artifact. Your screenshot that you sent me (which you should post) looks like raster reprojection from OpenLayers, which we should have off by default. Is that enabled in your environment? I also updated with a projection bug fix in 3f552c3. |
I'm seeing the artifacts in both Chrome and Firefox on macOS, in both debug and compiled builds. It doesn't seem to matter which projection I start in (only trying 3857 and 4326), I get the same result. I do not have raster reprojection enabled. Here's the screenshot: And the KML: Overlays.txt This happens in 3D mode if I load the file and switch to a different projection. |
One more issue in 3D mode: If a ground overlay isn't within the view extent when loaded, it will not be visible on the globe when the view extent does contain the overlay. |
The latest commit adds a synchronizer specific to static image sources. This essentially just loads and adds the primitive once and controls visibility only with I still have concerns about the original raster projection for |
…ensphere:THIN-12875 to master * commit '76580d1144061a437a01ed14f0c4ae6587705a51': feat(basecombinator): Make onRemove protected for use in subclasses
0f32d53
to
fdb73b3
Compare
also handle 2D coords in bounding sphere reduction.
fdb73b3
to
fa9b827
Compare
This adds image rotation support and then uses it in KML GroundOverlays to address some of our issues with displaying those.
Additionally, if the GroundOverlay contains an unsupported
LatLonQuad
value, then a warning is issued. I can write a ticket for further support of that. It requires non-affine transforms which are not supported inCanvasRenderingContext2D
but could be done by us since the image would only need to be redrawn once.I have not decided what warnings to show or not show regarding the lack of projection information for the raster image. Right now it is simply assumed to be in the application projection (probably a bad assumption).
Test Files (test in 2D/3D and in multiple projections):
GroundOverlays_etna_rotation_compare.txt
GroundOverlay_unsupported_quad.txt
GroundOverlay_rotation_test.txt