Over the past few months I have been working more and more with WMS Web Services. WMS stands for Web Map Service and is an open standard set by the Open Geospatial Consortium this standard was designed so heterogeneous map data sources can be shared remotely via an Internet connection.
In my exploration of WMS over the past few months I have found several free WMS web services that can provide valuable mapping data to your application. My top 3 favorite WMS Web Services include:
1. National NEXRAD Radar Imagery
WMS URL: http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi
Layer Name: nexrad-n0r-m45m
Description: Provides updates of the National NEXRAD Base Reflectivity Radar sites very 45 minutes.
2. USGS Topo Maps from TerraServer
WMS URL: http://terraserver-usa.com/ogccapabilities.ashx
Layer Name: DOQ
Description: These are handy Topo maps from the USGS.
3. Landsat Imagery from NASA
WMS URL: http://onearth.jpl.nasa.gov/wms.cgi
Layer Name: global_mosaic
Description: Provides an easy way to add NASA Landsat imagery to your application.
In case you want to consume these web services inside of an application using our Map Suite .NET controls I have provided some sample code below:
If Not Page.IsPostBack Then Map1.MapUnit = MapLengthUnits.DecimalDegrees
Dim StateLayer As New MapSuite.Layer(Server.MapPath("") + "\SampleData\STATES.shp", True) StateLayer.ZoomLevel01.GeoStyle = GeoAreaStyles.GetSimpleAreaStyle(MapSuite.GeoColor.KnownColors.Transparent, MapSuite.GeoColor.KnownColors.Black) StateLayer.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.ZoomLevel18
Map1.Layers.Add(StateLayer)
Dim wmsUrl As String = "http://onearth.jpl.nasa.gov/wms.cgi" Dim myLayer1 As New WmsLayer("Global", wmsUrl) myLayer1.AddLayer("global_mosaic") myLayer1.AddStyle("visual") myLayer1.Active = True myLayer1.SetImageFormat("image/png") myLayer1.SRCSystem = "EPSG:4326" myLayer1.TimeOutInSeconds = 15
Map1.WmsLayers.Add(myLayer1)
Map1.CurrentExtent = New RectangleR(-177.42, 99.53, 71.78, -77.56) End If
Technorati Tags: WMS, ThinkGeo, Map Suite
ThinkGeo • 1617 St. Andrews Drive, Lawrence, KS, 66047 Toll-Free: 1-866-847-7510 • Internat'l: 1-785-727-4133 • sales@thinkgeo.com
Copyright 2008 ThinkGeo LLC