View on GitHub Sample viewer app

Create and use a raster layer made from a local raster file.

Image of add raster from file

Use case

Rasters can be digital aerial photographs, imagery from satellites, digital pictures, or even scanned maps. An end-user will frequently need to import raster files acquired through various data-collection methods into their map to view and analyze the data.

How to use the sample

When the sample starts, a raster will be loaded from a file and displayed in the map view.

How it works

  1. Create a Raster from a raster file.
  2. Create a RasterLayer from the raster.
  3. Add it as an operational layer with map.getOperationalLayers().add(rasterLayer).

Relevant API

  • Raster
  • RasterLayer

Additional information

See the topic Introduction to image and raster data in the ArcGIS Pro documentation for more information about raster images.

This sample uses the GeoView-Compose Toolkit module to be able to implement a composable MapView.

Tags

data, geoview-compose, image, import, layer, raster, toolkit, visualization

Sample Code

DownloadActivity.kt DownloadActivity.kt MainActivity.kt AddRasterFromFileViewModel.kt AddRasterFromFileScreen.kt
/* Copyright 2024 Esri
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.esri.arcgismaps.sample.addrasterfromfile
import android.content.Intent
import android.os.Bundle
import com.esri.arcgismaps.sample.sampleslib.DownloaderActivity
import kotlin.collections.listOf
import kotlin.jvm.java
class DownloadActivity : DownloaderActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
downloadAndStartSample(
Intent(this, MainActivity::class.java),
// get the app name of the sample
getString(R.string.add_raster_from_file_app_name),
listOf(
"https://arcgisruntime.maps.arcgis.com/home/item.html?id=7c4c679ab06a4df19dc497f577f111bd"
)
)
}
}