World Wind Forums

Go Back   World Wind Forums > WorldWind JAVA forums > Server Discussion

Server Discussion Sever discussion for configuring, setting up and supporting your own World wind tile server

Reply
 
Thread Tools Display Modes
Old 05-05-2009, 02:37 AM   #1
garakl
WWJ Dev. Team
 
garakl's Avatar
 
Join Date: May 2006
Location: Seattle
Posts: 146
Default How to configure DTED elevations in the WorldWind WMS server

NASA WorldWind WMS server implementation supports Digital Terrain Elevation Data (DTED) elevations.

The DTED directory and file structure must follow DTED database naming conventions. Each DTED tile is represented as 1-by-1 degree quadrangles at horizontal resolutions ranging from about 1 kilometer (DTED 0) to 1 meter(DTED2).

The DTED specification defines naming convention like this DTED { 0 | 1 | 2 } \ W140\N35.dt[0|1|2], where {} represents optional parameters, [] – required parameters.

Correct examples:
DTED0\W140\N35.dt0

DTED1\W140\N35.dt1

If you want to add your own DTED source to the NASA WorldWind WMS server, you need to modify a config.xml file located in the wms_8085\WEB-INF folder.

Open the config.xml for editing and add next XML that defines a map source.

You will need to modify name, title, keywords, description, root-dir properties.

Code:
<mapsource name="MyDTED" title="This is MyDTED">
    <description keywords="MyDTED that contains all DTED0,DTED1,DTED2 levels">More specific info about DTED coverage and levels</description>
    <root-dir>/path/to/dted</root-dir>
    <class>gov.nasa.worldwind.servers.wms.generators.DTEDGenerator</class>
            <property name="gov.nasa.worldwind.avkey.ElevationMinKey" value="-11000" />

            <property name="gov.nasa.worldwind.avkey.ElevationMaxKey" value="8850" />

            <!-- MISSING_DATA_SIGNAL

            if client does NOT specify BGCOLOR value in the GetMap request and response has missing areas, those areas will be filled with default.nodata.value; otherwise, those mssing data areas will be filled with a value specified by BGCOLOR parameter from the GetMap request
            Example,
            <property name="gov.nasa.worldwind.avkey.MissingDataFlag" value="-9999" />
            -->

            <property name="gov.nasa.worldwind.avkey.MissingDataFlag" value="0" />

            <!-- MISSING_DATA_REPLACEMENT
            every dataset (elevation or imagery) may contain missing areas which a filled by some value; 
most datasets have "-32768" or "-32767" (rare) values, but some , like USGSNED have "0".  One way to find out for sure, execute "gdalinfo" and see "No Data" field in the very button.
Usually, WW WMS server knows default missing values of datasets, but this is a way to override them. 
This value is used to ignore pixels while we read image or elevation from a source file.

            Example,

            <property name="gov.nasa.worldwind.avkey.MissingDataValue" value="-32768" />

            -->

            <property name="gov.nasa.worldwind.avkey.MissingDataValue" value="-32767" />

            <!-- LAST_UPDATE
            <property name="gov.nasa.worldwind.avkey.LastUpdateKey" value="1237413614397" />

            The value is the number returned from System.currentTimeMillis(),

            which is the number of milliseconds since the epoch.

            This is the value we'll update whenever the dataset associated with the layer changes.

            Layers we don't changed don't need this. The value is inherited from enclosing layers.

            Example,

            <property name="gov.nasa.worldwind.avkey.LastUpdateKey" value="1237413614397" />

            Alternatively, you may provide the last update date in this format: yyyy-MM-dd HH:mm:ss , for example 
            <property name="gov.nasa.worldwind.avkey.LastUpdateKey" value="2008-12-31 17:55:00" />
            -->

            <property name="gov.nasa.worldwind.avkey.LastUpdateKey" value="2009-04-14 9:55:00" />

            <!—PERFORMANCE TUNING

            If server receives a request that covers big area (so lots of tiles should be read),

            Limit number of tiles to 25. Otherwise, server will try to assemble a low resolution tile when each tile contributes only single pixels.

            Usually client cancels request within 5-10 seconds, so even if server generates tile it most likely will never make to the client.

               WMS server will ignore requests that require more than 25 tiles.

            -->

<property name="max_tiles_per_request" value="25" />

              

        </mapsource>
Now, it is your decision where you want to add the new DTED layer.
You may have multiple DTED layers as standalone or as nested (merged).

