Select features in an ENC layer.
Use case
You can use selection to identify a feature and learn more about it. ENC layers often have many overlapping features, and features of mixed geometry, in a single layer, so the sample includes code for identifying the smallest feature, which is taken to be the most relevant.
How to use the sample
Tap to select ENC features. Feature properties will be displayed in a callout.
How it works
- Load and display the ENC layer.
- When the map view is tapped, call
mapView.IdentifyLayersAsync()
, specifying the tapped position, a tolerance, and false for thepopupsOnly
parameter. - Filter the list of identified layers to include only results where the
LayerContent
is anEncLayer
. - Get the first result with at least one feature.
- Get the first feature in the
IdentifyLayerResult
. - Select that feature by calling
identifyResult.LayerContent.SelectFeature(firstFeature)
. - Show the feature's acronym and description in a callout.
Relevant API
- EncFeature
- EncFeature.Acronym
- EncFeature.Description
- EncLayer
- GeometryEngine.Area
- IdentifyLayerResult
- IdentifyLayerResult.GeoElements
- IdentifyLayerResult.LayerContent
Offline data
This sample downloads the following items from ArcGIS Online automatically:
About the data
The sample uses ENC Exchange Set without updates a mock ENC data set, available on ArcGIS Online.
Tags
chart, hydrography, identify, IHO, maritime, S-57, S57, select, selection
Sample Code
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="ArcGISRuntime.Samples.SelectEncFeatures.SelectEncFeatures"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:esriUI="clr-namespace:Esri.ArcGISRuntime.Xamarin.Forms;assembly=Esri.ArcGISRuntime.Xamarin.Forms">
<Grid>
<esriUI:MapView x:Name="MyMapView" />
</Grid>
</ContentPage>