protected override RasterLayer GetRasterLayer(Uri uri, WorldFileInfo wInfo)
        {
            WmsRasterLayer             layer     = null;
            WmsRasterLayerConfigWindow wmsWindow = new WmsRasterLayerConfigWindow();

            wmsWindow.ViewModel.AddToDataRepositoryVisibility = Visibility.Visible;
            if (wmsWindow.ShowDialog().GetValueOrDefault())
            {
                WmsRasterLayer wmsRasterlayer = wmsWindow.ViewModel.WmsRasterLayer;
                wmsRasterlayer.InitializeProj4Projection(GisEditor.ActiveMap.DisplayProjectionParameters);
                if (wmsRasterlayer != null && wmsRasterlayer.ActiveLayerNames.Count > 0)
                {
                    layer = wmsRasterlayer;
                }
                if (wmsWindow.ViewModel.DoesAddToDataRepository)
                {
                    var wmsDataPlugin = GisEditor.DataRepositoryManager.GetPlugins().OfType <WmsDataRepositoryPlugin>().FirstOrDefault();
                    if (wmsDataPlugin != null)
                    {
                        wmsDataPlugin.RootDataRepositoryItem.Children.Add(new WmsDataRepositoryItem(
                                                                              wmsWindow.ViewModel.Name,
                                                                              new ObservableCollection <string>(wmsWindow.ViewModel.AvailableLayers.Select(l => l.Name)),
                                                                              wmsWindow.ViewModel.WmsServerUrl,
                                                                              wmsWindow.ViewModel.UserName,
                                                                              wmsWindow.ViewModel.Password,
                                                                              wmsWindow.ViewModel.Parameters,
                                                                              wmsWindow.ViewModel.Formats,
                                                                              wmsWindow.ViewModel.Styles,
                                                                              wmsWindow.ViewModel.SelectedFormat,
                                                                              wmsWindow.ViewModel.SelectedStyle));
                    }
                }
            }
            return(layer);
        }
Пример #2
0
        //protected override ObservableCollection<DataRepositoryItem> GetChildrenCore()
        //{
        //    return children;
        //}

        protected override void LoadCore()
        {
            WmsRasterLayer layer = new WmsRasterLayer(new Uri(Url))
            {
                Name = Name
            };

            layer.ActiveLayerNames.Add(Name);
            layer.InitializeProj4Projection(GisEditor.ActiveMap.DisplayProjectionParameters);
            var layers = new Layer[] { layer };

            GisEditor.ActiveMap.AddLayersBySettings(layers);
            GisEditor.UIManager.BeginRefreshPlugins(new RefreshArgs(this, RefreshArgsDescription.LoadCoreDescription));
        }