Esempio n. 1
0
        private async void Initialize()
        {
            // Create new map with the dark gray canvas basemap
            Map myMap = new Map(Basemap.CreateDarkGrayCanvasVector());

            // Create a Uri to the image service raster
            var myUri = new Uri("http://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer");

            // Create new image service raster from the Uri
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(myUri);

            // Load the image service raster
            await myImageServiceRaster.LoadAsync();

            // Get the service information (aka. metadata) about the image service raster
            ArcGISImageServiceInfo myArcGISImageServiceInfo = myImageServiceRaster.ServiceInfo;

            // Create a new raster layer from the image service raster
            RasterLayer myRasterLayer = new RasterLayer(myImageServiceRaster);

            // Add the raster layer to the maps layer collection
            myMap.Basemap.BaseLayers.Add(myRasterLayer);

            // Assign the map to the map view
            MyMapView.Map = myMap;

            // Zoom the map to the extent of the image service raster (which also the extent of the raster layer)
            await MyMapView.SetViewpointGeometryAsync(myArcGISImageServiceInfo.FullExtent);

            // NOTE: The sample zooms to the extent of the ImageServiceRaster. Currently the ArcGIS Runtime does not
            // support zooming a RasterLayer out beyond 4 times it's published level of detail. The sample uses
            // MapView.SetViewpointCenterAsync() method to ensure the image shows when the app starts. You can see
            // the effect of the image service not showing when you zoom out to the full extent of the image and beyond.        }
        }
        private async void Initialize()
        {
            // Create new map with the dark gray canvas basemap.
            Map myMap = new Map(Basemap.CreateDarkGrayCanvasVector());

            // Create a Uri to the image service raster. (NOTE: iOS applications require the use of Uri's to be https:// and not http://)
            Uri myUri = new Uri("https://gis.ngdc.noaa.gov/arcgis/rest/services/bag_hillshades/ImageServer");

            // Create new image service raster from the Uri.
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(myUri);

            // Load the image service raster.
            await myImageServiceRaster.LoadAsync();

            // Create a new raster layer from the image service raster.
            RasterLayer myRasterLayer = new RasterLayer(myImageServiceRaster);

            // Add the raster layer to the maps layer collection.
            myMap.Basemap.BaseLayers.Add(myRasterLayer);

            // Assign the map to the map view.
            MyMapView.Map = myMap;

            // zoom in to the San Francisco Bay.
            await MyMapView.SetViewpointCenterAsync(new MapPoint(-13643095.660131, 4550009.846004, SpatialReferences.WebMercator), 100000);
        }
