ThinkGeo.com    |     Documentation    |     Premium Support

Problem connecting to WMS

Hi Guys,


I am having problems connecting to the following WMS server in WPF:


paris.sopac.org/geoserver/wms?amp;=


If i put this into QGIS i can get a list of layers no problem and then open one.


I have tried a whole bunch of combinations such as:


wmsOverlay.ServerUris.Add(new Uri("paris.sopac.org/geoserver/wms?"));


wmsOverlay.Parameters.Add("LAYERS", "geonode:FJ_Tikina_Loss_EQ_BLDINF");


with no luck. Could someone quickly check this for me please.


thanks


 


Phil



Phil, 
  
 I think your wms server is not standard, when I use following code to test, I got an error said sm:LatLonBoundingBox is invalid. the minx is 0 and miny is -1. If you can fix it to make layer.open works, you can put the request url on IE to see what returns. 
  
             WmsRasterLayer wmsImageLayer = new WmsRasterLayer(new Uri("paris.sopac.org/geoserver/wms?")); 
             wmsImageLayer.Open(); // exception throw this line. 
  
  string url = wmsImageLayer.GetRequestUrl(new RectangleShape(-143.4, 109.3, 116.7, -76.3), 800, 600); 
  
 Thanks, 
 James

Hi James, 
  
 I now have an updated version of the SOPAC server which is 1.3 capable and I am still have trouble getting it working in WPF. Could you point me in the right direction please. Here is the link: 
  
 paris.sopac.org/geoserver/ows?service=wms&version=1.3.0&request=GetCapabilities 
  
 thanks 
  
 Phil

Hi Phil,


You can use the following code to display it.



            WmsOverlay wmsOverlay = new WmsOverlay();
            wmsOverlay.ServerUris.Add(new Uri("paris.sopac.org/geoserver/ows"));
            wmsOverlay.Parameters.Add("LAYERS", "geonode:FJ_Tikina_Loss_EQ_BLDINF");
            wmsOverlay.Parameters.Add("STYLES", "FJ_Tikina_Loss_EQ_BLDINF");
            wmsOverlay.Parameters.Add("VERSION", "1.3.0");
            wmsOverlay.Parameters.Add("FORMAT", "image/png");
            wpfMap1.Overlays.Add(wmsOverlay);
            wpfMap1.CurrentExtent = new RectangleShape(176.636572265625, -15.5196533203125, 180.783911132812, -18.8155517578125);
            wpfMap1.Refresh();

the features cross the dateline, so if I use the boundingbox by the xml, it very hard to find them. The code is just for one part.



Hope it helps,


Edgar


 



Hello Edgar, 
  
 This works!! How can I use getcapabilities to get layer names? I notice in WMSRasterLayer there is a GetServerLayerNames() method, but not WMSOverlay. 
  
 thanks 
  
 Phil

The Overlay doesn’t have that method, it’s like the advanced stuff that users already know much about the wms rules, to get the layer name, you can use the TiledWmsLayer.GetServerLayerNames() , and use TiledWmsLayer.GetServerStyleNames() to get the styles. 
  
 Regards, 
  
 Edgar