예제 #1
0
파일: Uris.cs 프로젝트: paladin74/Dapple
        internal override LayerBuilder getBuilder(DappleModel oModel)
        {
            WMSServerModelNode oServer = oModel.AddWMSServer(m_oServer as WMSServerUri, true, false, false) as WMSServerModelNode;

            if (oServer.Enabled == false)
            {
                if (DialogResult.Yes == MessageBox.Show(String.Format(CultureInfo.InvariantCulture, "The WMS server {1} is in your server list, but is disabled.{2}'{0}' cannot be displayed unless the server is re-enabled.{2}{2}Do you wish to enable {1}?", getAttribute("layer"), m_oServer.ServerTreeDisplayName, Environment.NewLine),
                                                        "Server is Disabled", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
                {
                    oModel.ToggleServer(oServer, true);
                }
                else
                {
                    return(null);
                }
            }

            oServer.WaitForLoad();
            if (oServer.LoadState == LoadState.LoadFailed)
            {
                Program.ShowMessageBox(String.Format(CultureInfo.InvariantCulture, "'{0}' could not be added. Connection with the server at URL '{1}' failed. Refreshing the server from the Servers tab may resolve this problem.", getAttribute("layer"), m_oServer.ServerTreeDisplayName),
                                       "Dataset Could Not Be Added", MessageBoxButtons.OK, MessageBoxDefaultButton.Button1, MessageBoxIcon.Error);
                return(null);
            }

            WMSLayerModelNode oLayer = oServer.GetLayer(getAttribute("layer"));

            if (oLayer == null)
            {
                throw new ArgumentException("'" + getAttribute("layer") + "' was not found. This dataset may have been deleted or moved." + Environment.NewLine + Environment.NewLine + "Please check with the publisher of " + m_oServer.ServerTreeDisplayName + " for more information.");
            }
            WMSServerBuilder oDummyServer = new WMSServerBuilder(null, m_oServer as WMSServerUri, oServer.CapabilitiesFilename, true);

            return(new WMSQuadLayerBuilder(oLayer.LayerData, MainForm.WorldWindowSingleton, oDummyServer, null));
        }
예제 #2
0
파일: Uris.cs 프로젝트: paladin74/Dapple
        internal override LayerBuilder getBuilder(DappleModel oModel)
        {
            GeographicBoundingBox oLayerBounds = new GeographicBoundingBox();
            bool   blTerrainMapped;
            int    iHeight, iLevels, iSize;
            double dLvl0Tilesie;

            if (!Double.TryParse(getAttribute("west"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.West))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("south"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.South))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("east"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.East))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("north"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.North))
            {
                return(null);
            }
            if (!Int32.TryParse(getAttribute("height"), NumberStyles.Any, CultureInfo.InvariantCulture, out iHeight))
            {
                return(null);
            }
            if (!Int32.TryParse(getAttribute("levels"), NumberStyles.Any, CultureInfo.InvariantCulture, out iLevels))
            {
                return(null);
            }
            if (!Int32.TryParse(getAttribute("size"), NumberStyles.Any, CultureInfo.InvariantCulture, out iSize))
            {
                return(null);
            }
            if (!Boolean.TryParse(getAttribute("terrainmapped"), out blTerrainMapped))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("lvl0tilesize"), NumberStyles.Any, CultureInfo.InvariantCulture, out dLvl0Tilesie))
            {
                return(null);
            }

            return(new NltQuadLayerBuilder(
                       getAttribute("name"),
                       iHeight,
                       blTerrainMapped,
                       oLayerBounds,
                       dLvl0Tilesie,
                       iLevels,
                       iSize,
                       m_oServer.ToBaseUri(),
                       getAttribute("datasetname"),
                       getAttribute("imgfileext"),
                       255,
                       MainForm.WorldWindowSingleton,
                       null));
        }
예제 #3
0
        internal void Attach(DappleModel oModel)
        {
            if (m_oModel != null) MuteModel();
            m_oModel = oModel;
            if (m_oModel != null) UnmuteModel();

            m_oModel_SelectedNodeChanged(this, EventArgs.Empty);
        }
예제 #4
0
        internal ServerTreeTest()
        {
            InitializeComponent();

            m_oModel = new DappleModel(null);

            serverTree1.Attach(m_oModel);
            serverTree2.Attach(m_oModel);
        }
예제 #5
0
        internal ServerTreeTest()
        {
            InitializeComponent();

            m_oModel = new DappleModel(null);

            serverTree1.Attach(m_oModel);
            serverTree2.Attach(m_oModel);
        }
예제 #6
0
 internal void Attach(DappleModel oModel)
 {
     if (m_oModel != null)
     {
         MuteModel();
     }
     m_oModel = oModel;
     if (m_oModel != null)
     {
         UnmuteModel();
     }
 }
예제 #7
0
파일: Uris.cs 프로젝트: paladin74/Dapple
        internal override LayerBuilder getBuilder(DappleModel oModel)
        {
            DapServerModelNode oServerMN = oModel.AddDAPServer(m_oServer as DapServerUri, true, false, false) as DapServerModelNode;

            oServerMN.WaitForLoad();
            if (oServerMN.LoadState == LoadState.LoadFailed)
            {
                return(null);
            }

            Geosoft.GX.DAPGetData.Server oServer = oServerMN.Server;
            return(new DAPBrowserMapBuilder(MainForm.WorldWindowSingleton, oServer, null));
        }
예제 #8
0
        internal void Attach(DappleModel oModel)
        {
            if (m_oModel != null)
            {
                MuteModel();
            }
            m_oModel = oModel;
            if (m_oModel != null)
            {
                UnmuteModel();
            }

            m_oModel_SelectedNodeChanged(this, EventArgs.Empty);
        }