Esempio n. 3
0
        private async Task <Layer> GetSlopeLayerAsync()
        {
            try
            {
                AuthenticationManager.Current.ChallengeHandler = new ChallengeHandler(CredentialService.CreateCredential);

                var uri = new Uri("https://geodata.skogsstyrelsen.se/arcgis/rest/services/Publikt/Lutning/ImageServer");

                ImageServiceRaster imageServiceRaster = new ImageServiceRaster(uri);

                await imageServiceRaster.LoadAsync();

                RasterLayer rasterLayer = new RasterLayer(imageServiceRaster)
                {
                    Id        = LayerConstansts.SlopeLayerId,
                    IsVisible = false
                };

                return(rasterLayer);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(null);
        }
Esempio n. 4
0
        private async Task LoadRenderingRules()
        {
            // Create a new image service raster from the Uri.
            ImageServiceRaster imageServiceRaster = new ImageServiceRaster(_myUri);

            try
            {
                // Load the image service raster.
                await imageServiceRaster.LoadAsync();

                // Get the ArcGIS image service info (metadata) from the image service raster.
                ArcGISImageServiceInfo arcGISImageServiceInfo = imageServiceRaster.ServiceInfo;

                // Get the full extent envelope of the image service raster (the Charlotte, NC area).
                Envelope myEnvelope = arcGISImageServiceInfo.FullExtent;

                // Define a new view point from the full extent envelope.
                Viewpoint viewPoint = new Viewpoint(myEnvelope);

                // Zoom to the area of the full extent envelope of the image service raster.
                await _myMapView.SetViewpointAsync(viewPoint);

                // Get the rendering rule info (i.e. definitions of how the image should be drawn) info from the image service raster.
                _renderRuleInfos = arcGISImageServiceInfo.RenderingRuleInfos;
            }
            catch (Exception e)
            {
                new UIAlertView("Error", e.ToString(), (IUIAlertViewDelegate)null, "OK", null).Show();
            }
        }
        private void OnChangeRenderingRuleMenuItemClicked(object sender, PopupMenu.MenuItemClickEventArgs e)
        {
            // Get the rendering rule from the selected item
            string selectedRenderingRuleType = e.Item.TitleCondensedFormatted.ToString();

            // Loop through each rendering rule info in the image service raster
            foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
            {
                // Get the name of the rendering rule info
                string myRenderingRuleName = myRenderingRuleInfo.Name;

                // If the name of the rendering rule info matches what was chosen by the user, proceed
                if (myRenderingRuleName == selectedRenderingRuleType)
                {
                    // Create a new rendering rule from the rendering rule info
                    RenderingRule myRenderingRule = new RenderingRule(myRenderingRuleInfo);

                    // Create a new image service raster
                    ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(_myUri)
                    {
                        // Set the image service raster's rendering rule to the rendering rule created earlier
                        RenderingRule = myRenderingRule
                    };

                    // Create a new raster layer from the image service raster
                    RasterLayer myRasterLayer = new RasterLayer(myImageServiceRaster);

                    // Add the raster layer to the operational layers of the  map view
                    _myMapView.Map.OperationalLayers.Add(myRasterLayer);
                }
            }
        }
Esempio n. 6
0
        private async void Initialize()
        {
            // Create new map with the dark gray canvas basemap.
            Map myMap = new Map(Basemap.CreateDarkGrayCanvasVector());

            // Create a URI to the image service raster.
            Uri uri = new Uri("https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer");

            // Create new image service raster from the URI.
            ImageServiceRaster imageServiceRaster = new ImageServiceRaster(uri);

            // Load the image service raster.
            await imageServiceRaster.LoadAsync();

            // Get the service information (aka. metadata) about the image service raster.
            ArcGISImageServiceInfo arcGISImageServiceInfo = imageServiceRaster.ServiceInfo;

            // Create a new raster layer from the image service raster.
            RasterLayer rasterLayer = new RasterLayer(imageServiceRaster);

            // Add the raster layer to the maps layer collection.
            myMap.Basemap.BaseLayers.Add(rasterLayer);

            // Assign the map to the map view.
            _myMapView.Map = myMap;

            // Zoom the map to the extent of the image service raster (which also the extent of the raster layer).
            await _myMapView.SetViewpointGeometryAsync(arcGISImageServiceInfo.FullExtent);
        }
        private void _segmentControl_ValueChanged(object sender, EventArgs e)
        {
            // Get the index number of the user choice of render rule names
            nint selectedSegmentId = (sender as UISegmentedControl).SelectedSegment;

            // Get the rendering rule info name from the UISegmentedControl that was chosen by the user
            string myRenderingRuleInfoName = (sender as UISegmentedControl).TitleAt(selectedSegmentId);

            // Loop through each rendering rule info in the image service raster
            foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
            {
                // Get the name of the rendering rule info
                string myRenderingRuleName = myRenderingRuleInfo.Name;

                // If the name of the rendering rule info matches what was chosen by the user, proceed
                if (myRenderingRuleName == myRenderingRuleInfoName)
                {
                    // Create a new rendering rule from the rendering rule info
                    RenderingRule myRenderingRule = new RenderingRule(myRenderingRuleInfo);

                    // Create a new image service raster
                    ImageServiceRaster myImageServiceRaster2 = new ImageServiceRaster(_myUri);

                    // Set the image service raster's rendering rule to the rendering rule created earlier
                    myImageServiceRaster2.RenderingRule = myRenderingRule;

                    // Create a new raster layer from the image service raster
                    RasterLayer myRasterLayer = new RasterLayer(myImageServiceRaster2);

                    // Add the raster layer to the operational layers of the  map view
                    _myMapView.Map.OperationalLayers.Add(myRasterLayer);
                }
            }
        }
Esempio n. 8
0
        private async Task ChangeRenderingRuleAsync()
        {
            // Display a picker to the user to choose among the available rendering rules for the image service raster
            string myRenderingRuleInfoName = await DisplayActionSheet("Select a Rendering Rule", "Cancel", null, _names.ToArray());

            // Loop through each rendering rule info in the image service raster
            foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
            {
                // Get the name of the rendering rule info
                string myRenderingRuleName = myRenderingRuleInfo.Name;

                // If the name of the rendering rule info matches what was chosen by the user, proceed
                if (myRenderingRuleName == myRenderingRuleInfoName)
                {
                    // Create a new rendering rule from the rendering rule info
                    RenderingRule myRenderingRule = new RenderingRule(myRenderingRuleInfo);

                    // Create a new image service raster
                    ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(_myUri);

                    // Set the image service raster's rendering rule to the rendering rule created earlier
                    myImageServiceRaster.RenderingRule = myRenderingRule;

                    // Create a new raster layer from the image service raster
                    RasterLayer myRasterLayer = new RasterLayer(myImageServiceRaster);

                    // Add the raster layer to the operational layers of the  map view
                    MyMapView.Map.OperationalLayers.Add(myRasterLayer);
                }
            }
        }
        /// <summary>
        /// Called when a rendering rule info name is changed in the combo box
        /// </summary>
        private void comboBox_RenderingRuleChooser_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // Loop through each rendering rule info in the image service raster
            foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
            {
                // Get the name of the rendering rule info
                string myRenderingRuleName = myRenderingRuleInfo.Name;

                // If the name of the rendering rule info matches what was chosen in the combo box, proceed
                if (myRenderingRuleName == (string)RenderingRuleChooser.SelectedItem)
                {
                    // Create a new rendering rule from the rendering rule info
                    RenderingRule myRenderingRule = new RenderingRule(myRenderingRuleInfo);

                    // Create a new image service raster
                    ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(_myUri)
                    {
                        // Set the image service raster's rendering rule to the rendering rule created earlier
                        RenderingRule = myRenderingRule
                    };

                    // Create a new raster layer from the image service raster
                    RasterLayer myRasterLayer = new RasterLayer(myImageServiceRaster);

                    // Add the raster layer to the operational layers of the  map view
                    MyMapView.Map.OperationalLayers.Add(myRasterLayer);
                }
            }
        }
