Пример #1
0
		private void load_version_1_3_0(string capabilitiesFilePath)
		{
			capabilities_1_3_0.capabilities_1_3_0Doc doc = new capabilities_1_3_0.capabilities_1_3_0Doc();
			capabilities_1_3_0.wms.WMS_CapabilitiesType root = new capabilities_1_3_0.wms.WMS_CapabilitiesType(doc.Load(capabilitiesFilePath));

			if(!root.HasCapability())
				return;

			if(!root.Capability.HasLayer())
				return;

			string[] imageFormats = null;
			if(root.Capability.HasRequest() && 
				root.Capability.Request.HasGetMap())
			{
				if(root.Capability.Request.GetMap.HasDCPType())
				{
					this._serverGetMapUrl = root.Capability.Request.GetMap.DCPType.HTTP.Get.OnlineResource.href.Value;
				}
				else
					this._serverGetMapUrl = this._serverGetCapabilitiesUrl;

				if(root.Capability.Request.GetMap.HasFormat())
				{
					imageFormats = new string[root.Capability.Request.GetMap.FormatCount];
					for(int i = 0; i < root.Capability.Request.GetMap.FormatCount; i++)
					{
						imageFormats[i] = root.Capability.Request.GetMap.GetFormatAt(i).Value;
					}
				}
			}

			this.Layers = new MyWMSLayer[root.Capability.LayerCount];

			for(int i = 0; i < root.Capability.LayerCount; i++)
			{
				capabilities_1_3_0.wms.LayerType curLayer = (capabilities_1_3_0.wms.LayerType)root.Capability.GetLayerAt(i);
				this.Layers[i] = this.getWMSLayer(curLayer, null, imageFormats);
			}
		}
Пример #2
0
		private void RefreshCapabilities( Stream capabilitiesStream ) 
		{
			System.Xml.XmlReader capReader = null;
			try 
			{
				capReader = new System.Xml.XmlTextReader(capabilitiesStream);

				capabilities_1_3_0.capabilities_1_3_0Doc doc = new capabilities_1_3_0.capabilities_1_3_0Doc();
				capabilities_1_3_0.wms.WMS_CapabilitiesType root = new capabilities_1_3_0.wms.WMS_CapabilitiesType(
					doc.Load( capReader ));

				if(root.HasCapability()) 
				{
					capabilities_1_3_0.wms.LayerType rootLayer = root.Capability.GetLayer();
					for(int i = 0; i < rootLayer.LayerCount; i++) 
					{
						capabilities_1_3_0.wms.LayerType curLayer = (capabilities_1_3_0.wms.LayerType)rootLayer.GetLayerAt(i);
						TreeNode tn = this.getTreeNodeFromLayerType(curLayer);
						this.treeViewLayers.BeginInvoke(new UpdateTreeDelegate(UpdateTree), new object[] {tn});
					}
					updateStatusBar("Download successful.");
				}
				else 
				{
					updateStatusBar("Invalid table of contents. Please try again later.");
				}
			} 
			catch(Exception caught)
			{
				// Ignore all problems
				updateStatusBar(caught.Message);
			}
			finally
			{
				// The dude at MS writing the XmlReader class was so high on XML he forgot IDisposable? :-P
				if(capReader != null)
					capReader.Close();
			}
		}
Пример #3
0
        private void load_version_1_3_0(string capabilitiesFilePath)
        {
            capabilities_1_3_0.capabilities_1_3_0Doc doc = new capabilities_1_3_0.capabilities_1_3_0Doc();
             XmlReaderSettings oSettings = new System.Xml.XmlReaderSettings();
             oSettings.IgnoreWhitespace = true;
             oSettings.ProhibitDtd = false;
             oSettings.XmlResolver = null;
             oSettings.ValidationType = ValidationType.None;
             using (XmlReader oResponseXmlStream = XmlReader.Create(capabilitiesFilePath, oSettings))
             {
            capabilities_1_3_0.wms.WMS_CapabilitiesType root = new capabilities_1_3_0.wms.WMS_CapabilitiesType(doc.Load(oResponseXmlStream));

                if (root.versionCount > 0)
                {
                    this._version = root.version.Value;
                }
                else
                {
                    this._version = "1.3.0";
                }
            this._name = root.Service.Title.Value;

            if (!root.HasCapability())
               return;

            if (!root.Capability.HasLayer())
               return;

            string[] imageFormats = null;
            if (root.Capability.HasRequest() &&
               root.Capability.Request.HasGetMap())
            {
               if (root.Capability.Request.GetMap.HasDCPType())
               {
                  this._serverGetMapUrl = root.Capability.Request.GetMap.DCPType.HTTP.Get.OnlineResource.href.Value;
               }
               else
                  this._serverGetMapUrl = this._serverGetCapabilitiesUrl;

               if (root.Capability.Request.GetMap.HasFormat())
               {
                  imageFormats = new string[root.Capability.Request.GetMap.FormatCount];
                  for (int i = 0; i < root.Capability.Request.GetMap.FormatCount; i++)
                  {
                     imageFormats[i] = root.Capability.Request.GetMap.GetFormatAt(i).Value;
                  }
               }
            }

            this.Layers = new WMSLayer[root.Capability.LayerCount];

            for (int i = 0; i < root.Capability.LayerCount; i++)
            {
               capabilities_1_3_0.wms.LayerType curLayer = (capabilities_1_3_0.wms.LayerType)root.Capability.GetLayerAt(i);
               this.Layers[i] = this.getWMSLayer(curLayer, null, imageFormats);
            }
             }
        }