<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Obtain attribute values for a selected feature in ArcGIS Pro SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875439#M5388</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are several examples of clicking on a map and obtaining the layer name and it's feature count ...&amp;nbsp;&lt;/P&gt;&lt;P&gt;var lyrs = mv.Map.GetLayersAsFlattenedList().OfType&amp;lt;FeatureLayer&amp;gt;();&lt;BR /&gt; foreach (var lyr in lyrs)&lt;BR /&gt; {&lt;BR /&gt; var fCnt = features.ContainsKey(lyr) ? features[lyr].Count : 0;&lt;BR /&gt; sb.AppendLine($@"{fCnt} {(fCnt == 1 ? "record" : "records")} for {lyr.Name}");&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;or using&amp;nbsp;&lt;SPAN&gt;kvp.Key.Name, kvp.Value.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;... but I have not found any examples of obtaining the attributes themselves ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe something similar to the old school way of ...&lt;/P&gt;&lt;P&gt;lfieldindex&amp;nbsp;= pfeature.Fields.FindField("XYZfield")&lt;/P&gt;&lt;P&gt;pfeature.value(&lt;SPAN&gt;lfieldindex&lt;/SPAN&gt;)&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm new programming in Pro and having a hard time finding out how to access the data for my selected feature.&amp;nbsp; In my instance it would be a single feature based off a point sketch.&amp;nbsp; Does "MapMember" play a role here?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Jan 2019 22:35:04 GMT</pubDate>
    <dc:creator>KarenRobbins</dc:creator>
    <dc:date>2019-01-18T22:35:04Z</dc:date>
    <item>
      <title>Obtain attribute values for a selected feature</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875439#M5388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are several examples of clicking on a map and obtaining the layer name and it's feature count ...&amp;nbsp;&lt;/P&gt;&lt;P&gt;var lyrs = mv.Map.GetLayersAsFlattenedList().OfType&amp;lt;FeatureLayer&amp;gt;();&lt;BR /&gt; foreach (var lyr in lyrs)&lt;BR /&gt; {&lt;BR /&gt; var fCnt = features.ContainsKey(lyr) ? features[lyr].Count : 0;&lt;BR /&gt; sb.AppendLine($@"{fCnt} {(fCnt == 1 ? "record" : "records")} for {lyr.Name}");&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;or using&amp;nbsp;&lt;SPAN&gt;kvp.Key.Name, kvp.Value.Count&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;... but I have not found any examples of obtaining the attributes themselves ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe something similar to the old school way of ...&lt;/P&gt;&lt;P&gt;lfieldindex&amp;nbsp;= pfeature.Fields.FindField("XYZfield")&lt;/P&gt;&lt;P&gt;pfeature.value(&lt;SPAN&gt;lfieldindex&lt;/SPAN&gt;)&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm new programming in Pro and having a hard time finding out how to access the data for my selected feature.&amp;nbsp; In my instance it would be a single feature based off a point sketch.&amp;nbsp; Does "MapMember" play a role here?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jan 2019 22:35:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875439#M5388</guid>
      <dc:creator>KarenRobbins</dc:creator>
      <dc:date>2019-01-18T22:35:04Z</dc:date>
    </item>
    <item>
      <title>Re: Obtain attribute values for a selected feature</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875440#M5389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is actually an indexer built-in to the Feature (and Row) class. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have a Feature variable named &lt;EM&gt;feature&lt;/EM&gt;, and want to read the value of the &lt;EM&gt;XYZfield&lt;/EM&gt; field you can just do the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="line-numbers language-csharp"&gt;&lt;CODE&gt;feature&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"XYZField"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;More info is in this section of the &lt;A href="https://github.com/esri/arcgis-pro-sdk/wiki/ProConcepts-Geodatabase#working-with-rows-and-features"&gt;geodatabase conceptual doc&lt;/A&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jan 2019 22:47:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875440#M5389</guid>
      <dc:creator>RichRuh</dc:creator>
      <dc:date>2019-01-18T22:47:04Z</dc:date>
    </item>
    <item>
      <title>Re: Obtain attribute values for a selected feature</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875441#M5390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Right now I only have &lt;STRONG&gt;results&lt;/STRONG&gt; from a mouse click (I do not have a&amp;nbsp;variable feature) ...&lt;/P&gt;&lt;P&gt;Can I obtain the field info via results or do I need feature?&amp;nbsp; I am a newb and not 100% sure how to&amp;nbsp;instantiate feature.&amp;nbsp; Here is what I have ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN style="font-size: 12px;"&gt;using ...&lt;/SPAN&gt;
