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$
2
  • $\begingroup$ maybe GeoGraphics[Point@GeoPosition@allGeoPoints,GeoRange -> "World", GeoProjection -> "LambertAzimuthal"] ? $\endgroup$
    – kglr
    Commented May 15, 2016 at 17:30
  • $\begingroup$ Update: Solved it for 2D -- I should have been using GeoPosition[] instead of GeoPositionXYZ. $\endgroup$ Commented May 15, 2016 at 18:32

1 Answer 1

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$
1
  • $\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$ Commented May 17, 2016 at 14:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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