Announcement

Collapse
No announcement yet.

Loading WW Pathlists into WWJ

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Loading WW Pathlists into WWJ

    And now for something completly different : pathlists layers !


    Alpine portion of Tour de France 2006 from m_k.

    With SurfacePolyline it doesnt work very well - it is bitmaped over the terrain... but doesnt scale well. I'll try plain Polyline...
    Last edited by patmurris; 05-28-2007, 06:27 PM.
    My World Wind Java Blog & WW.net Plugins page

  • #2
    Originally posted by patmurris View Post
    Alpine portion of Tour de France 2006 from Mazop - Dynagis
    Hey! This looks like my TdF add-on... :P
    Hot stuff: FAQ, forum search, DirectX, .NET, Video Card Compatibility list

    Comment


    • #3
      sorry m_k, i thought mazop did it...
      My World Wind Java Blog & WW.net Plugins page

      Comment


      • #4
        No problem...
        Now I need to find TdF data for this year
        Hot stuff: FAQ, forum search, DirectX, .NET, Video Card Compatibility list

        Comment


        • #5
          Originally posted by m_k View Post
          No problem...
          Now I need to find TdF data for this year
          http://www.letour.fr/2007/TDF/presen...us/villes.html
          My World Wind Java Blog & WW.net Plugins page

          Comment


          • #6
            I was thinking about a GPS track...
            In 2005 and 2006 I got it from http://tour.ard.de/tdf/
            But it looks like I'll have to wait for 2007 data...
            Hot stuff: FAQ, forum search, DirectX, .NET, Video Card Compatibility list

            Comment


            • #7
              Originally posted by patmurris View Post
              And now for something completly different :
              With SurfacePolyline it doesnt work very well - it is bitmaped over the terrain... but doesnt scale well. I'll try plain Polyline...
              Hi. When you say "doesn't scale", what is the limit? Thousands or hundreds of samples?

              Comment


              • #8
                Originally posted by fabrizio.giudici View Post
                Hi. When you say "doesn't scale", what is the limit? Thousands or hundreds of samples?
                I mean that the line width of the bitmaped path is fixed. So when far away it looks very small and close its so wide it covers a good portion of the terrain.

                Also, as the SurfacePolyline produces a bitmap out of the path data, if the extent of all the points covers a large lat/lon area, the bitmap will be huge and WWJ will get slow. Dont even think of loading a world wide set of path. Its not so much the number of point that matters but their overall coverage.

                All those problems are related to the SurfacePolyline class. I'm looking into using plain Polyline that renders as GL lines - like in WW. But they may collide with the terrain if the data does not include the altitude for each point...
                Last edited by patmurris; 05-28-2007, 08:26 PM.
                My World Wind Java Blog & WW.net Plugins page

                Comment


                • #9
                  For lines "painted" on the terrain, the .NET client makes a QTS in memory and draws the necessary lines on each image tile as it is loaded. It's a lot slower than lines drawn using directx/ogl primitives, but they never cut through the terrain drawn this way, and they look more map-like. You could also cache the tiles and speed up subsequent loading of the layer by quite it bit I'll bet.

                  The projected vector renderer class (or something like that) does it for linefeatures and polygonfeatures, and shapefile layers do basically the same thing.
                  Last edited by withak; 05-28-2007, 08:28 PM.

                  Comment


                  • #10
                    Originally posted by patmurris View Post
                    I mean that the line width of the bitmapped path is fixed. So when far away it looks very small and close its so wide it covers a good portion of the terrain.

                    Also, as the SurfacePolyline produces a bitmap out of the path data, if the extent of all the points covers a large lat/lon area, the bitmap will be huge and WWJ will get slow. Dont even think of loading a world wide set of path. Its not so much the number of point that matters but their overall coverage.

                    All those problems are related to the SurfacePolyline class. I'm looking into using plain Polyline that renders as GL lines - like in WW. But they may collide with the terrain if the data does not include the altitude for each point...
                    Ok, I understand. I've just adapted your code to my app and actually I wasn't able to see the path before the image was too zoomed out. Conversely, when I zoom in a lot, I can see staggering in the path.

                    Comment


                    • #11
                      Originally posted by withak View Post
                      For lines "painted" on the terrain, the .NET client makes a QTS in memory and draws the necessary lines on each image tile as it is loaded. It's a lot slower than lines drawn using directx/ogl primitives, but they never cut through the terrain drawn this way, and they look more map-like. You could also cache the tiles and speed up subsequent loading of the layer by quite it bit I'll bet.
                      I would believe that this is what the SurfacePolyline is intended to do (tiling the bitmaped path) but it is not finished or tuned in the early release SDK...
                      Last edited by patmurris; 05-28-2007, 08:34 PM.
                      My World Wind Java Blog & WW.net Plugins page

                      Comment


                      • #12
                        I did a quick try with Polyline and some recorded GPS tracks - for safety raise up 5/10 meters. But it doesn't work well, as a lot of sections of the path are not shown, probably they fall under the terrain because of GPS lack of precision...

                        Comment


                        • #13
                          raise it more than that 10m ...
                          My World Wind Java Blog & WW.net Plugins page

                          Comment


                          • #14
                            I switched to Polyline too, but am having the same problem - lines disappear below the terrain in mountainous areas. The problem is that a lot of the pathlists are just 2D and do not include elevation that would make them follow the ground.

                            Solving that would need to dynamicaly 'tesselate' the visible portions of the path and adjust each point elevation according to the underlying terrain. Thats what WW actually does (or did) i believe.

                            I'm not sure it is worth it though. SurfacePolyline - that 'paint' the path on the terrain, would be more appropriate i think. I dont know if the WWJ team plans to make it 'scalable' - with a dynamicaly generated quadtile set.

                            Note that SurfacePolyline can work efficiently with small area path. So if you split your path into multiple 'local' chunks, it may work to some extent...

                            PS: to see the path below the terrain, just turn off the BMNG and I3 Landsat layers.
                            Last edited by patmurris; 05-30-2007, 06:27 PM.
                            My World Wind Java Blog & WW.net Plugins page

                            Comment


                            • #15
                              Originally posted by patmurris View Post
                              I switched to Polyline too, but am having the same problem - lines disappear below the terrain in mountainous areas. The problem is that a lot of the pathlists are just 2D and do not include elevation that would make them follow the ground.
                              Just a hint how you can deal with 2D pathlists: If the elevation of a point lacks, you can use the following code to get the height.
                              Code:
                              new EarthElevationModel().getElevation(Angle.fromDegrees(lat),Angle.fromDegrees(lon))
                              But this does not solve the problem, that the paths aren't always on the surface...
                              But me, I prefer nevertheless the Polyline to SurfacePolyline.

                              Comment

                              Working...
                              X