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 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 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 static ArcGISImageServiceProvider CreateProvider2() { var info = new ArcGISImageServiceInfo(); info.Url = "http://imagery.arcgisonline.com/ArcGIS/rest/services/LandsatGLS/FalseColor/ImageServer/exportImage"; info.Format = "jpgpng"; info.Interpolation = InterpolationType.NearestNeighbor; info.F = "image"; info.ImageSR = "102100"; info.BBoxSR = "102100"; info.Time = "157766400000,157766400000"; return(new ArcGISImageServiceProvider(info, true)); }
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 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 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 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(); } }
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 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(); } }
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(); } }