예제 #9
0
파일: Uris.cs 프로젝트: paladin74/Dapple
        internal override LayerBuilder getBuilder(DappleModel oModel)
        {
            oModel.AddArcIMSServer(m_oServer as ArcIMSServerUri, true, false, false);

            GeographicBoundingBox oLayerBounds = new GeographicBoundingBox();
            double dMinScale, dMaxScale;

            if (!Double.TryParse(getAttribute("minx"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.West))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("miny"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.South))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("maxx"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.East))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("maxy"), NumberStyles.Any, CultureInfo.InvariantCulture, out oLayerBounds.North))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("minscale"), NumberStyles.Any, CultureInfo.InvariantCulture, out dMinScale))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("maxscale"), NumberStyles.Any, CultureInfo.InvariantCulture, out dMaxScale))
            {
                return(null);
            }

            return(new ArcIMSQuadLayerBuilder(
                       m_oServer as ArcIMSServerUri,
                       getAttribute("servicename"),
                       getAttribute("title"),
                       getAttribute("layerid"),
                       oLayerBounds,
                       new ArcIMSFeatureCoordSys(new CultureInfo("en-US")),
                       MainForm.WorldWindowSingleton,
                       null,
                       dMinScale,
                       dMaxScale,
                       new CultureInfo("en-US")));
        }
예제 #10
0
파일: Uris.cs 프로젝트: paladin74/Dapple
 internal override LayerBuilder getBuilder(DappleModel oModel)
 {
     if (String.Compare(m_oServer.Host, VirtualEarthMapType.road.ToString(), true) == 0)
     {
         return(new VEQuadLayerBuilder("Virtual Earth Map", VirtualEarthMapType.road, MainForm.WorldWindowSingleton, true, null));
     }
     else if (String.Compare(m_oServer.Host, VirtualEarthMapType.aerial.ToString(), true) == 0)
     {
         return(new VEQuadLayerBuilder("Virtual Earth Satellite", VirtualEarthMapType.aerial, MainForm.WorldWindowSingleton, true, null));
     }
     else if (String.Compare(m_oServer.Host, VirtualEarthMapType.hybrid.ToString(), true) == 0)
     {
         return(new VEQuadLayerBuilder("Virtual Earth Map & Satellite", VirtualEarthMapType.hybrid, MainForm.WorldWindowSingleton, true, null));
     }
     else
     {
         return(null);
     }
 }
예제 #11
0
 internal void Attach(DappleModel oModel, LayerList oList)
 {
     m_oModel     = oModel;
     m_hLayerList = oList;
 }
예제 #12
0
파일: Uris.cs 프로젝트: paladin74/Dapple
        internal override LayerBuilder getBuilder(DappleModel oModel)
        {
            DataSet hDataSet = new DataSet();

            hDataSet.Name      = getAttribute("datasetname");
            hDataSet.Url       = m_oServer.ToBaseUri();
            hDataSet.Type      = getAttribute("type");
            hDataSet.Title     = getAttribute("title");
            hDataSet.Edition   = getAttribute("edition");
            hDataSet.Hierarchy = getAttribute("hierarchy");

            if (hasAttribute("stylesheet"))
            {
                hDataSet.Stylesheet = getAttribute("stylesheet");
            }

            double minX, minY, maxX, maxY;

            if (!Double.TryParse(getAttribute("west"), NumberStyles.Any, CultureInfo.InvariantCulture, out minX))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("south"), NumberStyles.Any, CultureInfo.InvariantCulture, out minY))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("east"), NumberStyles.Any, CultureInfo.InvariantCulture, out maxX))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("north"), NumberStyles.Any, CultureInfo.InvariantCulture, out maxY))
            {
                return(null);
            }
            hDataSet.Boundary = new Geosoft.Dap.Common.BoundingBox(maxX, maxY, minX, minY);

            int    height, size, levels;
            double lvl0tilesize;

            if (!Int32.TryParse(getAttribute("height"), NumberStyles.Any, CultureInfo.InvariantCulture, out height))
            {
                return(null);
            }
            if (!Int32.TryParse(getAttribute("size"), NumberStyles.Any, CultureInfo.InvariantCulture, out size))
            {
                return(null);
            }
            if (!Int32.TryParse(getAttribute("levels"), NumberStyles.Any, CultureInfo.InvariantCulture, out levels))
            {
                return(null);
            }
            if (!Double.TryParse(getAttribute("lvl0tilesize"), NumberStyles.Any, CultureInfo.InvariantCulture, out lvl0tilesize))
            {
                return(null);
            }

            DapServerModelNode oServerMN = oModel.AddDAPServer(m_oServer as DapServerUri, true, false, false) as DapServerModelNode;

            oServerMN.WaitForLoad();
            if (oServerMN.LoadState == LoadState.LoadFailed)
            {
                return(null);
            }

            Geosoft.GX.DAPGetData.Server oServer = oServerMN.Server;
            return(new DAPQuadLayerBuilder(hDataSet, MainForm.WorldWindowSingleton, oServer, null, height, size, lvl0tilesize, levels));
        }
예제 #13
0
파일: Uris.cs 프로젝트: paladin74/Dapple
 internal abstract LayerBuilder getBuilder(DappleModel oModel);
예제 #14
0
파일: Uris.cs 프로젝트: paladin74/Dapple
 internal override LayerBuilder getBuilder(DappleModel oModel)
 {
     return(new KML.KMLLayerBuilder(m_oServer.LocalPath, MainForm.WorldWindowSingleton, null));
 }