How to configure SRTM elevations in WorldWind WMS

In this thread I will try to explain how to serve SRTM elevations using NASA WorldWind WMS. 

! Important note !
Current WW WMS implementation does not use pyramid of tiles (however work is in progress), we use SRTM source tiles to fulfill requests.

NASA WorldWind WMS is able to serve both imagery and elevations from one instance of the WMS. Supported elevations are: SRTM30 (30arc-sec, ~900meters), and SRTM3 (3arc-sec, ~90m), USGS NED (~30meters) and DTED (see this thread http://forum.worldwindcentral.com/sh...ad.php?t=21408 for DTED)

It is possible to configure each elevation layer individually, however I would recommend to create a wrapper elevation layer which will select a correct elevation layer and if a chosen layer (for example SRTM3 or NED) has voids, will fill voids with data from lower resolution layer (like SRTM30).

This is the example of WEB-INF/config.xml that defines a "merged" elevation layer "EarthElevation" (gov.nasa.worldwind.servers.wms.generato rs.CompoundElevationsGenerator)
and SRTM30, SRTM3, and NED layers. If you do not a 

复制代码
<mapsource name="EarthElevation" title="EarthElevation">
    <description keywords="EarthElevation">EarthElevation</description>
    <root-dir>/wwdata/elevations</root-dir>
    <class>gov.nasa.worldwind.servers.wms.generators.CompoundElevationsGenerator</class>
    <property name="gov.nasa.worldwind.avkey.MissingDataFlag" value="-9999" />
    <property name="gov.nasa.worldwind.avkey.ElevationMinKey" value="-11000" />
    <property name="gov.nasa.worldwind.avkey.ElevationMaxKey" value="8850" />

    <mapsource name="srtm30" title="SRTM30 Plus">
        <description keywords="SRTM30 Elevation">SRTM30 Elevation Data</description>
        <root-dir>/wwdata/elevations/srtm30</root-dir>
        <class>gov.nasa.worldwind.servers.wms.generators.ElevationSrtm30</class>
        <property name="gov.nasa.worldwind.avkey.MissingDataFlag" value="-9999" />
        <scale-hint min="0.012" max="0.008333330" />
    </mapsource>

    <mapsource name="srtm3" title="SRTM3 V4.1">
        <description keywords="SRTM3 V4.1 (Finished and filled)">SRTM3 V4.1 (Finished and Filled)</description>
        <root-dir>/wwdata/elevations/SRTM3_V4.1</root-dir>
        <class>gov.nasa.worldwind.servers.wms.generators.ElevationSrtm3V4</class>
        <property name="debug" value="ON" />
        <property name="filenaming_format" value="%s%ssrtm_%02d_%02d.tif" />
        <property name="gov.nasa.worldwind.avkey.MissingDataFlag" value="-9999" />
        <property name="gov.nasa.worldwind.avkey.LastUpdateKey" value="2009-04-23 10:55:00" />
        <scale-hint min="0.009" max="0.00083333" />
    </mapsource>

    <mapsource name="NED" title="NED">
        <description keywords="USGS NED Elevation">USGS NED</description>
        <root-dir>/wwdata/elevations/ned</root-dir>
        <class>gov.nasa.worldwind.servers.wms.generators.ElevationUSGSNED</class>
        <property name="gov.nasa.worldwind.avkey.MissingDataFlag" value="-9999" />
        <scale-hint min="0.004" max="0.00027777" />
    </mapsource>
    
</mapsource>
复制代码

To get a Capabilities document from WMS that includes only imagery layers use this url: http://<yourWmsAddress>:<port>/wms?request=GetCapabilities

To get a Capabilities document from WMS that includes only elevation layers use this url: http://<yourWmsAddress>:<port>/elev?request=GetCapabilities

Where to get SRTM30?
http://worldwind28.arc.nasa.gov/public/WorldWindWMS/ (You will need to download one .7z file OR all four split 7z.00* archives, merge and extract; Windows version of 7z will do it, non windows users of 7z, use "cat" for merging) 

Where to get SRTM3?
There are many versions of SRTM3.
I got them from here ftp://srtm.csi.cgiar.org/SRTM_v41/SRTM_Data_GeoTIFF/ (可用,亲测)
(there where some tiles broken but owners claim they have fixed them already).

 

原文链接:How to configure SRTM elevations in WorldWind WMS

 

posted @   rainbow70626  阅读(512)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示