ue4plugins / UEGeoCoordinates

Provide tools for users to express Coordinates in different Geographic Coordinates Reference Systems
MIT License
135 stars 43 forks source link

Pairing georeferencing plugin with ArcGIS Maps SDK #14

Open thedatawizardTWC opened 3 years ago

thedatawizardTWC commented 3 years ago

First off I'd like to say how amazing the progress with getting GIS into UE has come in the last year. My company is in the weather industry so almost all of our data is geospatial. Having a tangible world with live coordinates in UE is a huge boon for us when it comes to data visualization. So thank you for all of your effort!

In your simulation demo from a few days ago I saw you were using this plugin with the ArcGIS Maps SDK to return live coordinates of the camera. When you were showing New York City, I noticed the coordinates were not correct and kept looping over the same range as you moved around the world. I've been able to replicate this on my end with a local map scene.

For reference, I'm using engine version 4.26.1, Maps SDK v2, and the latest version of the georeferencing plugin.

Projected CRS: EPSG:3857 Geographic CRS: EPSG:4326 Projected origin: 4980361, -8234403 Maps SDK origin: 40.7828282, -73.9709090 (local scene)

On play- The UI returns the coordinates of: 44.7394407, -59.24878473 (somewhere off the coast of Nova Scotia) Latitude is bounded between about 44.757 and 44.721 on camera move Longitude is bounded between about -55.243 and -55.258 on camera move

Is it possible that these two plugins are not compatible or did I make a mistake in setting my CRS/origin?

Thanks for any advice!

AlbanBERGERET-Epic commented 3 years ago

Hi,

I just had a look at your message. Thanks for your valuable feedback. That's the advantage of making early releases. Indeed, when I was live on ESRI part, I did not changed the georeferencing settings, so they are wrong in the webinar video.

After investigating, we have 3 issues there : 1) I think you inverted the X/Y values of the Origin in georeference settings. Your coordinates are right, but you inverted Easting(X) and Northing(Y) https://epsg.io/transform#s_srs=4326&t_srs=3857&x=-73.9709089&y=40.7828283

2) I just discovered that ESRI has chosen a different convention for orienting their maps in UE. They use X as northing and Y as easting. We consider X as Easting, and Y pointing to the south. I went it touch with them to discuss about it and add another setting in our plugin. You can invert the input coordinates in your computations as a workaround...

3) The coordinates are looping because they don't use the internal rebasing mecanism of Unreal. And since our plugin relies on this internal mecanism to keep accuracy, it also fails on my computer. (It should always fail in your case since this current version on github doesn't handle the rebasing case. I'll submit the latest version after having it reviewed by the engine team, in two weeks or more...). Meanwhile, I'll get in touch with ESRI team to talk about this.

Sorry for this issues, this is still in an experimental state, but we really appreciate your feedback and will fix it !

thedatawizardTWC commented 3 years ago

Thank you so much for the quick reply!

I'm guessing my issues with 1 & 2 are related. I too thought I had the coordinates inverted, but I was getting increasing/decreasing longitude values going poleward/equatorward (northern hemisphere) rather than latitude. If ESRI uses Y as what would normally be X, that makes sense.

You guys are the best and I look forward to the updates and future releases!