Index: frmts/wms/minidriver_wms.cpp
===================================================================
--- frmts/wms/minidriver_wms.cpp	(revision 11958)
+++ frmts/wms/minidriver_wms.cpp	(working copy)
@@ -60,6 +60,7 @@
     // http://onearth.jpl.nasa.gov/wms.cgi?request=GetMap&width=1000&height=500&layers=modis,global_mosaic&styles=&srs=EPSG:4326&format=image/jpeg&bbox=-180.000000,-90.000000,180.000000,090.000000    
     *url = m_base_url;
     URLAppend(url, "&request=GetMap");
+    URLAppend(url, "&service=WMS");
     URLAppendF(url, "&version=%s", m_version.c_str());
     URLAppendF(url, "&layers=%s", m_layers.c_str());
     URLAppendF(url, "&styles=%s", m_styles.c_str());
Index: frmts/wms/minidriver_worldwind.cpp
===================================================================
--- frmts/wms/minidriver_worldwind.cpp	(revision 0)
+++ frmts/wms/minidriver_worldwind.cpp	(revision 0)
@@ -0,0 +1,66 @@
+/******************************************************************************
+ *
+ * Project:  WMS Client Driver
+ * Purpose:  Implementation of Dataset and RasterBand classes for WMS
+ *           and other similar services.
+ * Author:   Adam Nowacki, nowak@xpam.de
+ *
+ ******************************************************************************
+ * Copyright (c) 2007, Adam Nowacki
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ ****************************************************************************/
+
+#include "stdinc.h"
+
+CPP_GDALWMSMiniDriverFactory(WorldWind)
+
+GDALWMSMiniDriver_WorldWind::GDALWMSMiniDriver_WorldWind() {
+}
+
+GDALWMSMiniDriver_WorldWind::~GDALWMSMiniDriver_WorldWind() {
+}
+
+CPLErr GDALWMSMiniDriver_WorldWind::Initialize(CPLXMLNode *config) {
+    m_version = CPLGetXMLValue(config, "Version", "1");
+    m_base_url = CPLGetXMLValue(config, "ServerUrl", "");
+    m_layer = CPLGetXMLValue(config, "Layer", "");
+
+    return CE_None;
+}
+
+void GDALWMSMiniDriver_WorldWind::GetCapabilities(GDALWMSMiniDriverCapabilities *caps) {
+    caps->m_has_arb_overviews = 0;
+    caps->m_has_image_request = 0;
+    caps->m_has_tiled_image_requeset = 1;
+    caps->m_max_overview_count = 32;
+}
+
+void GDALWMSMiniDriver_WorldWind::ImageRequest(CPLString *url, const GDALWMSImageRequestInfo &iri) {
+}
+
+void GDALWMSMiniDriver_WorldWind::TiledImageRequest(CPLString *url, const GDALWMSImageRequestInfo &iri, const GDALWMSTiledImageRequestInfo &tiri) {
+    // http://s0.tileservice.worldwindcentral.com/getTile?interface=map&version=1&layer=bmng.topo.bathy.200401&level=5&x=18&y=6
+    *url = m_base_url;
+    URLAppendF(url, "&version=%s", m_version.c_str());
+    URLAppendF(url, "&T=%s", m_layer.c_str());
+    URLAppendF(url, "&L=%d", tiri.m_level);
+    URLAppendF(url, "&X=%d", tiri.m_x);
+    URLAppendF(url, "&Y=%d", tiri.m_y);
+}
Index: frmts/wms/minidriver_worldwind.h
===================================================================
--- frmts/wms/minidriver_worldwind.h	(revision 0)
+++ frmts/wms/minidriver_worldwind.h	(revision 0)
@@ -0,0 +1,47 @@
+/******************************************************************************
+ *
+ * Project:  WMS Client Driver
+ * Purpose:  Implementation of Dataset and RasterBand classes for WMS
+ *           and other similar services.
+ * Author:   Adam Nowacki, nowak@xpam.de
+ *
+ ******************************************************************************
+ * Copyright (c) 2007, Adam Nowacki
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ ****************************************************************************/
+
+H_GDALWMSMiniDriverFactory(WorldWind)
+
+class GDALWMSMiniDriver_WorldWind : public GDALWMSMiniDriver {
+public:
+    GDALWMSMiniDriver_WorldWind();
+    virtual ~GDALWMSMiniDriver_WorldWind();
+
+public:
+    virtual CPLErr Initialize(CPLXMLNode *config);
+    virtual void GetCapabilities(GDALWMSMiniDriverCapabilities *caps);
+    virtual void ImageRequest(CPLString *url, const GDALWMSImageRequestInfo &iri);
+    virtual void TiledImageRequest(CPLString *url, const GDALWMSImageRequestInfo &iri, const GDALWMSTiledImageRequestInfo &tiri);
+
+protected:
+    CPLString m_base_url;
+    CPLString m_version;
+    CPLString m_layer;
+};
Index: frmts/wms/GNUmakefile
===================================================================
--- frmts/wms/GNUmakefile	(revision 11958)
+++ frmts/wms/GNUmakefile	(working copy)
@@ -2,7 +2,7 @@
 include ../../GDALmake.opt
 
 OBJ	=	cache.o dataset.o datawindow.o gdalhttp.o md5.o minidriver.o rasterband.o stuff.o wmsdriver.o \
-		minidriver_wms.o minidriver_tileservice.o
+		minidriver_wms.o minidriver_tileservice.o minidriver_worldwind.o
 
 
 CPPFLAGS	:=	$(GDAL_INCLUDE) $(CPPFLAGS) $(CURL_INC)
Index: frmts/wms/wmsdriver.cpp
===================================================================
--- frmts/wms/wmsdriver.cpp	(revision 11958)
+++ frmts/wms/wmsdriver.cpp	(working copy)
@@ -66,5 +66,6 @@
         GDALWMSMiniDriverManager *const mdm = GetGDALWMSMiniDriverManager();
         mdm->Register(new GDALWMSMiniDriverFactory_WMS());
         mdm->Register(new GDALWMSMiniDriverFactory_TileService());
+        mdm->Register(new GDALWMSMiniDriverFactory_WorldWind());
     }
 }
Index: frmts/wms/stdinc.h
===================================================================
--- frmts/wms/stdinc.h	(revision 11958)
+++ frmts/wms/stdinc.h	(working copy)
@@ -22,3 +22,4 @@
 #include "wmsdriver.h"
 #include "minidriver_wms.h"
 #include "minidriver_tileservice.h"
+#include "minidriver_worldwind.h"
