Git Product home page Git Product logo

Comments (2)

wilhelmberg avatar wilhelmberg commented on August 14, 2024

For example, the map is currently being scaled according to latitude (which is a hack).

Adding a bit of background information as this is not a hack per se, but common practice in GIS because of the distortions of the WebMercator projection and its inability to be useful for any type of measurement (distance, direction, area).

Unfortunately that implementation doesn't seem to play well with our SDK, Unity or AR.

Not tested:
A quick fix/workaround/hack for the SDK might be to always scale as if the current tile (data) were positioned at the equator, passing 0 for latitude.


GIS StackExchange: What's the accuracy of Web Mercator EPSG:3857?

As a first step, you could look at the distortions of the Mercator projection, which is a conformal projection. Distance with this projection is only correct along the equator, then the error increase with the latitude. Indeed, as you can see on a global view, the parallels keep the same legnth on the maps. For example, the horizontal scale factor, which is 1 at the equator, is equal to 1.15 at a latitude of 30° (15% error), 2 at a latitude of 60° (200% error) and 11.5 at a latitude of 85° (11,500% error) (scale factor 1/cos(latitude) )


Wikipedia: Mercator projection

Web Mercator distortion shown via Tissot's indicatrices:
image

The Mercator projection portrays Greenland as larger than Australia; in actuality, Australia is more than three and a half times as large as Greenland.

image


Geospatiality: The Web Mercator Visual and Data Analysis Fallacy

Cylindrical Projection: The Cause for Distortion in a Web Mercator:
image


ESRI: Why are my map, distance and area measurements wrong when using WGS 1984 Web Mercator?

Aitoff projection ("realistic" shape and area, poles are points):
image

Web Mercator (extreme distortion, poles cannot even be displayed, Antarctica appears larger than the land masses of the other six continents combined):
image

from mapbox-ar-unity.

david-rhodes avatar david-rhodes commented on August 14, 2024

Current map scaling is done with MapAtWorldScale component. Note that RelativeScale needs to be checked.

from mapbox-ar-unity.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.