Esempio n. 10
0
        private async void Initialize()
        {
            // Assign a new map to the MapView
            MyMapView.Map = new Map
            {
                // Set the basemap to Streets
                Basemap = new Basemap(BasemapStyle.ArcGISStreets)
            };

            // Create a new image service raster from the Uri
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(_myUri);

            try
            {
                // Load the image service raster
                await myImageServiceRaster.LoadAsync();

                // Get the ArcGIS image service info (metadata) from the image service raster
                ArcGISImageServiceInfo myArcGISImageServiceInfo = myImageServiceRaster.ServiceInfo;

                // Get the full extent envelope of the image service raster (the Charlotte, NC area)
                Envelope myEnvelope = myArcGISImageServiceInfo.FullExtent;

                // Define a new view point from the full extent envelope
                Viewpoint myViewPoint = new Viewpoint(myEnvelope);

                // Zoom to the area of the full extent envelope of the image service raster
                await MyMapView.SetViewpointAsync(myViewPoint);

                // Get the rendering rule info (i.e. definitions of how the image should be drawn) info from the image service raster
                _myReadOnlyListRenderRuleInfos = myArcGISImageServiceInfo.RenderingRuleInfos;

                // Loop through each rendering rule info
                foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
                {
                    // Get the name of the rendering rule info
                    string myRenderingRuleName = myRenderingRuleInfo.Name;

                    // Add the name of the rendering rule info into the list of names
                    _names.Add(myRenderingRuleName);
                }

                // Call the function to display the image service raster based up on user choice of rendering rules
                await ChangeRenderingRuleAsync();
            }
            catch (Exception e)
            {
                await Application.Current.MainPage.DisplayAlert("Error", e.ToString(), "OK");
            }
        }
        private async void Initialize()
        {
            // Assign a new map to the MapView
            _myMapView.Map = new Map
            {
                // Set the basemap to Streets
                Basemap = Basemap.CreateStreets()
            };

            // Create a new image service raster from the Uri
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(_myUri);

            try
            {
                // Load the image service raster
                await myImageServiceRaster.LoadAsync();

                // Get the ArcGIS image service info (metadata) from the image service raster
                ArcGISImageServiceInfo myArcGISImageServiceInfo = myImageServiceRaster.ServiceInfo;

                // Get the full extent envelope of the image service raster (the Charlotte, NC area)
                Envelope myEnvelope = myArcGISImageServiceInfo.FullExtent;

                // Define a new view point from the full extent envelope
                Viewpoint myViewPoint = new Viewpoint(myEnvelope);

                // Zoom to the area of the full extent envelope of the image service raster
                await _myMapView.SetViewpointAsync(myViewPoint);

                // Get the rendering rule info (i.e. definitions of how the image should be drawn) info from the image service raster
                _myReadOnlyListRenderRuleInfos = myArcGISImageServiceInfo.RenderingRuleInfos;

                // Loop through each rendering rule info
                foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
                {
                    // Get the name of the rendering rule info
                    string myRenderingRuleName = myRenderingRuleInfo.Name;

                    // Add the name of the rendering rule info to the list of names
                    _names.Add(myRenderingRuleName);
                }

                // Invoke the button for the user to change the rendering rule of the image service raster
                OnChangeRenderingRuleClicked(_renderingRulesButton, null);
            }
            catch (Exception e)
            {
                new AlertDialog.Builder(this).SetMessage(e.ToString()).SetTitle("Error").Show();
            }
        }
        private async void Initialize()
        {
            // Assign a new map to the MapView
            MyMapView.Map = new Map
            {
                // Set the basemap to Streets
                Basemap = new Basemap(BasemapStyle.ArcGISStreets)
            };

            // Create a new image service raster from the Uri
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(_myUri);

            try
            {
                // Load the image service raster
                await myImageServiceRaster.LoadAsync();

                // Get the ArcGIS image service info (metadata) from the image service raster
                ArcGISImageServiceInfo myArcGISImageServiceInfo = myImageServiceRaster.ServiceInfo;

                // Get the full extent envelope of the image service raster (the Charlotte, NC area)
                Envelope myEnvelope = myArcGISImageServiceInfo.FullExtent;

                // Define a new view point from the full extent envelope
                Viewpoint myViewPoint = new Viewpoint(myEnvelope);

                // Zoom to the area of the full extent envelope of the image service raster
                await MyMapView.SetViewpointAsync(myViewPoint);

                // Get the rendering rule info (i.e. definitions of how the image should be drawn) info from the image service raster
                _myReadOnlyListRenderRuleInfos = myArcGISImageServiceInfo.RenderingRuleInfos;

                // Loop through each rendering rule info
                foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
                {
                    // Get the name of the rendering rule info
                    string myRenderingRuleName = myRenderingRuleInfo.Name;

                    // Add the name of the rendering rule info to the combo box
                    RenderingRuleChooser.Items.Add(myRenderingRuleName);
                }

                // Set the combo box index to the first rendering rule info name
                RenderingRuleChooser.SelectedIndex = 0;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "Error");
            }
        }
        private async Task Initialize()
        {
            // Create a raster layer using an image service.
            _imageServiceRaster = new ImageServiceRaster(new Uri("https://sampleserver7.arcgisonline.com/server/rest/services/amberg_germany/ImageServer"));
            RasterLayer rasterLayer = new RasterLayer(_imageServiceRaster);
            await rasterLayer.LoadAsync();

            // Create a map with the raster layer.
            MyMapView.Map = new Map(BasemapStyle.ArcGISTopographic);
            MyMapView.Map.OperationalLayers.Add(rasterLayer);
            await MyMapView.SetViewpointAsync(new Viewpoint(rasterLayer.FullExtent));

            // Populate the combo box.
            MosaicRulesBox.ItemsSource   = _mosaicRules.Keys;
            MosaicRulesBox.SelectedIndex = 0;
        }
