Display features from a local geodatabase.
Use case
Accessing data from a local geodatabase is useful when working in an environment that has an inconsistent internet connection or that does not have an internet connection at all. For example, a department of transportation field worker might source map data from a local geodatabase when conducting signage inspections in rural areas with poor network coverage.
How it works
- Create a geodatabase using the provided local resource,
new Geodatabase(geodatabaseResourceUrl)
. - Wait for geodatabase to load.
- Get the 'Trailheads'
GeodatabaseFeatureTable
from the geodatabase,Geodatabase.GeodatabaseFeatureTable(tableName)
. - Create feature layer using the table from above,
new FeatureLayer(geodatabaseFeatureTable)
. - Add feature layer to
Map
withMap.OperationalLayers.Add(featureLayer)
.
Relevant API
- FeatureLayer
- Geodatabase
- GeodatabaseFeatureTable
Offline data
- Los Angeles Vector Tile Package - Streets Vector Tile Package (vtpk) for the City of Los Angeles.
- Los Angeles Trailheads - Mobile geodatabase containing LA trailhead locations
Additional information
One of the ArcGIS Runtime data set types that can be accessed via the local storage of the device (i.e. hard drive, flash drive, micro SD card, USB stick, etc.) is a mobile geodatabase. A mobile geodatabase can be provisioned for use in an ArcGIS Runtime application by ArcMap. The following provide some helpful tips on how to create a mobile geodatabase file:
In ArcMap, choose File > Share As > ArcGIS Runtime Content from the menu items to create the .geodatabase file (see the document: http://desktop.arcgis.com/en/arcmap/latest/map/working-with-arcmap/creating-arcgis-runtime-content.htm).
Note: You could also use the 'Services Pattern' and access the Geodatabase
class via a Feature Service served up via ArcGIS Online or ArcGIS Enterprise. Instead of using the Geodatabase
class to access the .geodatabase file on disk, you would use GeodatabaseSyncTask
to point to a Uri instead.
Tags
geodatabase, mobile, offline
Sample Code
<UserControl
x:Class="ArcGIS.UWP.Samples.FeatureLayerGeodatabase.FeatureLayerGeodatabase"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:esriUI="using:Esri.ArcGISRuntime.UI.Controls" >
<esriUI:MapView x:Name="MyMapView" />
</UserControl>