Planetary Model

The Earth is technically an oblate spheroid shape - it is not a perfect sphere, but rather a slightly flattened sphere. From a mathematical and conceptual view point, however, the earth is identical to a perfect sphere, so that is how it is modeled by the Altus Platform and every globe you have ever seen.

But Why a Sphere and not Flat?

Because, simply put, the Earth, is not flat.

Likely, the only reason humans ever drew maps on flat things was either because at the time we thought the planet was flat (it does look flat when you're standing on it), or it was just cumbersome to carry around giant balls to find your way around. Paper rolls up or folds for compact storage, and is also easy to use with tools like pencils, rulers etc. Giant balls, on the other hand, are not conducive to storage and tiny balls are hard to see.

Interestingly, if you look at any planar map, you will necessarily be looking at a representation of the world not as it really is, but, by definition, as it most certainly is not.

Map projections convert sphere to flat, and therefore are attempts to represent the planet in a way that either minimizes the distortion of flattening everything, or, to make it so things drawn a sheet of paper are coherent with other distorted things drawn on the sheet of paper.

Luckily, we invented computers and flat things (like tablets and smart phones) that offer convenient storage AND can view the planet in a more natural and consistent way. When you have the technology and computational power to model a planet as a sphere, and you make the representation intuitive for the user, you are giving an much more realistic expression of the planet as it actually is and it can be a joy to experience.

But don't take our word for it, look at some flat maps and compare.

Here is a typical flat map:

Notice the relative size of Greenland? Greenland is not really that big. And what is going on with Antarctica? These distortions are due flattening out the data and 'smearing' it. In reality, the continent of Africa is big enough to hold all of North America, Europe, China and India, but you would never guess that from this flat map. A lot people actually develop the perception of a continent's relative size based on years of seeing printed maps like this in books or on television.

Now look at the same type of map data, but this time projected onto a sphere by Altus (actually unprojected might be a better definition):

And now let's compare that to a photograph taken from a satellite which is just a photo, and looks, mainly, as the planet would to you if you were in space (aside from the false coloring at play):

Doesn't it seem obvious that a spherical model, if done correctly and efficiently, can give a much less distorted view of the world.

That is why Altus uses a planetary model and once you and your customers start looking at the planet as it really is, you will never go back to flat map and you will not see why people still use them.

Why Don't All Map SDKs Use Spherical Models?

That's a good question. From our point of view there are several possible answers.

It is a tough problem... get your head around.

Up until recently, computers and tablets weren't really powerful enough to efficiently render 3D models in a fluid and intuitive way. In fact, some recent takes on modeling the Earth as a sphere, even on powerful hardware, can be confusing to use. At BA3, we have spent a lot of time thinking through solutions to these issues when we built Altus. Altus solves these problems by:

  • Being fast and efficient with data. Performance is our prime directive.
  • Being accurate. There is no point in putting something on map if it is isn't the truest possible representation.
  • By leveraging a special chip in your device called a GPU that is designed for real-time 3D rendering. GPUs are difficult to program today due the esoteric nature of their circuits and their less-than-friendly patterns of parallel computation. But they are incredibly good at what they do when you come to terms with their complexity.
  • By creating an intuitive control system that models the inertia and momentum of using a real physical globe.

Any child who has held a ball or touched a globe immediately 'gets' how to use Altus. We've made it incredibly simple.

It is a tough problem... convey in a program or friendly SDK.

Being good as software development is in itself challenging. Being good at it, and making something good enough to solve the tough problems, and understandable enough that others can leverage it is harder still. For example: drawing a square or rectangular image on a square or rectangular screen is child's play in almost every modern programming language on almost every operating system. Zooming in and out is a little harder but not that hard.

However, writing the CPU code (in language A) and the GPU code (in languages B and C) to do efficient 3D modeling of any object, and one that dynamically adjusts its content based on things like altitude and source data projection distortions is a much more difficult problem to solve. It requires mathematical expertise as well expert low-level programming abilities. That barrier, we believe, is one reason you only see this done by a handful of people on our planet.

It was once said by a seasoned graphics veteran from the video game world that the number of programmers who understand modern GPU programming is about 1% of all programmers. He further asserted that of those only about 1% know it well enough to solve hard problems. And then he asserted that of those, about 1% could actually "ship" production software. He was just conjecturing, but if he was right, there probably aren't that many talented graphics programmers working in this space. Certainly the products on the market when we got our start had much room for improvement in the graphics space.

So we attacked hard problems and what we strive to do is bring the power of the GPU to your applications in way that you can create novel solutions to problems your customers face. And the reality is that with Altus, you can now you can do something that, until recently, was not possible, on any platform.

Content is Lacking, Proprietary, or Backwards

In the past, cartographers have assumed that maps will be printed on flat sheets of paper. That is how it has been done for centuries. And that assumption forces certain constraints on thinking. Those constraints can come off today.

All of the digital data that has been generated and circulating the world of mapping and even digital mapping has, until recently, made a lot of assumptions about how it would be viewed. And generally that assumption is it will be viewed on a sheet of paper or on a flat screen as a rectangular image. Therefore, content generation and display of such content are behind right now. Altus solves that problem by giving you an entire suite of tools that are designed from the ground up for delivery of the content into a true spherical representation.

With Altus, we worked the problem differently than traditional map thinking which assumes printing. We starting by thinking about rendering efficiency and then we made the content pipeline to support the renderer's efficiency requirements. And if you look at how some of our vector maps dynamically adjust content based on viewing distance and data complexity you'll start to understand what we set out to achieve.

We Love Hard Problems

Creating Altus and bringing it to the world presented a challenging set of problems to solve, but we were driven by the desire to put accurate, real-world imagery into the hands of every developer who wants to create something that shows people how to find their way around, avoid dangers, or explore.

The planetary model used by Altus is superior in every way to a distorted projection onto a flat surface. And now, that power is in your hands.

AltusMappingEngine Documentation v2.0.ut.2153.g60764257e master