...
&lt;SPAN style="font-size: 12px;"&gt;namespace AddMgtPro&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt;{&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; internal class ClickToolLyr : MapTool&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; {&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; public ClickToolLyr()&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; {&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; IsSketchTool = true;&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; SketchType = SketchGeometryType.Point; //Sketch Geometry Type&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; //To perform a interactive selection or identify in 3D or 2D, sketch must be created in screen coordinates.&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; SketchOutputMode = SketchOutputMode.Map; // Map or Screen&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; }&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; public class Globals&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; {&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; public static Int32 px;&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; public static Int32 py;&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; UserForm1 frm = new UserForm1();&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; }&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; protected override Task&amp;lt;bool&amp;gt; OnSketchCompleteAsync(Geometry geometry) //Sketch Callback&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; {&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; return QueuedTask.Run(() =&amp;gt;&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; {&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; var mapView = MapView.Active;&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; //Get all the features that intersect the sketch geometry (point). &lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; var results = mapView.GetFeatures(geometry);&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; MapPoint mp = (MapPoint)geometry;&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; Globals.px = Convert.ToInt32(mp.X);&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; Globals.py = Convert.ToInt32(mp.Y);&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; //Populate form with XY values from the sketch geometry (point).&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; UserForm1 frm = new UserForm1();&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; frm.Tbx_XFromMap.Text = Globals.px.ToString();&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; frm.Tbx_YFromMap.Text = Globals.py.ToString();&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; //NEED: Populate form with "PIN" value from Parcels layer&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; //NEED: Populate form with "InVillage" value from Village Boundary layer&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; //NEED: Search spatially from sketch geometery to find the closest street segment&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; //NEED: Populate form with "StreetID" from closest street segement from Streets layer&lt;/SPAN&gt;
 
&lt;SPAN style="font-size: 12px;"&gt; //Show a message box reporting each layer the number of the features. (From sample script)&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; MessageBox.Show(&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; String.Join("\n", results.Select(kvp =&amp;gt; String.Format("{0}: {1}", kvp.Key.Name, kvp.Value.Count()))),&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; "Identify Result");&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; //Show the interactive form with populated data.&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; frm.ShowDialog();&lt;/SPAN&gt;

&lt;SPAN style="font-size: 12px;"&gt; return true;&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; });&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; }&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt; }&lt;/SPAN&gt;
&lt;SPAN style="font-size: 12px;"&gt;}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:58:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875441#M5390</guid>
      <dc:creator>KarenRobbins</dc:creator>
      <dc:date>2021-12-12T10:58:51Z</dc:date>
    </item>
    <item>
      <title>Re: Obtain attribute values for a selected feature</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875442#M5391</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was able to do this:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: green;"&gt;// get the currently selected features in the map&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; selectedFeatures = mapView.Map.GetSelection();&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: green;"&gt;// get the first layer and its corresponding selected feature OIDs&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; firstSelectionSet = selectedFeatures.First();&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: green;"&gt;// create an instance of the inspector class&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; inspector = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;new&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; ArcGIS.Desktop.Editing.Attributes.Inspector();&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: green;"&gt;// load the selected features into the inspector using a list of object IDs&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inspector.Load(firstSelectionSet.Key, firstSelectionSet.Value);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: green;"&gt;//get the attribute value of the PIN&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; pscode = inspector[&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515;"&gt;"PIN"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;];&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.Tbx_PINfromMap.Text = pscode.ToString();&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;And it works because the Parcel layer/feature happens to be the first one.&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;But ... I will also need to do this with another feature layer, so I need to be able to tell it which feature layer I want the info from ... any help?&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jan 2019 16:46:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875442#M5391</guid>
      <dc:creator>KarenRobbins</dc:creator>
      <dc:date>2019-01-21T16:46:51Z</dc:date>
    </item>
    <item>
      <title>Re: Obtain attribute values for a selected feature</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875443#M5392</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Karen,&lt;/P&gt;&lt;P&gt;So somewhere along the line I am thinking you saw "Map.GetSelection()" - perhaps in a sample - and decided on that as "the" way to go. In your case, I would suggest selecting directly off the layer - "parcels" - instead. Similar to arcobjects, feature layers support both a Select and a Search method - the select will highlight the features on the map whereas search does not and applies the selection to the underlying feature class (with no visible highlight).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To retrieve the list of layers from a Pro map or scene use the method "GetLayersAsFlattenedList" which I show below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also encourage you to google "LINQ expressions" and read a few tutorials on it - the syntax can be a little intimidating at first - a lot of the Pro SDK samples use LINQ as it is the preferred technique for selecting items from a .NET collection. The most common LINQ methods are "Where", "FirstOrDefault", and "OfType". In the code below, I&amp;nbsp;use the Pro SDK method "GetlayersAsFlattenedList()" on the Map, which I mentioned above, to return the&amp;nbsp;collection of the map's layers. I then use a LINQ expression "FirstOrDefault" and that funky "lambda" syntax "lyr =&amp;gt; lyr.Name ..." to select, from the returned list, &lt;STRONG&gt;either&lt;/STRONG&gt; the first layer with a matching name of "parcels" or &lt;STRONG&gt;null (t&lt;/STRONG&gt;hat is the purpose of "FirstOrDefault").&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The final code looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; parcels &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MapView&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Active&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Map&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;GetLayersAsFlattenedList&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;FirstOrDefault&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;lyr &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; lyr&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Name &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"parcels"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; FeatureLayer&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;parcels &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//parcels not found&lt;/SPAN&gt;