Important! Even when a layer is nested, you still could query the specific layer by its name.

In the pre-configured WMS server we have a “mergedDTED” layer that contains a first layer called “srtm30”.

It is a small set of SRTM elevations (30 m resolution) that covers entire Earth.

When requested area is too big, querying even DTED0 tiles will take significant time to assemble a low resolution tile.

If SRTM30 layer is defined as a first layer, WMS server will use it to generate a coarse resolution tile,

until client (by zooming-in) requests a resolution of 1/120 (DTED0) or 1/1200 (DTED1), or 1/3600 (DTED2).

If you do not want SRTM layer to be used, simply define your DTED layer as a standalone layer.

Examples of standalone layers:
Code:
<mapsource name=”MyDTEDRegionUSA” >
…
</mapsource>

<mapsource name=”MyDTEDRegionAsia” >
…
</mapsource>
Example of nested layers without SRTM30:
Code:
<mapsource name=”NorthAmericaDTED” >
    <mapsource name=”CanadaDTED” >
…
    </mapsource>
    <mapsource name=”USADTED” >
…
     </mapsource>
</mapsource>
Example of nested layers with SRTM30:
Code:
<mapsource name=”NorthAmericaDTED” >
    <mapsource name=”SRTM30” >
…
    </mapsource>
    <mapsource name=”CanadaDTED” >
…
    </mapsource>
    <mapsource name=”USADTED” >
…
    </mapsource>
</mapsource>
Attached Files
File Type: txt config.xml.txt (7.3 KB, 331 views)
__________________
WorldWindJ - developer

Last edited by m_k; 05-31-2009 at 05:04 PM. Reason: code tags
garakl is offline   Reply With Quote
Old 05-05-2009, 02:43 AM   #2
garakl
WWJ Dev. Team
 
garakl's Avatar
 
Join Date: May 2006
Location: Seattle
Posts: 146
Default Configure WorldWind Client to use custom DTED elevations

Attached is the template of the configuration file you need in the WorldWind client.

You need to make a change to the worldwind.properties file: Replace the elevation model config file name with your custom one:

gov.nasa.worldwind.avkey.EarthElevationM odelConfigFile=config/DTEDElevationModel.xml
Attached Files
File Type: zip DTEDElevationModel.zip (961 Bytes, 364 views)
__________________
WorldWindJ - developer
garakl is offline   Reply With Quote
Old 05-26-2009, 06:04 PM   #3
zaknixon
Member
 
Join Date: Mar 2008
Posts: 88
Default

Can this support higher levels of DTED as well ?
zaknixon is offline   Reply With Quote
Old 05-26-2009, 06:27 PM   #4
garakl
WWJ Dev. Team
 
garakl's Avatar
 
Join Date: May 2006
Location: Seattle
Posts: 146
Default RE: Can this support higher levels of DTED as well ?

Current DTED support is limited to DTED levels 0, 1, and 2.
Higher DTED elevation could be supported with minor changes.
If you have and able to share or can point to available higher DTED level data, I could take a look and check what it takes to support higher DTED levels.
__________________
WorldWindJ - developer
garakl is offline   Reply With Quote
Old 05-28-2009, 04:20 PM   #5
liuxianren
Junior Member
 
Join Date: Jul 2008
Posts: 8
Exclamation

Quote:
Originally Posted by garakl View Post
Current DTED support is limited to DTED levels 0, 1, and 2.
Higher DTED elevation could be supported with minor changes.
If you have and able to share or can point to available higher DTED level data, I could take a look and check what it takes to support higher DTED levels.
Hi,Garakl, I have data in arc grid ascii format.It's 2x2m elevation data. I tried to convert it to DTED format, but failed to serve it via WWJ WMS. Can you give me some suggestion on how to serve these data via WMS?

thanks!

Some lines of the data inside the ArcGrid .ASC file:
-----------------------------------------------
NCOLS 1001
NROWS 377
CELLSIZE 2.000
XLLCENTER 620590.000
YLLCENTER 4975850.000
NODATA_VALUE -9999.000
-9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 -9999.000 22.560 22.550 22.520 22.620 22.649 22.759 22.809 22.869 22.939 22.819 22.749 22.679 22.449 22.399 22.359 22.309 22.229 22.179 22.129 22.119 22.129 22.139 22.139 22.148 22.158 22.178 22.208 22.228 22.208 22.108 22.118 22.058 22.198 22.178