Esempio n. 14
0
        private async Task Initialize()
        {
            // Create a raster layer using an image service.
            _imageServiceRaster = new ImageServiceRaster(new Uri("https://sampleserver7.arcgisonline.com/server/rest/services/amberg_germany/ImageServer"));
            RasterLayer rasterLayer = new RasterLayer(_imageServiceRaster);
            await rasterLayer.LoadAsync();

            // Create a map with the raster layer.
            _myMapView.Map = new Map(BasemapStyle.ArcGISTopographic);
            _myMapView.Map.OperationalLayers.Add(rasterLayer);
            await _myMapView.SetViewpointAsync(new Viewpoint(rasterLayer.FullExtent));

            // Populate the combo box.
            _imageServiceRaster.MosaicRule = _mosaicRules["None"];
            _rulePickerButton.Text         = "Rule: None";
        }
        private async Task LoadRenderingRules()
        {
            // Create a new image service raster from the Uri.
            ImageServiceRaster imageServiceRaster = new ImageServiceRaster(_myUri);

            try
            {
                // Load the image service raster.
                await imageServiceRaster.LoadAsync();

                // Get the ArcGIS image service info (metadata) from the image service raster.
                ArcGISImageServiceInfo arcGISImageServiceInfo = imageServiceRaster.ServiceInfo;

                // Get the full extent envelope of the image service raster (the Charlotte, NC area).
                Envelope myEnvelope = arcGISImageServiceInfo.FullExtent;

                // Define a new view point from the full extent envelope.
                Viewpoint viewPoint = new Viewpoint(myEnvelope);

                // Zoom to the area of the full extent envelope of the image service raster.
                await _myMapView.SetViewpointAsync(viewPoint);

                // Get the rendering rule info (i.e. definitions of how the image should be drawn) info from the image service raster.
                _renderRuleInfos = arcGISImageServiceInfo.RenderingRuleInfos;

                // Define an index counter to be used by the UISegmentedControl.
                int counter = 0;

                // Loop through each rendering rule info.
                foreach (RenderingRuleInfo renderingRuleInfo in _renderRuleInfos)
                {
                    // Get the name of the rendering rule info.
                    string renderingRuleName = renderingRuleInfo.Name;

                    // Add the rendering rule info name to the UISegmentedControl.
                    _rulePicker.InsertSegment(renderingRuleName, counter, false);

                    // Increment the counter for adding segments into the UISegmentedControl.
                    counter++;
                }
            }
            catch (Exception e)
            {
                new UIAlertView("Error", e.ToString(), (IUIAlertViewDelegate)null, "OK", null).Show();
            }
        }
        private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            var map = new Map(BasemapType.DarkGrayCanvasVector, 39.8283, -98.5795, 5);

            //add map image layer
            var mapImageUri = new Uri("http://sampleserver5.arcgisonline.com/arcgis/rest/services/Elevation/WorldElevations/MapServer");
            ArcGISMapImageLayer imageLayer = new ArcGISMapImageLayer(mapImageUri);

            map.OperationalLayers.Add(imageLayer);

            //add map tiled layer
            var tileUri = new Uri("http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer");
            ArcGISTiledLayer tiledLayer = new ArcGISTiledLayer(tileUri);

            map.OperationalLayers.Add(tiledLayer);

            //add vector tile layer
            var vectorUri = new Uri("http://www.arcgis.com/home/item.html?id=75f4dfdff19e445395653121a95a85db");
            ArcGISVectorTiledLayer vector = new ArcGISVectorTiledLayer(vectorUri);

            map.OperationalLayers.Add(vector);

            //add raster layer
            var rasterUri = new Uri("http://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer");
            ImageServiceRaster rasterService = new ImageServiceRaster(rasterUri); // Create new image service raster from the Uri
            await rasterService.LoadAsync();                                      // Load the image service raster

            RasterLayer raster = new RasterLayer(rasterService);                  // Create a new raster layer from the image service raster

            map.OperationalLayers.Add(raster);                                    // Add the raster layer to the maps layer collection

            //Add feature layer us cities
            var          featUri  = new Uri("http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/0");
            FeatureLayer usCities = new FeatureLayer(featUri);

            map.OperationalLayers.Add(usCities);

            //add feature layer world cities
            var          featUri1    = new Uri("http://sampleserver6.arcgisonline.com/arcgis/rest/services/SampleWorldCities/MapServer/0");
            FeatureLayer worldCities = new FeatureLayer(featUri1);

            map.OperationalLayers.Add(worldCities);

            MyMapView.Map = map;
        }
        public async Task LoadRenderingRules()
        {
            // Create a new image service raster from the Uri
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(_myUri);

            // Load the image service raster
            await myImageServiceRaster.LoadAsync();

            // Get the ArcGIS image service info (metadata) from the image service raster
            ArcGISImageServiceInfo myArcGISImageServiceInfo = myImageServiceRaster.ServiceInfo;

            // Get the full extent envelope of the image service raster (the Charlotte, NC area)
            Envelope myEnvelope = myArcGISImageServiceInfo.FullExtent;

            // Define a new view point from the full extent envelope
            Viewpoint myViewPoint = new Viewpoint(myEnvelope);

            // Zoom to the area of the full extent envelope of the image service raster
            await _myMapView.SetViewpointAsync(myViewPoint);

            // Get the rendering rule info (i.e. definitions of how the image should be drawn) info from the image service raster
            _myReadOnlyListRenderRuleInfos = myArcGISImageServiceInfo.RenderingRuleInfos;

            // Define an index counter to be used by the UISegmentedControl
            int myCounter = 0;

            // Loop through each rendering rule info
            foreach (RenderingRuleInfo myRenderingRuleInfo in _myReadOnlyListRenderRuleInfos)
            {
                // Get the name of the rendering rule info
                string myRenderingRuleName = myRenderingRuleInfo.Name;

                // Add the rendering rule info name to the UISegmentedControl
                _myUISegmentedControl.InsertSegment(myRenderingRuleName, myCounter, false);

                // Increment the counter for adding segments into the UISegmentedControl
                myCounter = myCounter + 1;
            }
        }
        private void _segmentControl_ValueChanged(object sender, EventArgs e)
        {
            // Get the index number of the user choice of render rule names.
            nint selectedSegmentId = ((UISegmentedControl)sender).SelectedSegment;

            // Get the rendering rule info name from the UISegmentedControl that was chosen by the user.
            string selectedRuleName = ((UISegmentedControl)sender).TitleAt(selectedSegmentId);

            // Loop through each rendering rule info in the image service raster.
            foreach (RenderingRuleInfo renderingRuleInfo in _renderRuleInfos)
            {
                // Get the name of the rendering rule info.
                string renderingRuleName = renderingRuleInfo.Name;

                // If the name of the rendering rule info matches what was chosen by the user, proceed.
                if (renderingRuleName == selectedRuleName)
                {
                    // Create a new rendering rule from the rendering rule info.
                    RenderingRule renderingRule = new RenderingRule(renderingRuleInfo);

                    // Create a new image service raster.
                    ImageServiceRaster imageServiceRaster2 = new ImageServiceRaster(_myUri)
                    {
                        // Set the image service raster's rendering rule to the rendering rule created earlier.
                        RenderingRule = renderingRule
                    };

                    // Create a new raster layer from the image service raster.
                    RasterLayer rasterLayer = new RasterLayer(imageServiceRaster2);

                    // Add the raster layer to the operational layers of the  map view.
                    _myMapView.Map.OperationalLayers.Add(rasterLayer);

                    // Stop iterating once match is found.
                    break;
                }
            }
        }