&amp;nbsp; &lt;SPAN class="keyword token"&gt;await&lt;/SPAN&gt; QueuedTask&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Run&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; sf &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;SpatialQueryFilter&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FilterGeometry &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; geometry&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SpatialRelationship &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; SpatialRelationship&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Intersects&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SubFields &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;select&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; parcels&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Select&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sf&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; rc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;FeatureLayer&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;parcels&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;GetSelection&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Search&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;rc&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;MoveNext&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; feature &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; rc&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Current &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; Feature&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; pin &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; feature&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"PIN"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;//etc&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To help you answer these questions:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 12px;"&gt;//NEED: Populate form with "InVillage" value from Village Boundary layer&lt;/SPAN&gt;
...
&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 12px;"&gt; //NEED: Populate form with "StreetID" from closest street segement from Streets layer&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest the following sample to help you with understanding how to populate a form:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/Esri/arcgis-pro-sdk-community-samples/tree/master/Framework/DockpaneSimple" rel="nofollow noopener noreferrer" target="_blank"&gt;DockpaneSimple sample&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It will introduce you to something called MVVM and how to add properties to your dock pane view model that get displayed on your dock pane view.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finding the nearest feature can be quite complicated. Geoprocessing has&amp;nbsp;Proximity tools and spatial joins are also possible. You could also use a brute force approach progressively selecting on the street layer with an incrementally increased buffer applied to your selection geometry and then filter the "hits" for the closest feature (see&amp;nbsp;&lt;A href="https://github.com/esri/arcgis-pro-sdk/wiki/ProSnippets-Geometry#nearest-point-versus-nearest-vertex" rel="nofollow noopener noreferrer" target="_blank"&gt;ProSnippets Geometry#nearest-point-versus-nearest-vertex&lt;/A&gt;)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:58:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875443#M5392</guid>
      <dc:creator>CharlesMacleod</dc:creator>
      <dc:date>2021-12-12T10:58:54Z</dc:date>
    </item>
    <item>
      <title>Re: Obtain attribute values for a selected feature</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875444#M5393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you so much for putting me on the right path.&amp;nbsp; (FYI - Jeremy Clark has some great resources on Lambda and LINQ that anyone needing to understand the syntax should check out!)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, of note, I was able to pretty easily do the Street search ... I just added a buffer to the map point and pull the first one it finds.&amp;nbsp; It is not the end of the world if it's a corner lot and it chooses the wrong one.&amp;nbsp; I account for that in my form.&lt;/P&gt;&lt;P&gt;var poly = GeometryEngine.Instance.Buffer(mp, 300);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also am not using a Dockpane.&amp;nbsp; I am using a Windows Form and I've got that already put together, so no worries there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Jan 2019 21:39:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/obtain-attribute-values-for-a-selected-feature/m-p/875444#M5393</guid>
      <dc:creator>KarenRobbins</dc:creator>
      <dc:date>2019-01-22T21:39:46Z</dc:date>
    </item>
  </channel>
</rss>

