예제 #1
0
        private void OnMenuClick(object sender, RoutedEventArgs e)
        {
            switch (((MenuItem)sender).Name)
            {
            case "menuAOIZoom":
                if (_aoi != null)
                {
                    MapWindowManager.ZoomToShapeFileExtent(_aoi.ShapeFile);
                }
                break;

            case "menuAOIEditExtent":
                if (_aoi != null)
                {
                    _editingAOI = true;
                    AOIManager.Edit(_aoi);
                    buttonOk.IsEnabled = true;
                }
                break;

            case "menuAOIRemove":
                if (_aoi != null)
                {
                    MapWindowManager.MapLayersHandler.RemoveLayer(_aoi.MapLayerHandle);
                }
                break;
            }
        }
예제 #2
0
 private void SaveMapState()
 {
     if (MapWindowManager.SaveMapState() == false)
     {
         System.Windows.MessageBox.Show(MapWindowManager.LastError, "GPXManager", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
예제 #3
0
        private void OnMenuChecked(object sender, RoutedEventArgs e)
        {
            var menuItem = (WindowMenuItem)sender;

            switch (menuItem.Name)
            {
            case "menuMapCoastlineVisible":

                var coast = MapLayersHandler.get_MapLayer("Coastline");
                if (coast == null)
                {
                    MapWindowManager.LoadCoastline(MapWindowManager.CoastLineFile);
                    coast = MapLayersHandler.get_MapLayer("Coastline");
                }
                MapLayersHandler.EditLayer(coast.Handle, coast.Name, menuItem.IsChecked);

                break;

            case "menuMapTilesVisible":
                if (menuItem.IsChecked)
                {
                    menuMapTilesSelectProvider.IsEnabled = true;
                    if (MapControl.TileProvider == tkTileProvider.ProviderNone)
                    {
                        SelectTileProvider();
                    }
                }
                else
                {
                    MapControl.TileProvider = tkTileProvider.ProviderNone;
                    menuMapTilesSelectProvider.IsEnabled = false;
                }
                break;
            }
        }
예제 #4
0
 private void OnWindowClosing(object sender, CancelEventArgs e)
 {
     Entities.AOIViewModel.UnloadAllAOIBouindaries();
     Entities.AOIViewModel.UnloadAllGrids();
     Owner.Focus();
     MapWindowManager.ResetCursor();
 }
예제 #5
0
        private void OnButtonClick(object sender, RoutedEventArgs e)
        {
            switch (((Button)sender).Name)
            {
            case "buttonCancel":
                Close();
                break;

            case "buttonOk":
                MapWindowManager.RemoveGPSDataFromMap();
                ProcessChecked();
                break;
            }
        }
예제 #6
0
        private void OnMenuChecked(object sender, RoutedEventArgs e)
        {
            var menuItem = (WindowMenuItem)sender;

            switch (menuItem.Name)
            {
            case "menuMapCoastlineVisible":

                var coast = MapLayersHandler.get_MapLayer("Coastline");
                if (coast == null)
                {
                    MapWindowManager.LoadCoastline(MapWindowManager.CoastLineFile);
                    coast = MapLayersHandler.get_MapLayer("Coastline");
                }
                if (coast != null)
                {
                    MapLayersHandler.EditLayer(coast.Handle, coast.Name, menuItem.IsChecked);
                }
                else
                {
                    if (File.Exists(MapWindowManager.CoastLineFile))
                    {
                        System.Windows.MessageBox.Show("Coastline file could not be loaded as a GIS Shapefile", "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        System.Windows.MessageBox.Show("Coastline file could not be found", "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }

                break;

            case "menuMapTilesVisible":
                if (menuItem.IsChecked)
                {
                    menuMapTilesSelectProvider.IsEnabled = true;
                    if (MapControl.TileProvider == tkTileProvider.ProviderNone)
                    {
                        SelectTileProvider();
                    }
                }
                else
                {
                    MapControl.TileProvider = tkTileProvider.ProviderNone;
                    menuMapTilesSelectProvider.IsEnabled = false;
                }
                break;
            }
        }
예제 #7
0
        private void OnWindowClosing(object sender, CancelEventArgs e)
        {
            if (!MapWindowManager.MapStateFileExists)
            {
                SaveMapState();
            }
            //_instance = null;
            this.SavePlacement();

            GPXMappingManager.RemoveAllFromMap();
            TripMappingManager.Cleanup();
            GPXMappingManager.Cleanup();
            ParentWindow.ResetDataGrids();
            MapWindowManager.CleanUp();
            ParentWindow.Focus();
        }
예제 #8
0
        private void OnMenuClick(object sender, RoutedEventArgs e)
        {
            switch (((WindowMenuItem)sender).Name)
            {
            case "menuEdit":
                break;

            case "menuAddLayerBoundaryLGU":
                string feedfBack = "";
                MapWindowManager.AddLGUBoundary(out feedfBack);
                if (feedfBack.Length > 0)
                {
                    System.Windows.MessageBox.Show(feedfBack, "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                break;

            case "menuMapTilesSelectProvider":
                SelectTileProvider();
                break;

            case "menuClose":
                Close();
                break;

            case "menuSaveMapState":
                SaveMapState();
                break;

            case "menuAOICreate":
                var aoiw = new AOIWindow();
                aoiw.Owner = this;
                aoiw.AddNewAOI();
                aoiw.Show();
                AOIManager.AddNew();
                break;

            case "menuAOIList":
                aoiw = new AOIWindow();
                aoiw.ShowAOIList();
                aoiw.Owner = this;
                aoiw.Show();
                break;

            case "menuIslandLabels":
                break;
            }
        }
예제 #9
0
        private void ProcessChecked()
        {
            List <GPS>      selectedGPS   = new List <GPS>();
            List <DateTime> selectedMonth = new List <DateTime>();

            foreach (CheckBox c in panelGPS.Children)
            {
                if ((bool)c.IsChecked)
                {
                    selectedGPS.Add(Entities.GPSViewModel.GetGPS(c.Tag.ToString()));
                }
            }


            foreach (CheckBox c in panelMonths.Children)
            {
                if ((bool)c.IsChecked)
                {
                    selectedMonth.Add(DateTime.Parse(c.Content.ToString()));
                }
            }

            if (selectedGPS.Count > 0 && selectedMonth.Count > 0)
            {
                int        h        = -1;
                List <int> handles  = new List <int>();
                var        gpxFiles = Entities.DeviceGPXViewModel.GetGPXFiles(selectedGPS, selectedMonth);
                foreach (var item in gpxFiles)
                {
                    MapWindowManager.MapGPX(item, out h, out handles);
                    item.ShapeIndexes = handles;
                    item.ShownInMap   = true;
                }
                if (h >= 0)
                {
                    MapWindowManager.MapControl.Redraw();
                }
            }
            else
            {
                MessageBox.Show("At least one GPS and one date should be selected", "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
예제 #10
0
        private void OnButtonClick(object sender, RoutedEventArgs e)
        {
            Button b = (Button)sender;

            if (b.Name == "buttonMapClose")
            {
                Close();
            }
            else
            {
                foreach (var aoi in Entities.AOIViewModel.GetSelectedAOIs())
                {
                    if (gridding.Grid25.ProjectionIsWGS84(aoi.SubGrids.GeoProjection.Name))
                    {
                        MapWindowManager.SelectTracksInAOI(aoi);
                        aoi.GridMapping.SelectedTrackIndexes = MapWindowManager.SelectedTrackIndexes;

                        if (MapWindowManager.SelectedTrackIndexes?.Count() > 0)
                        {
                            aoi.GridMapping.SelectedTracks = MapWindowManager.SelectedTracks;
                            if ((bool)checkMapIntensity.IsChecked)
                            {
                                var count = aoi.GridMapping.ComputeFishingFrequency();
                                if (count > 0)
                                {
                                    aoi.EffortGridColumn = "Hits";
                                }
                                textStatus.Text += $"{count} cells were computed for fishing inntensity for {aoi.Name}\r\n";
                            }
                        }
                        else
                        {
                            textStatus.Text += $"{aoi.Name} does not contain fishing tracks\r\n";
                        }
                    }
                    else
                    {
                        textStatus.Text += $"{aoi.Name} grids is not projected to WGS84\r\n";
                    }
                }
            }
        }
예제 #11
0
        private void OnWindowLoaded(object sender, RoutedEventArgs e)
        {
            System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost();

            MapControl = new AxMapWinGIS.AxMap();
            host.Child = MapControl;
            MapGrid.Children.Add(host);

            MapLayersHandler        = new MapLayersHandler(MapControl);
            MapInterActionHandler   = new MapInterActionHandler(MapControl, MapLayersHandler);
            MapControl.ZoomBehavior = tkZoomBehavior.zbDefault;

            if (MapWindowManager.MapStateFileExists)
            {
                MapWindowManager.RestoreMapState(this);
                menuMapTilesVisible.IsChecked        = MapControl.TileProvider != tkTileProvider.ProviderNone;
                menuMapTilesSelectProvider.IsEnabled = MapControl.TileProvider != tkTileProvider.ProviderNone;
            }
            else
            {
                menuMapTilesSelectProvider.IsEnabled = false;
            }

            if (MapLayersHandler.get_MapLayer("Coastline") != null)
            {
                menuMapCoastlineVisible.IsChecked = MapLayersHandler.get_MapLayer("Coastline").Visible;
            }


            MapWindowManager.ResetCursor();

            MapInterActionHandler.ShapesSelected      += OnMapShapeSelected;
            MapLayersHandler.CurrentLayer             += OnMapCurrentLayer;
            MapLayersHandler.OnLayerVisibilityChanged += MapLayersHandler_OnLayerVisibilityChanged;
            GPXMappingManager.MapInteractionHandler    = MapInterActionHandler;
            TripMappingManager.MapInteractionHandler   = MapInterActionHandler;

            SetButtonEnabled();
        }
예제 #12
0
        private void OnToolbarButtonClick(object sender, RoutedEventArgs e)
        {
            tkCursorMode cursorMode = tkCursorMode.cmNone;
            tkCursor     cursor     = tkCursor.crsrArrow;


            switch (((System.Windows.Controls.Button)sender).Name)
            {
            case "buttonAOI":
                ShowAOIList();
                break;

            case "buttonDataScreen":
                Visibility = Visibility.Hidden;
                if (MapWindowManager.MapLayersWindow != null)
                {
                    MapWindowManager.MapLayersWindow.Visibility = Visibility.Hidden;
                }
                if (MapWindowManager.ShapeFileAttributesWindow != null)
                {
                    MapWindowManager.ShapeFileAttributesWindow.Visibility = Visibility.Hidden;
                }

                ParentWindow.Focus();
                break;

            case "buttonExit":
                Close();
                break;

            case "buttonRuler":
                cursorMode = tkCursorMode.cmMeasure;
                cursor     = tkCursor.crsrCross;
                break;

            case "buttonPan":
                cursorMode = tkCursorMode.cmPan;
                cursor     = tkCursor.crsrSizeAll;
                break;

            case "buttonZoomPlus":
                cursorMode = tkCursorMode.cmZoomIn;
                cursor     = tkCursor.crsrCross;
                MakeCursor("zoom_plus");
                break;

            case "buttonZoomMinus":
                cursorMode = tkCursorMode.cmZoomOut;
                cursor     = tkCursor.crsrCross;
                break;

            case "buttonSelect":
                cursorMode = tkCursorMode.cmSelection;
                cursor     = tkCursor.crsrHand;
                break;

            case "buttonSelectPolygon":
                cursorMode = tkCursorMode.cmSelectByPolygon;
                cursor     = tkCursor.crsrHand;
                MapLayersHandler.CurrentMapLayer.LayerIsSelectable = true;
                break;

            case "buttonSelectNone":
                MapLayersHandler.ClearAllSelections();
                break;

            case "buttonAttributes":
                if (MapLayersHandler.CurrentMapLayer != null)
                {
                    ShapeFileAttributesWindow sfw = ShapeFileAttributesWindow.GetInstance(MapWindowManager.MapInterActionHandler);
                    if (sfw.Visibility == Visibility.Visible)
                    {
                        sfw.BringIntoView();
                    }
                    else
                    {
                        sfw.Owner     = this;
                        sfw.ShapeFile = MapLayersHandler.CurrentMapLayer.LayerObject as Shapefile;
                        sfw.ShowShapeFileAttribute();
                        sfw.Show();
                    }
                    MapWindowManager.ShapeFileAttributesWindow = sfw;
                }
                break;

            case "buttonGears":
                ToBeImplemented("mapping options");
                break;

            case "buttonUploadCloud":
                ToBeImplemented("upload to cloud");
                break;

            case "buttonCalendar":
                ToBeImplemented("calendar");
                break;

            case "buttonTrack":
                ToBeImplemented("track");
                break;

            case "buttonGPS":
                ToBeImplemented("gps");
                break;

            case "buttonLayers":
                var mlw = MapLayersWindow.GetInstance();

                if (mlw.Visibility == Visibility.Visible)
                {
                    mlw.BringIntoView();
                    mlw.Focus();
                }
                else
                {
                    mlw.ParentForm       = this;
                    mlw.Owner            = this;
                    mlw.MapLayersHandler = MapWindowManager.MapLayersHandler;
                    mlw.Show();
                }

                break;

            case "buttonAddLayer":
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.Title      = "Open shapefile";
                ofd.Filter     = "Shapefile (*.shp)|*.shp";
                ofd.DefaultExt = "*.shp";
                DialogResult dr = ofd.ShowDialog();
                if (dr == System.Windows.Forms.DialogResult.OK &&
                    ofd.FileName.Length > 0 &&
                    File.Exists(ofd.FileName))
                {
                    string feedBack = "";
                    if (!MapWindowManager.AddShapefileLayer(ofd.FileName, out feedBack))
                    {
                        System.Windows.MessageBox.Show(feedBack, "GPX Manager",
                                                       MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
                break;
            }


            MapControl.CursorMode = cursorMode;
            MapControl.MapCursor  = cursor;
        }
예제 #13
0
        private void OnMenuClick(object sender, RoutedEventArgs e)
        {
            switch (((WindowMenuItem)sender).Name)
            {
            case "menuCleanExtractedtracks":
                if (MapWindowManager.ExtractedTracksShapefile != null && MapWindowManager.BSCBoundaryShapefile != null)
                {
                    var result = Entities.ExtractedFishingTrackViewModel.CleanupUsingBoundary(MapWindowManager.BSCBoundaryShapefile);

                    string message = "No tracks were removed during the cleanup";
                    if (result > 0)
                    {
                        message = $"Cleanup resulted in {result} tracks removed";
                    }

                    System.Windows.Forms.MessageBox.Show(message, "GPX Manager", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    System.Windows.MessageBox.Show("Extracted track and boundary must be loaded", "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                break;

            case "menuAddExtractedTracks":
                if (!MapWindowManager.AddExtractedTracksLayer())
                {
                    System.Windows.MessageBox.Show("Extracted tracks not found", "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                }

                break;

            case "menuAddBSCBoundary":
                string feedfBack = "";

                if (!MapWindowManager.SetBoundaryShapefile())
                {
                    if (MapWindowManager.BSCBoundaryShapefile == null)
                    {
                        MapWindowManager.AddBSCBoundaryLineShapefile(FileOpenDialogForShapefile(), out feedfBack);
                    }
                    if (feedfBack.Length > 0)
                    {
                        System.Windows.MessageBox.Show(feedfBack, "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }

                break;

            case "menuEdit":
                break;

            case "menuAddLayerBoundaryLGU":
                feedfBack = "";
                MapWindowManager.AddLGUBoundary(out feedfBack);
                if (feedfBack.Length > 0)
                {
                    System.Windows.MessageBox.Show(feedfBack, "GPX Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                break;

            case "menuMapTilesSelectProvider":
                SelectTileProvider();
                break;

            case "menuClose":
                Close();
                break;

            case "menuSaveMapState":
                SaveMapState();
                break;

            case "menuAOICreate":
                var aoiw = new AOIWindow();
                aoiw.Owner = this;
                aoiw.AddNewAOI();
                aoiw.Show();
                AOIManager.AddNew();
                break;

            case "menuAOIList":
                ShowAOIList();
                break;

            case "menuIslandLabels":
                break;
            }
        }
예제 #14
0
        private void OnMenuClick(object sender, RoutedEventArgs e)
        {
            switch (((MenuItem)sender).Name)
            {
            case "menuAOIDelete":
                break;

            case "menuFormatMap":
                bool proceed = false;
                foreach (var aoi in Entities.AOIViewModel.GetAllAOI())
                {
                    if (aoi.GridIsLoaded && aoi.GridMapping.HasGriddedData)
                    {
                        proceed = true;
                        break;
                    }
                }


                if (!proceed)
                {
                    MessageBox.Show("There is no gridded map", "GPXC Manager", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    FormatGridMapWindow fmw = FormatGridMapWindow.GetInstance(_aoi);
                    if (fmw.Visibility == Visibility.Visible)
                    {
                        fmw.BringIntoView();
                    }
                    else
                    {
                        fmw.Owner = this;
                        fmw.Show();
                    }
                }

                break;

            case "menuEditGrid":
                MakeGrid();
                menuEditGrid.IsEnabled   = false;
                menuShowGrid.IsEnabled   = false;
                menuRemoveGrid.IsEnabled = true;
                break;

            case "menuGridMapping":
                ShowGridMappingWindow();
                break;

            case "menuAOIZoom":
                if (_aoi != null)
                {
                    MapWindowManager.ZoomToShapeFileExtent(_aoi.ShapeFile);
                }
                break;

            case "menuAOIEditExtent":
                if (_aoi != null)
                {
                    _editingAOI = true;
                    AOIManager.Edit(_aoi);
                    buttonOk.IsEnabled = true;
                }
                break;

            case "menuRemoveGrid":
                if (_aoi != null)
                {
                    //MapWindowManager.MapLayersHandler.RemoveLayer(_aoi.MapLayerHandle);
                    MapWindowManager.MapLayersHandler.RemoveLayer(_aoi.GridLayerName);
                    _aoi.GridIsLoaded        = false;
                    menuRemoveGrid.IsEnabled = false;
                    menuShowGrid.IsEnabled   = !_aoi.GridIsLoaded;
                    menuEditGrid.IsEnabled   = !_aoi.GridIsLoaded;
                    SetDataGridContext();
                }
                break;

            case "menuShowGrid":

                if (_aoi.GridFileName != null && _aoi.GridFileName.Length > 0 && File.Exists(_aoi.GridFileName))
                {
                    var files = Entities.AOIViewModel.GetAOISubGridFileNames(_aoi);
                    if (files.Count > 1)
                    {
                        var selectedFile         = "";
                        SelectGridFileWindow sgw = new SelectGridFileWindow();
                        sgw.GridFiles = files;
                        if ((bool)sgw.ShowDialog())
                        {
                            selectedFile = sgw.SelectedFile;
                            menuGridMapping.IsEnabled = _aoi.CreateGridFromFileName(selectedFile);
                        }
                    }
                    else
                    {
                        menuGridMapping.IsEnabled = _aoi.CreateGridFromFileName(_aoi.GridFileName);
                    }
                }
                else
                {
                    MakeGrid();
                }
                SetDataGridContext();
                menuShowGrid.IsEnabled   = !_aoi.GridIsLoaded;
                menuEditGrid.IsEnabled   = menuShowGrid.IsEnabled;
                menuRemoveGrid.IsEnabled = _aoi.GridIsLoaded;
                break;
            }
        }
예제 #15
0
 private void OnWindowClosing(object sender, CancelEventArgs e)
 {
     MapWindowManager.ResetCursor();
 }