wms.ashx
上传用户:sex100000
上传日期:2013-11-09
资源大小:1377k
文件大小:2k
源码类别:

GIS编程

开发平台:

C#

  1. <%@ WebHandler Language="C#" Class="wms" %>
  2. using System;
  3. using System.Web;
  4. public class wms : IHttpHandler {
  5.     
  6.     public void ProcessRequest (HttpContext context) {
  7. //Get the path of this page
  8. string url = (context.Request.Url.Query.Length > 0 ? 
  9. context.Request.Url.AbsoluteUri.Replace(context.Request.Url.Query, "") : context.Request.Url.AbsoluteUri);
  10. SharpMap.Web.Wms.Capabilities.WmsServiceDescription description =
  11. new SharpMap.Web.Wms.Capabilities.WmsServiceDescription("Acme Corp. Map Server", url);
  12. // The following service descriptions below are not strictly required by the WMS specification.
  13. // Narrative description and keywords providing additional information 
  14. description.Abstract = "Map Server maintained by Acme Corporation. Contact: webmaster@wmt.acme.com. High-quality maps showing roadrunner nests and possible ambush locations.";
  15. description.Keywords = new string[3];
  16. description.Keywords[0] = "bird";
  17. description.Keywords[1] = "roadrunner";
  18. description.Keywords[2] = "ambush";
  19. //Contact information 
  20. description.ContactInformation.PersonPrimary.Person = "John Doe";
  21. description.ContactInformation.PersonPrimary.Organisation = "Acme Inc";
  22. description.ContactInformation.Address.AddressType = "postal";
  23. description.ContactInformation.Address.Country = "Neverland";
  24. description.ContactInformation.VoiceTelephone = "1-800-WE DO MAPS";
  25. //Impose WMS constraints
  26. description.MaxWidth = 1000; //Set image request size width
  27. description.MaxHeight = 500; //Set image request size height
  28. //Call method that sets up the map
  29. //We just add a dummy-size, since the wms requests will set the image-size
  30. SharpMap.Map myMap = MapHelper.InitializeMap(new System.Drawing.Size(1, 1));
  31. //Parse the request and create a response
  32. SharpMap.Web.Wms.WmsServer.ParseQueryString(myMap, description);
  33.     }
  34.  
  35.     public bool IsReusable {
  36.         get {
  37.             return false;
  38.         }
  39.     }
  40. }