3
$\begingroup$

I've extracted detailed path information from a .FIT file and would like to plot this in three dimensions. I assumed GeoPositionXYZ[] would be useful, and have translated the data into a list that looks like this . . .

allGeoPoints={GeoPositionXYZ[{-11.6394(*latitude*), 166.948 (*longitude*), 7.2(*altitude, in meters*)}], 
 GeoPositionXYZ[{-11.6394, 166.948, 7.2}], 
 GeoPositionXYZ[{-11.6394, 166.948, 7.2}] . . . etc.
}

I had thought GeoGraphics[allGeoPoints] would get me at least partway there, but it seems to be able to do nothing with the data, rendering instead a map of my current location.

What am I missing?

$\endgroup$
  • $\begingroup$ maybe GeoGraphics[Point@GeoPosition@allGeoPoints,GeoRange -> "World", GeoProjection -> "LambertAzimuthal"] ? $\endgroup$ – kglr May 15 '16 at 17:30
  • $\begingroup$ Update: Solved it for 2D -- I should have been using GeoPosition[] instead of GeoPositionXYZ. $\endgroup$ – Michael Stern May 15 '16 at 18:32
5
$\begingroup$

Say that list data contains triples of {latitude,longitude,altitude}. One possible visualisation uses ListPointPlot3D as follows.

ListPointPlot3D[
   data,
   Filling -> Bottom, BoxRatios -> {Automatic, Automatic, 0.04},
   RotationAction -> "Clip",
   ColorFunction -> (ColorData["Rainbow", 2.5 (#3 - 0.6)] &)]

3D path

$\endgroup$
  • $\begingroup$ Ah -- this works so long as I strip the GeoPosition head from my points, and adjust the vertical scaling appropriately. Thus, ListPointPlot3D[allGeoPoints3D[[All, 1]], Filling -> Bottom, BoxRatios -> {Automatic, Automatic, .01}, RotationAction -> "Clip", ColorFunction -> (ColorData["Rainbow", 2.5 (#3 - 0.6)] &)] for my test data. Thanks! $\endgroup$ – Michael Stern May 17 '16 at 14:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.