Map scaling

1052
2
Jump to solution
06-16-2022 11:56 PM
JanPZeeman
New Contributor

Just started unsing the SDK for Unity and I love it. I encountered one problem sofar and wonder if this behaviour is by design. I like to use the default World_Imagery basemap as a map to build buildings on in Unity. I find that the scale of the map does not matches the Unity units. E.g. the Oakland Bay Bridge measures approximently 2700 m to Yerba Buena Island (see the examples provided in the SDK) . I measured the  distance where the bridge is actually above the sea in Google Earth. Creating a cube object in Unity having a length of 2700 meters suggests however a much longer bridge (see attachment). Is this by design or is there a way to fix this?

Scaling the map itself in Unity does not work. Basemap tiles are given more or less space but the imagery itself does not scale, showing either empty spaces or cropped imagary.

I am using ArcGIS MAPS SDK for unity 1.0.0 and Unity 2021.3.4.f1

0 Kudos
1 Solution

Accepted Solutions
Matt_Nelson
Esri Contributor

Hi JanPZeeman,

So what you are noticing is actually how the globe is distorted when projected onto a flat surface. You could try the same exercise you are doing in global mode OR on a point along the equator and you will see that the distance is accurate. 

Alternatively if you want to make measurements in local mode far from the equator you can use this function https://developers.arcgis.com/unity/api-reference/gameengine/geometry/arcgisgeometryengine#distanceg... to get the actual distance on earth for that measurement.

View solution in original post

2 Replies
JanPZeeman
New Contributor

Solved.

Attach an empty placeholder component as child to the ArcGISMap component.image.png

Attach both an HPTransform component and an ARCGISLocation component to this placeholder component.

image.png

 

The HPTransform component can be used to scale all the childs of the placeholder component. Add childs below the placeholder components that should be scaled. 

 

Matt_Nelson
Esri Contributor

Hi JanPZeeman,

So what you are noticing is actually how the globe is distorted when projected onto a flat surface. You could try the same exercise you are doing in global mode OR on a point along the equator and you will see that the distance is accurate. 

Alternatively if you want to make measurements in local mode far from the equator you can use this function https://developers.arcgis.com/unity/api-reference/gameengine/geometry/arcgisgeometryengine#distanceg... to get the actual distance on earth for that measurement.