FeatureTableLoadAsync Method |
Namespace: Esri.ArcGISRuntime.Data
public Task LoadAsync()
Android
Example Name: WfsXmlQuery
Load a WFS feature table using an XML query.
// Copyright 2019 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. using Android.App; using Android.OS; using Android.Widget; using Esri.ArcGISRuntime.Data; using Esri.ArcGISRuntime.Mapping; using Esri.ArcGISRuntime.UI.Controls; using System; using Debug = System.Diagnostics.Debug; namespace ArcGISRuntimeXamarin.Samples.WfsXmlQuery { [Activity (ConfigurationChanges=Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)] [ArcGISRuntime.Samples.Shared.Attributes.Sample( "Load WFS with XML query", "Layers", "Load a WFS feature table using an XML query.", "")] public class WfsXmlQuery : Activity { // Create and hold a reference to the MapView. private readonly MapView _myMapView = new MapView(); // To learn more about specifying filters in OGC technologies, see https://www.opengeospatial.org/standards/filter. private const string XmlQuery = @" <wfs:GetFeature service=""WFS"" version=""2.0.0"" xmlns:Seattle_Downtown_Features=""https://dservices2.arcgis.com/ZQgQTuoyBrtmoGdP/arcgis/services/Seattle_Downtown_Features/WFSServer"" xmlns:wfs=""http://www.opengis.net/wfs/2.0"" xmlns:fes=""http://www.opengis.net/fes/2.0"" xmlns:gml=""http://www.opengis.net/gml/3.2""> <wfs:Query typeNames=""Seattle_Downtown_Features:Trees""> <fes:Filter> <fes:PropertyIsLike wildCard=""*"" escapeChar=""\""> <fes:ValueReference>Trees:SCIENTIFIC</fes:ValueReference> <fes:Literal>Tilia *</fes:Literal> </fes:PropertyIsLike> </fes:Filter> </wfs:Query> </wfs:GetFeature> "; // Constants for the table name and URL. private const string TableUrl = "https://dservices2.arcgis.com/ZQgQTuoyBrtmoGdP/arcgis/services/Seattle_Downtown_Features/WFSServer?service=wfs&request=getcapabilities"; // Note that the layer name is defined by the service. The layer name can be accessed via WfsLayerInfo.Name. private const string LayerName = "Seattle_Downtown_Features:Trees"; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); Title = "Load WFS with XML query"; CreateLayout(); Initialize(); } private async void Initialize() { // Create the map with basemap. _myMapView.Map = new Map(Basemap.CreateNavigationVector()); try { // Create the WFS feature table from URL and name. WfsFeatureTable wfsTable = new WfsFeatureTable(new Uri(TableUrl), LayerName); // Set the feature request mode to manual. Only calls to PopulateFromService will load features. // Features will not be populated automatically when the user pans and zooms the layer. wfsTable.FeatureRequestMode = FeatureRequestMode.ManualCache; // Load the WFS feature table. await wfsTable.LoadAsync(); // Create a feature layer to visualize the WFS feature table. FeatureLayer statesLayer = new FeatureLayer(wfsTable); // Add the layer to the map. _myMapView.Map.OperationalLayers.Add(statesLayer); // Populate the WFS feature table with the XML query. await wfsTable.PopulateFromServiceAsync(XmlQuery, true); // Zoom to the extent of the query results. await _myMapView.SetViewpointGeometryAsync(wfsTable.Extent, 50); } catch (Exception e) { Debug.WriteLine(e.ToString()); new AlertDialog.Builder(this).SetMessage(e.ToString()).SetTitle("Couldn't populate table with XML query.").Show(); } } private void CreateLayout() { // Create a new vertical layout for the app. var layout = new LinearLayout(this) { Orientation = Orientation.Vertical }; // Add the map view to the layout. layout.AddView(_myMapView); // Show the layout in the app. SetContentView(layout); } } }
Xamarin Forms Android
Example Name: FeatureLayerGeodatabase
Display features from a local geodatabase.
// Copyright 2018 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. using System; using ArcGISRuntime.Samples.Managers; using Esri.ArcGISRuntime.Data; using Esri.ArcGISRuntime.Mapping; using Xamarin.Forms; namespace ArcGISRuntime.Samples.FeatureLayerGeodatabase { [ArcGISRuntime.Samples.Shared.Attributes.Sample( "Feature layer (geodatabase)", "Data", "This sample demonstrates how to consume an Esri .geodatabase file (aka. mobile geodatabase) by using a FeatureLayer and a GeodatabaseFeatureTable.", "The mobile geodatabase (.geodatabase file) will be downloaded from an ArcGIS Online portal automatically from the Url: https://www.arcgis.com/home/item.html?id=2b0f9e17105847809dfeb04e3cad69e0.", "")] [ArcGISRuntime.Samples.Shared.Attributes.OfflineData("2b0f9e17105847809dfeb04e3cad69e0")] public partial class FeatureLayerGeodatabase : ContentPage { public FeatureLayerGeodatabase() { InitializeComponent(); // Open a mobile geodatabase (.geodatabase file) stored locally and add it to the map as a feature layer. Initialize(); } private async void Initialize() { // Create a new map to display in the map view with a streets basemap. MyMapView.Map = new Map(Basemap.CreateStreets()); // Get the path to the downloaded mobile geodatabase (.geodatabase file). string mobileGeodatabaseFilePath = GetMobileGeodatabasePath(); try { // Open the mobile geodatabase. Geodatabase mobileGeodatabase = await Geodatabase.OpenAsync(mobileGeodatabaseFilePath); // Get the 'Trailheads' geodatabase feature table from the mobile geodatabase. GeodatabaseFeatureTable trailheadsGeodatabaseFeatureTable = mobileGeodatabase.GeodatabaseFeatureTable("Trailheads"); // Asynchronously load the 'Trailheads' geodatabase feature table. await trailheadsGeodatabaseFeatureTable.LoadAsync(); // Create a feature layer based on the geodatabase feature table. FeatureLayer trailheadsFeatureLayer = new FeatureLayer(trailheadsGeodatabaseFeatureTable); // Add the feature layer to the operations layers collection of the map. MyMapView.Map.OperationalLayers.Add(trailheadsFeatureLayer); // Zoom the map to the extent of the feature layer. await MyMapView.SetViewpointGeometryAsync(trailheadsFeatureLayer.FullExtent, 50); } catch (Exception e) { await Application.Current.MainPage.DisplayAlert("Error", e.ToString(), "OK"); } } private static string GetMobileGeodatabasePath() { // Use samples viewer's DataManager helper class to get the path of the downloaded dataset on disk. // NOTE: The url for the actual data is: https://www.arcgis.com/home/item.html?id=2b0f9e17105847809dfeb04e3cad69e0. return DataManager.GetDataFolder("2b0f9e17105847809dfeb04e3cad69e0", "LA_Trails.geodatabase"); } } }
<?xml version="1.0" encoding="utf-8" ?> <ContentPage 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" xmlns:mapping="clr-namespace:Esri.ArcGISRuntime.Mapping;assembly=Esri.ArcGISRuntime" x:Class="ArcGISRuntime.Samples.FeatureLayerGeodatabase.FeatureLayerGeodatabase"> <esriUI:MapView x:Name="MyMapView"/> </ContentPage>
Hyperlink to Example | Description |
---|---|
DisplayWfs | Display a layer from a WFS service, requesting only features for the current extent. |
EditAndSyncFeatures | Synchronize offline edits with a feature service. |
FeatureLayerGeodatabase | Display features from a local geodatabase. |
FindServiceAreasForMultipleFacilities | Find the service areas of several facilities from a feature service. |
GenerateGeodatabase | Generate a local geodatabase from an online feature service. |
GeodatabaseTransactions | This sample demonstrates how to manage edits to a local geodatabase inside of transactions. |
StatsQueryGroupAndSort | Query a feature table for statistics, grouping and sorting by different fields. |
WfsXmlQuery | Load a WFS feature table using an XML query. |