ThinkGeo.com    |     Documentation    |     Premium Support

HTTP error 503. Service unavailable

 Hi All,


I have a layer which works fine in EPSG 4326 but when i change to EPSG:900913 (google merc) i am somehow crashing IIS and getting HTTP error 503. Service unavailable. I can then no longer use any plugins, start/stop of IIS doesnt work, have to reboot server to get it to work.


Please help.


Phil



I think this has something to do with projections. By changing the extent of my WMS layer (in the plugin) i can prevent the error, though i still cant see my imagery. I have also tried adding this imagery to my WPF map with no luck. Maybe if i get the extent correct everything will work? 
  
 I have a shapefile of Tahiti (french Polynesia) in ESPG 900913 which i add to a map with a dateline wrap no problem. When i add a jp2000 image in the same projection, which lines up in Global Mapper i dont have any luck. (which makes me think my extent rectangle is incorrect) 
  
 I take the extent from a bounding box in Global Mapper. This is the one which gave me the crash in my plugin: 
  
 return new RectangleShape(-16657318.2682705, -1977400.70773863, -16599259.0555456, -2026028.99527003); 
  
 If i use the wrapping extent that i have in WPF : 
  
 return new RectangleShape(-20037508, 2725981, 20037508, -3623688); 
  
 I dont get an error but cant see any imagery. Everything (my imagery, WPF map are in EPSG 900913). I can send a downsampled version of the image if this helps. Maybe someone could tell me the extent i should be using for Tahiti and i can check if this is the problem. My PRJ file contains the following: 
  
 PROJCS["Mercator_1SP",GEOGCS["GCS_Geographic Coordinate System",DATUM["D_GOOGLE",SPHEROID["Sphere_Radius_6378137_m",6378137,0]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator"],PARAMETER["central_meridian",0],PARAMETER["standard_parallel_1",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]] 
  
 thanks 
  
 Phil

Here (yousendit.com/download/T2dkOU1kQ1JUME1YRHRVag) is a part of the image which i am trying to serve from mapsuite WMS server to WPF app with wrapdateline. Below is the code i am using for the plugin: 
  
 using System; 
 using System.Collections.ObjectModel; 
 using System.IO
 using ThinkGeo.MapSuite.Core; 
 using ThinkGeo.MapSuite.WmsServerEdition; 
  
 namespace PICTImageryPlugin 
 { 
     public class TahitiPlugin : WmsLayerPlugin 
     { 
         public TahitiPlugin() 
         { 
             //this.WmsQueryMode = ThinkGeo.MapSuite.WmsServerEdition.WmsQueryMode.Queryable; 
         } 
  
        // In this method you need to return the bounding box of the layer. 
         protected override RectangleShape GetBoundingBoxCore(string crs) 
         { 
             //crash - return new RectangleShape(-16657318.2682705, -1977400.70773863, -16599259.0555456, -2026028.99527003); 
            // return new RectangleShape(-20037508, 2725981, 20037508, -3623688); // wrap extent 
            return new RectangleShape(17897271, -1367305, 19514067, -2411741); 
  
         } 
  
         protected override MapConfiguration GetMapConfigurationCore(string style, string crs) 
         { 
             // Get the directory to the sample data 
             string worldLayerFilePath = @"C:\temp\Tahiti.jp2"; 
  
             BackgroundLayer backgroundLayer = new BackgroundLayer(new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean)); 
  
             Jpeg2000RasterLayer jp2 = new Jpeg2000RasterLayer(worldLayerFilePath); 
  
             // Create a MapConfiguration and add the layer to it 
             MapConfiguration mapConfiguration = new MapConfiguration(); 
             mapConfiguration.Layers.Add("BackgroundLayer", backgroundLayer); 
             mapConfiguration.Layers.Add("WorldLayer", jp2); 
  
             return mapConfiguration; 
         } 
  
         // In this method you need to return the name of the Layer that WMS will expose. 
         // You will use this name on the client to specify the layer you want to consume 
         protected override string GetNameCore() 
         { 
             return "Tahiti"; 
         } 
  
         protected override GeographyUnit GetGeographyUnitCore(string crs) 
         { 
             GeographyUnit geographyUnit = GeographyUnit.DecimalDegree; 
             switch (crs) 
             { 
                 case "EPSG:4326": 
                     break; 
                 case "EPSG:900913": 
                     geographyUnit = GeographyUnit.Meter; 
                     break; 
             } 
  
             return geographyUnit; 
         } 
  
         // In this method you need to return the projections that are supported by your data. 
         // It is your responsability to project the data in the MapConfiguration for each projection 
         // type you specify here. 
         protected override Collection<string> GetProjectionsCore() 
         { 
             //return new Collection<string> { "EPSG:4326" }; 
             return new Collection<string> { "EPSG:900913" }; 
         } 
     } 
 } 
  
  
 Phil

Hello Phil, 
  
 Thanks for your post, I’m working on this. 
  
 Here is the right extent of Tahiti, you can have a try: {-16684623.5760705,-1966980.2400704,-16576312.3069893,-2036702.88425679} 
  
 Regards, 
  
 Gary

Thanks Gary. Using that extent on my WMS plugin causes the WMS server to crash…so could this be some kind of bug? 
  
 Phil

Hello Phil, 
  
 This extent is working on EPSG:900913, please make sure you are in right projection. 
  
 Also I will try to recreate your problem and find the root cause, I will let you know the result as soon as possible. 
  
 Regards, 
  
 Gary

Hi Gary, 
  
 Did my plugin code above work? 
  
 Phil

 Hello Phil,


 
Thanks for you code, and sorry for delay.
 
I have tested your code, made some small changes, and I can't recreate your problem, please see the attached code and have a try, I added comment where I made changes.
 
Please let me know if you still meet problems and please provide your solution or a self-contained sample to me.
 
Thanks for your patience.
 
Regards,
 
Gary

TahitiWms.zip (2.94 KB)