Last edited by liuxianren; 05-28-2009 at 04:23 PM.
liuxianren is offline   Reply With Quote
Old 05-29-2009, 08:34 AM   #6
garakl
WWJ Dev. Team
 
garakl's Avatar
 
Join Date: May 2006
Location: Seattle
Posts: 146
Default

Some of our layers use GDAL to crop/mosaic and reproject from UTM to Geodetic.
You will need to create a new layer (very similar to the recently added ScankortElevationLayer in the WW WMS server under "generators" directory) that deals with the ASC files directly without converting them to DTED.

In very high level, you need to determine what elevation tiles (ASC files) are intersected with the requested bounding box.
Hand the list to gdal to crop / mosaic and reproject to GEODETIC by invoking gdalwarp -ot Float32 -te minlon minlat maxlon maxlat -ts width height -srcnodata -9999 -dstnodata -9999 -s_srs "+proj=utm +zone=11 +datum=WGS84 +no_defs" -t_srs "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" -of ENVI tile1.asc tileN.asc destTile.bil

This will produce a binary (float32) BIL tile (width x hight x 4 (Float32) ).

Let me know if you need further help.
__________________
WorldWindJ - developer
garakl is offline   Reply With Quote
Old 07-14-2009, 06:19 PM   #7
ksev
Member
 
Join Date: Jun 2009
Posts: 37
Default

Hi Garakl - I'm working on getting the SRTM30 to work as an elevation served up by WMS to my WWJ client app.

I have some questions:

1.) Where can I download the map data from? I have downloaded the SRTM30 (United States Elevation) from http://www.worldwinddata.com/
I have layers 0-7; the files are in .bil format and have lots of "zeros" in the name. Makes me think I need to run them through a converter?
I'm not sure I should even be using that data.

2.) What files do I need to edit and what do I add?

- I know I have to add a "map source section" to config.xml
- do I have to edit the worldwind.properties file at all?
ksev is offline   Reply With Quote
Old 07-15-2009, 12:43 AM   #8
garakl
WWJ Dev. Team
 
garakl's Avatar
 
Join Date: May 2006
Location: Seattle
Posts: 146
Default

Let's take the SRTM elevations discussion to the new thread:
http://forum.worldwindcentral.com/sh...ad.php?t=21856
__________________
WorldWindJ - developer
garakl is offline   Reply With Quote
Old 09-11-2009, 11:53 AM   #9
torhar
Junior Member
 
Join Date: Sep 2009
Location: Linköping Sweden
Posts: 29
Default DTED throws index out of bounds exception

Hi i've managed to get the WMS running with DTED0 data, but when this data is transfered and used by the wwj client i get an index out of bounds exception in the rendering loop.

ALLVARLIG: Exception while attempting to repaint WorldWindow
java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Buffer.java:5 14)
at java.nio.ByteBufferAsFloatBufferL.get(By teBufferAsFloatBufferL.java:97)
at gov.nasa.worldwind.util.BufferWrapper$Fl oatBufferWrapper.getDouble(BufferWrapper .java:736)
at gov.nasa.worldwind.terrain.BasicElevatio nModel.lookupElevation(BasicElevationMod el.java:1095)
at gov.nasa.worldwind.terrain.BasicElevatio nModel.getUnmappedElevation(BasicElevati onModel.java:999)
at gov.nasa.worldwind.terrain.CompoundEleva tionModel.getUnmappedElevation(CompoundE levationModel.java:310)
at gov.nasa.worldwind.terrain.AbstractEleva tionModel.getElevation(AbstractElevation Model.java:121)
at gov.nasa.worldwind.globes.EllipsoidalGlo be.getElevation(EllipsoidalGlobe.java:37 4)
at gov.nasa.worldwind.view.ViewUtil.compute ElevationAboveSurface(ViewUtil.java:555)
at gov.nasa.worldwind.view.BasicView.comput eNearDistance(BasicView.java:554)
at gov.nasa.worldwind.view.BasicView.comput eNearClipDistance(BasicView.java:541)
at gov.nasa.worldwind.view.orbit.BasicOrbit View.doApply(BasicOrbitView.java:576)
at gov.nasa.worldwind.view.BasicView.apply( BasicView.java:143)
at gov.nasa.worldwind.AbstractSceneControll er.applyView(AbstractSceneController.jav a:330)
at gov.nasa.worldwind.BasicSceneController. doRepaint(BasicSceneController.java:22)
at gov.nasa.worldwind.AbstractSceneControll er.repaint(AbstractSceneController.java: 210)
at gov.nasa.worldwind.WorldWindowGLAutoDraw able.doDisplay(WorldWindowGLAutoDrawable .java:304)
at gov.nasa.worldwind.WorldWindowGLAutoDraw able.display(WorldWindowGLAutoDrawable.j ava:231)
at com.sun.opengl.impl.GLDrawableHelper.dis play(GLDrawableHelper.java:78)
at javax.media.opengl.GLCanvas$DisplayActio n.run(GLCanvas.java:435)
at com.sun.opengl.impl.GLDrawableHelper.inv okeGL(GLDrawableHelper.java:194)
at javax.media.opengl.GLCanvas.maybeDoSingl eThreadedWorkaround(GLCanvas.java:412)
at javax.media.opengl.GLCanvas.display(GLCa nvas.java:244)
at javax.media.opengl.GLCanvas.paint(GLCanv as.java:277)
at javax.media.opengl.GLCanvas.update(GLCan vas.java:354)
at sun.awt.RepaintArea.updateComponent(Repa intArea.java:239)
at sun.awt.RepaintArea.paint(RepaintArea.ja va:216)
at sun.awt.windows.WComponentPeer.handleEve nt(WComponentPeer.java:306)
at java.awt.Component.dispatchEventImpl(Com ponent.java:4577)
at java.awt.Component.dispatchEvent(Compone nt.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQ ueue.java:599)
at java.awt.EventDispatchThread.pumpOneEven tForFilters(EventDispatchThread.java:269 )
at java.awt.EventDispatchThread.pumpEventsF orFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsF orHierarchy(EventDispatchThread.java:174 )
at java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDi spatchThread.java:122)

