world wind wms服务器缓存路径:
C:\ProgramData\Application Data\WorldWindData
read avList:
{gov.nasa.worldwind.avkey.FileStoreLocation=C:\Users\cjl\Application Data\WorldWindData, gov.nasa.worldwind.avkey.Installed=false}
write avList:
gov.nasa.worldwind.avkey.FileStoreLocation=C:\ProgramData\Application Data\WorldWindData
(1)wms数据查找线程:
gov.nasa.worldwind.servers.wms。WMSDataDiscoveryThread
(2)瓦片图层数据源:
public class WorldWindTiledLayerMapSource extends DataConfigurationMapSource
DataConfigurationMapSource:
this.name = this.params.getStringValue(AVKey.DATASET_NAME);
this.title = this.params.getStringValue(AVKey.DISPLAY_NAME);
this.keywords = this.params.getStringValue( AVKey.LAYER_NAMES );
String storePath = this.params.getStringValue( AVKey.DATA_CACHE_NAME );
this.lastUpdate = this.parseLastUpdate( this.params.getStringValue( AVKey.LAST_UPDATE ) );
this.lastUpdate = this.params.getValue( AVKey.EXPIRY_TIME ).toString();
(3)获取数据源:
 BasicMapSourceFactory
 MapSource ms;
        if (AVKey.SERVICE_NAME_LOCAL_RASTER_SERVER.equals(serviceName))
        {
            ms = new WorldWindTiledLayerMapSource(this.app.getDataFileStore(),
                    domElement, params, RasterServerBackedTiledLayer.class);
        }
        else
        {
            ms = new WorldWindTiledLayerMapSource(this.app.getDataFileStore(),
                    domElement, params, WorldWindTiledLayer.class);
        }
(4)数据源注册:
BasicMapRegistry:
 protected void doLayerAdded(WMSLayerEvent e)
    {
        Object source = e.getConfigurationSource();
        if (WWUtil.isEmpty(source))
        {
            String message = Logging.getMessage("nullValue.SourceIsNull");
            Logging.logger().severe(message);
            throw new WWRuntimeException(message);
        }
        if (this.dataConfigMapSources.containsKey(source))
        {
            String message = Logging.getMessage("generic.DuplicateLayerFound", source);
            Logging.logger().severe(message);
            throw new WWRuntimeException(message);
        }
        MapSource mapSource = this.createDataConfigurationMapSource(e);
        if (null == mapSource)
        {
            String message = Logging.getMessage("generic.UnrecognizedSourceType", source);
            Logging.logger().severe(message);
            throw new WWRuntimeException(message);
        }
        this.add(mapSource);
        this.dataConfigMapSources.put(e.getConfigurationSource(), mapSource);
        Logging.logger().info(Logging.getMessage("generic.LayerAdded", source));
    }