No announcement yet.

Converted WWJ Tiles Slowly Dissappearing

  • Filter
  • Time
  • Show
Clear All
new posts

  • Converted WWJ Tiles Slowly Dissappearing

    I recently converted some high-resolution imagery to WWJ tiles using GlobalMapper version 12. The tiles generally display correctly on development machines and a laptop (Windows XP on both).

    After some period of time, say 1-2weeks I begin to observe missing tiles. Initially, the missing tiles seemed to correlate to app crashes on the development machine and also with "Blue Screen of Death" on my laptop. Once a tile is "missing" the same tile is always missing unless I reload the cache. A re-load of the cache always fixes the problem.

    I noticed last week the phenomena occurred on machines without any failures. The pattering is usually 1 or 2 initial missing tiles then it slowly gets worse.

    Attached is a sample. Any suggestions?
    Attached Files

  • #2
    Hi tucher, If you would please answer four clarification questions, it would help us determine exactly what the problem is:
    1. How does your app create a layer from the GlobalMapper tiles?
    2. Could you please clarify what re-loading the cache means?
    3. How long does your app typically run?
    4. Does re-launching the app fix the problem?

    WW Team


    • #3
      Do you have an expiry time in your layer?

      Mike has done a good job with GM (GlobalMapper)
      If you want more control try dstile, there is more of an initial learning curve.

      This uses FWTools/gdal which GM is based on AFAIK.



      • #4
        Some additional info below. I'll check the expiry time and also check into dstile too, thanks.

        1. How does your app create a layer from the GlobalMapper tiles?
        I created the tile cache manually using the GlobalMapper (GM) World Wind Export function. The original file is 3.54GB. GM produced 5 zoom levels. I do not recall what level of detail I used at the time, but it was probably the default (Level 18), maybe Level 12. The output produced is 9,758 files in 144 folders in .png format. Windows reports size as 40MB on disk.

        2. Could you please clarify what re-loading the cache means?
        Delete the tiles from WorldWindData folder and re-copy the original tiles to the WorldWindData folder.

        3. How long does your app typically run?
        The typically app runs from several hours to a few days before I have to terminate it for various reasons. The goal is to run continuously 24/7. I’ve just recently obtained resources for long-term monitoring .

        4. Does re-launching the app fix the problem?
        No. Once a tile is missing, the same tile(s) is/are always missing for subsequent app launches. The only way I’ve found to clear the problem is to re-load the tiles.

        Additional info:
        1. My original thinking was some sort of corruption since is it appeared to always be associated with a crash (app or system) or some resource constraint.

        2. The GM tiles do load slowly (20-40 seconds) on both laptops and desktops when I have the worldwindlayer.xml file configured with actuate="onLoad".

        3. The tiles I created in GM are visible at all zoom levels .

        4. So far, I’ve only observed missing tiles without a crash on a laptop (2GB ram).

        5. The WorldWindData folder also has a large amount of WMS cache on my desktop. I’ve moved some, but not all, folders from my desktop to the other machines(laptop/ other desktops).

        6. I’ve been running the app in Netbeans IDE but I’m now running as an executable jar.


        • #5

          Thanks for clarifying. Could you please post the XML configuration file for the layer exported from GM, along with its corresponding entry in worldwindlayers.xml?

          WW Team


          • #6
            Listed are the two files per your request.

            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
            <Layer layerType="TiledImageLayer" version="1">
            <Service serviceName="WWTileService">
            <!-- <URL>http://localhost/</URL> -->
            <NumLevels count="5" numEmpty="0"/>
            <LatLon latitude="30.42114258" longitude="-86.57226563" units="degrees"/>
            <LatLon latitude="30.53100586" longitude="-86.46240234" units="degrees"/>
            <LatLon latitude="-90.0" longitude="-180.0" units="degrees"/>
            <Dimension height="512" width="512"/>
            <LatLon latitude="0.01098633" longitude="0.01098633" units="degrees"/>

            <?xml version="1.0" encoding="UTF-8"?>
            <!--This document specifies the initial layers to load in World Wind-->
            <!--This list can be overridden by specifying an alternate list in worldwind.xml, or by specifying an-->
            <!--alternate configuration document-->
            <!--See the javadoc for the Configuration class for details-->
            <!-- <Layer className="gov.nasa.worldwind.layers.Sta rsLayer" title="Stars"/> -->
            <Layer className="gov.nasa.worldwind.layers.Sky GradientLayer" title="Sky"/>
            <Layer className="gov.nasa.worldwind.layers.Ear th.BMNGOneImage" title="Earth Image"/>
            <Layer href="references/config/Earth/BaseMap_SEUS.xml" title="BaseMap_SEUS" actuate="onLoad"/>
            <Layer href="references/config/Earth/BMNGWMSLayer.xml" title="Blue Marble" actuate="onRequest"/>
            <Layer href="references/config/Earth/lower48.xml" title="Lower 48" actuate="onLoad"/>
            <Layer href="references/config/Earth/LandsatI3WMSLayer.xml" title="i3 Landsat" actuate="onLoad"/>
            <Layer href="references/config/Earth/USDANAIPWMSImageLayer.xml" title="USDA NAIP" actuate="onRequest"/>
            <Layer href="references/config/Earth/MSVirtualEarthAerialLayer.xml" title="MS Virtual Earth Aerial" actuate="onRequest"/>
            <Layer href="references/config/Earth/EGI_HIRES_1FT_PNG.xml" title="EGI_HIRES_1FT_PNG" actuate="onRequest"/>
            <Layer href="references/config/Earth/MSVirtualEarthRoadsLayer.xml" title="Microsoft Virtual Earth Roads" actuate="onRequest"/>
            <Layer href="config/Earth/USGSUrbanAreaOrthoLayer.xml" title="USGS Urban Area" actuate="onRequest"/>
            <!-- <Layer className="gov.nasa.worldwind.layers.Ear th.OpenStreetMapLayer" title="Open Street Map"/> -->
            <Layer className="gov.nasa.worldwind.layers.Ear th.CountryBoundariesLayer" title="Borders" actuate="onRequest"/>
            <Layer className="gov.nasa.worldwind.layers.Ear th.NASAWFSPlaceNameLayer" title="Place Names"/>
            <!-- <Layer className="gov.nasa.worldwind.layers.Wor ldMapLayer" title="World Map"/> -->
            <Layer className="gov.nasa.worldwind.layers.Sca lebarLayer" title="Scale Bar"/>
            <!-- <Layer className="gov.nasa.worldwind.layers.Com passLayer" title="Compass"/> -->


            • #7

              Thanks for providing your layer configuration files. We're unable to reproduce this issue after exporting an image from Global Mapper and configuring the exported image as a World Wind layer just as you've done. It is possible that a sporadic error loading an image tile causes the World Wind layer to delete the tile as corrupt. If this is the case, the layer writes the following sequence of messages in the log:

              SEVERE: Exception attempting to read texture file [path_to_tile]
              FINE: Deleted corrupted data file [path_to_tile]
              Where [path_to_tile] is the cache path of one of your missing tiles.

              Please run your application until you see one or more tiles disappear, search your log for the above messages, and let us know what you find.

              WW Team