this is very anoying and suggest that there something wrong with the data sent over, my WMS config.xml is the following

<wms-config>

<server>
<!-- port number on which the server listens for WMS requests -->
<port>8002</port>

<online-resource>http://localhost:8002/wms?</online-resource>
<thread-pool-size>20</thread-pool-size>

<gdal-path>C:\WorldWindWms\Gdal\Bin</gdal-path>
<work-directory>C:\GdalTemp</work-directory>
</server>

<mapsource name="MyDTED" title="This is MyDTED">
<description keywords="MyDTED that contains all DTED0,DTED1,DTED2 levels">More specific info about DTED coverage and levels</description>
<root-dir>C:\Dted</root-dir>
<class>gov.nasa.worldwind.servers.wms.ge nerators.DTEDGenerator</class>
<property name="level_switch_algorithm" value="exact"/>
<property name="gov.nasa.worldwind.avkey.Elevation MinKey" value="-11000" />
<property name="gov.nasa.worldwind.avkey.Elevation MaxKey" value="8850" />
<property name="gov.nasa.worldwind.avkey.MissingDa taFlag" value="0" />
<property name="gov.nasa.worldwind.avkey.MissingDa taValue" value="-32767" />
<property name="gov.nasa.worldwind.avkey.MissingDa taSignal" value="0" />
<property name="gov.nasa.worldwind.avkey.MissingDa taReplacement" value="0" />
<property name="gov.nasa.worldwind.avkey.LastUpdat eKey" value="2009-04-14 9:55:00" />
<property name="max_tiles_per_request" value="125" />
</mapsource>

</wms-config>

Is it my config, my data or something wrong with worldwind client ?
torhar is offline   Reply With Quote
Old 09-12-2009, 01:38 AM   #10
garakl
WWJ Dev. Team
 
garakl's Avatar
 
Join Date: May 2006
Location: Seattle
Posts: 146
Default

Could you please post your elevation configuration XML file you are using on the WWJ client?

It looks to me that you are requesting your DTED as application/bil32 (32-bit floating point), when DTED0, DTED1, DTED2 are Int16 (application/bil16 or just application/bil).

However, I need to make sure the WMS server converts elevations to BIL32 if client requests so.
__________________
WorldWindJ - developer

Last edited by garakl; 09-14-2009 at 03:25 AM.
garakl is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Some questions about the new wms server vash Development Help 3 04-20-2010 03:07 PM
How to configure SQUID to cache WMS server responses garakl Server Discussion 0 05-05-2009 02:22 AM
How to serve images via simple http without using WMS server? shaheryar Image Serving & GIS 2 01-28-2009 06:47 AM
I can't see WMS data with Worldwind 2.1 and Local Geoserver WMS vash Development Help 15 07-10-2007 06:25 PM


All times are GMT +1. The time now is 04:38 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.