Return Value
The geometry of this feature.
Exception | Description |
---|---|
ArcGIS.Core.Geometry.Exceptions.GeometryException | This feature's type of shape (i.e., geometry) is not supported. |
ArcGIS.Core.Data.Exceptions.GeodatabaseException | A geodatabase-related exception has occurred. |
// methods need to run on the MCT ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => { try { // open a gdb using (ArcGIS.Core.Data.Geodatabase gdb = new ArcGIS.Core.Data.Geodatabase( new FileGeodatabaseConnectionPath(new Uri(@"c:\Temp\MyDatabase.gdb")))) { //Open a featureClass using (ArcGIS.Core.Data.FeatureClass featureClass = gdb.OpenDataset<ArcGIS.Core.Data.FeatureClass>("Polygon")) { ArcGIS.Core.Data.QueryFilter filter = new ArcGIS.Core.Data.QueryFilter() { WhereClause = "OBJECTID = 6" }; // get the row using (ArcGIS.Core.Data.RowCursor rowCursor = featureClass.Search(filter, false)) { while (rowCursor.MoveNext()) { using (var row = rowCursor.Current) { long oid = row.GetObjectID(); // get the shape from the row ArcGIS.Core.Data.Feature feature = row as ArcGIS.Core.Data.Feature; Polygon polygon = feature.GetShape() as Polygon; // do something here } } } } } } catch (Exception ex) { // error - handle appropriately } });
//Change map frame extent to single feature with 10 percent buffer //Process on the worker thread await QueuedTask.Run(() => { //Reference the mapframe and its associated map MapFrame mf = layout.FindElement("Map Frame") as MapFrame; Map m = mf.Map; //Reference a feature layer and build a query (to return a single feature) FeatureLayer fl = m.FindLayers("GreatLakes").First() as FeatureLayer; QueryFilter qf = new QueryFilter(); string whereClause = "NAME = 'Lake Erie'"; qf.WhereClause = whereClause; //Zoom to the feature using (ArcGIS.Core.Data.RowCursor rowCursor = fl.Search(qf)) { while (rowCursor.MoveNext()) { //Get the shape from the row and set extent using (var feature = rowCursor.Current as ArcGIS.Core.Data.Feature) { Polygon polygon = feature.GetShape() as Polygon; Envelope env = polygon.Extent as Envelope; mf.SetCamera(env); //Zoom out 15 percent Camera cam = mf.Camera; cam.Scale = cam.Scale * 1.15; mf.SetCamera(cam); } } } });
Target Platforms: Windows 11, Windows 10