Why dose GeoElevationData[]
give different results in its one and
two argument forms?
(* the version I am running *)
In[1]:= $Version
Out[1]= 11.1.0 for Linux x86 (64-bit) (March 13, 2017)
(* get elevation data at highest resolution for a very small rectangle
w/ only 2 values *)
In[2]:= GeoElevationData[
{GeoPosition[{32.1-1/3600,103.1-1/3600}],
GeoPosition[{32.1+1/3600,103.1+1/3600}]},
Automatic, "GeoPosition", GeoZoomLevel -> 12] // FullForm
Out[2]//FullForm=
GeoPosition[List[List[List[32.100162506103516`, 103.09999465942383`,
3071.465259638845`]], List[List[32.09981918334961`,
103.09999465942383`, 3076.4657749984644`]]]]
(* this should give me 3071.465259638845 or 3071 or even 3072 if
Mathematica is rounding, but it does not *)
In[3]:=
GeoElevationData[GeoPosition[{32.100162506103516`, 103.09999465942383`}]]
Out[3]= 3103. meters
(* similarly, this should give me 3076 or 3077 meters, but does not *)
In[4]:=
GeoElevationData[GeoPosition[{32.09981918334961`, 103.09999465942383`}]]
Out[4]= 3108. meters
(*
Note the second result is 5 meters higher than the first, just like in
the two argument form of GeoElevationData, but both heights in the
single argument version are about 32m higher than those in the two
argument version. Why?
*)