Esempio n. 19
0
        private async Task <Layer> GetForestDataLayerAsync()
        {
            try
            {
                AuthenticationManager.Current.ChallengeHandler = new ChallengeHandler(CredentialService.CreateCredential);

                //var uri = new Uri("https://geodata.holmen.com/arcgis/rest/services/Baskartor/Fj%C3%A4llkartan/MapServer");

                //var layer = new ArcGISMapImageLayer(uri)
                //{
                //    Id = LayerConstansts.ForestDataId
                //};

                //await layer.LoadAsync();

                //return layer;

                var uri = new Uri("https://geodata.skogsstyrelsen.se/arcgis/rest/services/Publikt/SkogligaGrunddata_1_2/ImageServer");

                ImageServiceRaster imageServiceRaster = new ImageServiceRaster(uri);

                await imageServiceRaster.LoadAsync();

                RasterLayer rasterLayer = new RasterLayer(imageServiceRaster)
                {
                    Id        = LayerConstansts.ForestDataId,
                    IsVisible = false
                };

                return(rasterLayer);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            return(null);
        }
        private void Initialize()
        {
            // Create new map with the dark gray canvas basemap.
            Map myMap = new Map(BasemapStyle.ArcGISDarkGray);

            // Create a Uri to the image service raster.
            Uri myUri = new Uri("https://gis.ngdc.noaa.gov/arcgis/rest/services/bag_hillshades/ImageServer");

            // Create new image service raster from the Uri.
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(myUri);

            // Create a new raster layer from the image service raster.
            RasterLayer myRasterLayer = new RasterLayer(myImageServiceRaster);

            // Add the raster layer to the maps layer collection.
            myMap.OperationalLayers.Add(myRasterLayer);

            // Assign the map to the map view.
            _myMapView.Map = myMap;

            // Zoom in to the San Francisco Bay.
            _myMapView.SetViewpointCenterAsync(new MapPoint(-13643095.660131, 4550009.846004, SpatialReferences.WebMercator), 100000);
        }
Esempio n. 21
0
        private void SelectRenderingRule(RenderingRuleInfo renderingRuleInfo)
        {
            // Create a new rendering rule from the rendering rule info.
            RenderingRule renderingRule = new RenderingRule(renderingRuleInfo);

            // Create a new image service raster.
            ImageServiceRaster imageServiceRaster = new ImageServiceRaster(_myUri)
            {
                // Set the image service raster's rendering rule to the rendering rule created earlier.
                RenderingRule = renderingRule
            };

            // Create a new raster layer from the image service raster.
            RasterLayer rasterLayer = new RasterLayer(imageServiceRaster);

            // Clear the existing layer from the map.
            _myMapView.Map.OperationalLayers.Clear();

            // Add the raster layer to the operational layers of the  map view.
            _myMapView.Map.OperationalLayers.Add(rasterLayer);

            // Update the label.
            _selectionLabel.Text = $"Rule \"{renderingRuleInfo.Name}\" selected.";
        }
Esempio n. 22
0
        private async void Initialize()
        {
            // Create new map with the streets basemap.
            Map myMap = new Map(Basemap.CreateStreets());

            // Create a URI to the image service raster.
            Uri rasterUri = new Uri("https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer");

            // Create new image service raster from the URI.
            ImageServiceRaster imageServiceRaster = new ImageServiceRaster(rasterUri);

            try
            {
                // Load the image service raster.
                await imageServiceRaster.LoadAsync();

                // NOTE: This is the ASCII text for actual raw JSON string:
                // ========================================================
                //{
                //  "raster_function_arguments":
                //  {
                //    "z_factor":{"double":25.0,"type":"Raster_function_variable"},
                //    "slope_type":{"raster_slope_type":"none","type":"Raster_function_variable"},
                //    "azimuth":{"double":315,"type":"Raster_function_variable"},
                //    "altitude":{"double":45,"type":"Raster_function_variable"},
                //    "type":"Raster_function_arguments",
                //    "raster":{"name":"raster","is_raster":true,"type":"Raster_function_variable"},
                //    "nbits":{"int":8,"type":"Raster_function_variable"}
                //  },
                //  "raster_function":{"type":"Hillshade_function"},
                //  "type":"Raster_function_template"
                //}

                // Define the JSON string needed for the raster function
                const string theJsonString = @"{
                ""raster_function_arguments"":
                {
                  ""z_factor"":{ ""double"":25.0,""type"":""Raster_function_variable""},
                  ""slope_type"":{ ""raster_slope_type"":""none"",""type"":""Raster_function_variable""},
                  ""azimuth"":{ ""double"":315,""type"":""Raster_function_variable""},
                  ""altitude"":{ ""double"":45,""type"":""Raster_function_variable""},
                  ""type"":""Raster_function_arguments"",
                  ""raster"":{ ""name"":""raster"",""is_raster"":true,""type"":""Raster_function_variable""},
                  ""nbits"":{ ""int"":8,""type"":""Raster_function_variable""}
                },
              ""raster_function"":{ ""type"":""Hillshade_function""},
              ""type"":""Raster_function_template""
            }";

                // Create a raster function from the JSON string using the static/Shared method called: RasterFunction.FromJson(JSON as String).
                RasterFunction rasterFunction = RasterFunction.FromJson(theJsonString);

                // NOTE: You could have alternatively created the raster function via a JSON string that is contained in a
                // file on disk (ex: hillshade_simplified.json) via the constructor: Esri.ArcGISRuntime.Rasters.RasterFunction(path as String).

                // Get the raster function arguments.
                RasterFunctionArguments rasterFunctionArguments = rasterFunction.Arguments;

                // Get the list of names from the raster function arguments.
                IReadOnlyList <string> myRasterNames = rasterFunctionArguments.GetRasterNames();

                // Apply the first raster name and image service raster in the raster function arguments.
                rasterFunctionArguments.SetRaster(myRasterNames[0], imageServiceRaster);

                // Create a new raster based on the raster function.
                Raster raster = new Raster(rasterFunction);

                // Create a new raster layer from the raster.
                RasterLayer rasterLayer = new RasterLayer(raster);

                // Add the raster layer to the maps layer collection.
                myMap.Basemap.BaseLayers.Add(rasterLayer);

                // Assign the map to the map view.
                _myMapView.Map = myMap;

                // Get the service information (aka. metadata) about the image service raster.
                ArcGISImageServiceInfo arcGISImageServiceInfo = imageServiceRaster.ServiceInfo;

                // Zoom the map to the extent of the image service raster (which also the extent of the raster layer).
                await _myMapView.SetViewpointGeometryAsync(arcGISImageServiceInfo.FullExtent);
            }
            catch (Exception e)
            {
                new UIAlertView("Error", e.ToString(), (IUIAlertViewDelegate)null, "OK", null).Show();
            }
        }
        private async void Initialize()
        {
            // Create new map with the streets basemap
            Map myMap = new Map(Basemap.CreateStreets());

            // Create a Uri to the image service raster
            Uri myUri = new Uri("https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer");

            // Create new image service raster from the Uri
            ImageServiceRaster myImageServiceRaster = new ImageServiceRaster(myUri);

            try
            {
                // Load the image service raster
                await myImageServiceRaster.LoadAsync();

                // NOTE: This is the ASCII text for actual raw JSON string:
                // ========================================================
                //{
                //  "raster_function_arguments":
                //  {
                //    "z_factor":{"double":25.0,"type":"Raster_function_variable"},
                //    "slope_type":{"raster_slope_type":"none","type":"Raster_function_variable"},
                //    "azimuth":{"double":315,"type":"Raster_function_variable"},
                //    "altitude":{"double":45,"type":"Raster_function_variable"},
                //    "type":"Raster_function_arguments",
                //    "raster":{"name":"raster","is_raster":true,"type":"Raster_function_variable"},
                //    "nbits":{"int":8,"type":"Raster_function_variable"}
                //  },
                //  "raster_function":{"type":"Hillshade_function"},
                //  "type":"Raster_function_template"
                //}

                // Define the JSON string needed for the raster function
                string theJSON_String =
                    @"{
                ""raster_function_arguments"":
                {
                  ""z_factor"":{ ""double"":25.0,""type"":""Raster_function_variable""},
                  ""slope_type"":{ ""raster_slope_type"":""none"",""type"":""Raster_function_variable""},
                  ""azimuth"":{ ""double"":315,""type"":""Raster_function_variable""},
                  ""altitude"":{ ""double"":45,""type"":""Raster_function_variable""},
                  ""type"":""Raster_function_arguments"",
                  ""raster"":{ ""name"":""raster"",""is_raster"":true,""type"":""Raster_function_variable""},
                  ""nbits"":{ ""int"":8,""type"":""Raster_function_variable""}
                },
              ""raster_function"":{ ""type"":""Hillshade_function""},
              ""type"":""Raster_function_template""
            }";

                // Create a raster function from the JSON string using the static/Shared method called: RasterFunction.FromJson(json as String)
                RasterFunction myRasterFunction = RasterFunction.FromJson(theJSON_String);

                // NOTE: Depending on your platform/device, you could have alternatively created the raster function via a JSON string that is contained in a
                // file on disk (ex: hillshade_simplified.json) via the constructor: Esri.ArcGISRuntime.Rasters.RasterFunction(path as String)

                // Get the raster function arguments
                RasterFunctionArguments myRasterFunctionArguments = myRasterFunction.Arguments;

                // Get the list of names from the raster function arguments
                IReadOnlyList <string> myRasterNames = myRasterFunctionArguments.GetRasterNames();

                // Apply the first raster name and image service raster in the raster function arguments
                myRasterFunctionArguments.SetRaster(myRasterNames[0], myImageServiceRaster);

                // Create a new raster based on the raster function
                Raster myRaster = new Raster(myRasterFunction);

                // Create a new raster layer from the raster
                RasterLayer myRasterLayer = new RasterLayer(myRaster);

                // Add the raster layer to the maps layer collection
                myMap.Basemap.BaseLayers.Add(myRasterLayer);

                // Assign the map to the map view
                _myMapView.Map = myMap;

                // Get the service information (aka. metadata) about the image service raster
                ArcGISImageServiceInfo myArcGISImageServiceInfo = myImageServiceRaster.ServiceInfo;

                // Zoom the map to the extent of the image service raster (which also the extent of the raster layer)
                await _myMapView.SetViewpointGeometryAsync(myArcGISImageServiceInfo.FullExtent);

                // NOTE: The sample zooms to the extent of the ImageServiceRaster. Currently the ArcGIS Runtime does not
                // support zooming a RasterLayer out beyond 4 times it's published level of detail. The sample uses
                // MapView.SetViewpointCenterAsync() method to ensure the image shows when the app starts. You can see
                // the effect of the image service not showing when you zoom out to the full extent of the image and beyond.
            }
            catch (Exception e)
            {
                new AlertDialog.Builder(this).SetMessage(e.ToString()).SetTitle("Error").Show();
            }
        }