# Specify CRS with WmsRasterLayer

**URL:** <https://community.thinkgeo.com/t/specify-crs-with-wmsrasterlayer/7183>\
**Category:** Services\
**Created:** [January 27, 2014, 3:32pm UTC](https://community.thinkgeo.com/t/specify-crs-with-wmsrasterlayer/7183 "2014-01-27T15:32:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeremy3](https://community.thinkgeo.com/user_avatar/community.thinkgeo.com/jeremy3/32/24976_2.png) [@jeremy3](https://community.thinkgeo.com/u/jeremy3)\
**Post date:** [January 27, 2014, 3:32pm UTC](https://community.thinkgeo.com/t/specify-crs-with-wmsrasterlayer/7183/1 "2014-01-27T15:32:53Z")

</div>

MapEngine&nbsp;engine&nbsp;=&nbsp;new&nbsp;MapEngine();  
engine.CurrentExtent&nbsp;=&nbsp;ExtentHelper.GetDrawingExtent(CommonExtents.Europe,&nbsp;width,&nbsp;height);  
WmsRasterLayer&nbsp;wmsRasterLayer&nbsp;=&nbsp;new&nbsp;WmsRasterLayer(new&nbsp;Uri(“localhost:8080/service?”));  
wmsRasterLayer.UpperThreshold&nbsp;=&nbsp;double.MaxValue;  
wmsRasterLayer.LowerThreshold&nbsp;=&nbsp;0;  
wmsRasterLayer.Open();  
foreach&nbsp;(string&nbsp;layer\_name&nbsp;in&nbsp;wmsRasterLayer.GetServerLayerNames())  
{  
&nbsp;&nbsp;&nbsp;wmsRasterLayer.ActiveLayerNames.Add(layer\_name);  
}  
//&nbsp;GetRequestUrl&nbsp;for&nbsp;debug  
string&nbsp;requestUrl&nbsp;=&nbsp;wmsRasterLayer.GetRequestUrl(engine.CurrentExtent,&nbsp;width,&nbsp;height);  
System.Diagnostics.Debug.WriteLine(requestUrl);  
wmsRasterLayer.Close();  
  
  
  
engine.StaticLayers.Add(“wmsImageLayer”,&nbsp;wmsRasterLayer);  
Bitmap&nbsp;bitmap&nbsp;=&nbsp;new&nbsp;Bitmap(width,&nbsp;height);  
engine.OpenAllLayers();  
engine.DrawStaticLayers(bitmap,&nbsp;GeographyUnit.Meter);  
engine.CloseAllLayers();  
  
  
  
What&nbsp;I’m&nbsp;after&nbsp;is&nbsp;the&nbsp;moral&nbsp;equivalent&nbsp;of&nbsp;this&nbsp;OpenLayers&nbsp;code.  
  
  
  
&nbsp;map&nbsp;=&nbsp;new&nbsp;OpenLayers.Map(‘map’,&nbsp;{  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxResolution:&nbsp;156543.033928,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxExtent:&nbsp;new&nbsp;OpenLayers.Bounds(-20037508.3428,&nbsp;-20037508.3428,&nbsp;20037508.3428,  
20037508.3428),  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;projection:&nbsp;new&nbsp;OpenLayers.Projection(“EPSG:3857”)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;layer&nbsp;=&nbsp;new&nbsp;OpenLayers.Layer.WMS(&nbsp;“WMS&nbsp;gm\_layer”,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;“…/service?”,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{layers:&nbsp;“gm\_layer”,&nbsp;format:&nbsp;“image/png”,&nbsp;srs:“EPSG:3857”,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exceptions:&nbsp;“application/vnd.ogc.se\_inimage”,&nbsp;transparent:&nbsp;true},  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{singleTile:&nbsp;true,&nbsp;ratio:&nbsp;1,&nbsp;isBaseLayer:&nbsp;true}&nbsp;);  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.addLayer(layer);

---

<div class="post-metadata">

**Author:** ![Troy](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/t/85f322/32.png) [@Troy](https://community.thinkgeo.com/u/Troy)\
**Post date:** [January 27, 2014, 11:19pm UTC](https://community.thinkgeo.com/t/specify-crs-with-wmsrasterlayer/7183/2 "2014-01-27T23:19:22Z")

</div>

Hi&nbsp;Jeremy,&nbsp;  
  
  
  
In&nbsp;WmsRasterLayer,&nbsp;there&nbsp;is&nbsp;a&nbsp;property&nbsp;"Crs"&nbsp;to&nbsp;define&nbsp;the&nbsp;target&nbsp;epsg&nbsp;in&nbsp;the&nbsp;server.&nbsp;Some&nbsp;partial&nbsp;codes&nbsp;like&nbsp;this:&nbsp;  
  
`WmsRasterLayer wmsImageLayer = new WmsRasterLayer(new Uri("localhost:8080/service?"));wmsImageLayer.SendingWebRequest += new EventHandler<sendingwebrequesteventargs>(wmsImageLayer_SendingWebRequest);wmsImageLayer.UpperThreshold = double.MaxValue;wmsImageLayer.LowerThreshold = 0;wmsImageLayer.Crs = "EPSG:3857";`&nbsp;  
  
The&nbsp;SendingWebRequest&nbsp;event&nbsp;is&nbsp;register&nbsp;to&nbsp;help&nbsp;us&nbsp;to&nbsp;see&nbsp;the&nbsp;request&nbsp;information.&nbsp;  
  
  
  
Hope&nbsp;it&nbsp;helps&nbsp;and&nbsp;if&nbsp;there&nbsp;is&nbsp;anything&nbsp;i&nbsp;misunderstand,&nbsp;please&nbsp;feel&nbsp;free&nbsp;to&nbsp;correct&nbsp;me.&nbsp;  
  
Thanks,&nbsp;  
  
Troy\</sendingwebrequesteventargs\>

---

<div class="post-metadata">

**Author:** ![Troy](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/t/85f322/32.png) [@Troy](https://community.thinkgeo.com/u/Troy)\
**Post date:** [January 27, 2014, 11:22pm UTC](https://community.thinkgeo.com/t/specify-crs-with-wmsrasterlayer/7183/3 "2014-01-27T23:22:49Z")

</div>

Hi&nbsp;Jeremy,&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;In&nbsp;WmsRasterLayer,&nbsp;there&nbsp;is&nbsp;a&nbsp;property&nbsp;"Crs"&nbsp;to&nbsp;define&nbsp;the&nbsp;target&nbsp;epsg&nbsp;in&nbsp;the&nbsp;server.&nbsp;Some&nbsp;partial&nbsp;codes&nbsp;like&nbsp;this:&nbsp;&nbsp;  
&nbsp;`             WmsRasterLayer wmsImageLayer = new WmsRasterLayer(new Uri("localhost:8080/service?"));            wmsImageLayer.SendingWebRequest += new EventHandler<SendingWebRequestEventArgs>(wmsImageLayer_SendingWebRequest);            wmsImageLayer.UpperThreshold = double.MaxValue;            wmsImageLayer.LowerThreshold = 0;            wmsImageLayer.Crs = "EPSG:3857";`&nbsp;  
&nbsp;&nbsp;  
&nbsp;The&nbsp;SendingWebRequest&nbsp;event&nbsp;is&nbsp;register&nbsp;to&nbsp;help&nbsp;us&nbsp;to&nbsp;see&nbsp;the&nbsp;request&nbsp;information.&nbsp;&nbsp;  
&nbsp;Besides,&nbsp;please&nbsp;make&nbsp;sure&nbsp;the&nbsp;base&nbsp;projection&nbsp;is&nbsp;also&nbsp;under&nbsp;the&nbsp;mercator.&nbsp;&nbsp;&nbsp;  
&nbsp;&nbsp;  
&nbsp;Hope&nbsp;it&nbsp;helps&nbsp;and&nbsp;if&nbsp;there&nbsp;is&nbsp;anything&nbsp;i&nbsp;misunderstand,&nbsp;please&nbsp;feel&nbsp;free&nbsp;to&nbsp;correct&nbsp;me.&nbsp;&nbsp;  
&nbsp;Thanks,&nbsp;  
&nbsp;Troy
