Calculating GE Altitude from GIS Scale

8 07 2006

With the release of KML 2.1 and the introduction of dynamic display boxes, it became necessary to know the relationship between view range (ie Altitude) and cartographic scales to convert the dynamic display values from layers in ArcGIS to its KML representation.

I calculated the following formulas from the Bounding Box and Range parameters returned by GE. I used the Haversine formula and calculated the represented pixel width in meters and then converted that to real world distance. You can see the graph of Scale vs GE Altitude below. There is some difference in the formula if you are looking N/S or E/W. The formulas are below.

Given a relative scale in (1:X) ie 1:24,000

N or S Up

Alt = -0.000000187 * X2 + 2.00587 * X - 5.4758

E or W Up

Alt = -0.000000155 * X2 + 1.80864 * X + 10562.8812

Example:

North Up, Max Scale 1:36,000

X = 36,000

Alt =

-0.000000187 * 360002 + 2.00587 * 36000 - 5.4758
-0.000000187 * 1296000000 + 2.00587 * 36000 - 5.4758
71963.4922 meters

I still need to do the calculations for Min Scale using the MinLodPixels tag. I’d also like to make a little app that will read a ArcGIS layer defination and output the KML tags to use in the Regions tag. I’d love to know if I made an error in my calculations or if anyone has something to contribute.

Alt vs Scale in Google Earth via Great Circle Distances