Select to view content in your preferred language

Assigning Name based on Spatial location.

655
3
12-12-2022 08:47 AM
NileshShingade
Emerging Contributor

Hello All, currently i am working on Water-related project. i have a water ponds and GPs(Grampanchyat) shapefiles. 

My question is I have to assign gram panchayat (GP) Name for each pond based on spatial location. currently, I am using Select by location tool (have their center in) to assign the GP name. But there are many GPs and to do this its time taking.

Is there any tool that I can use? or any other method?

0 Kudos
3 Replies
ALovell-ESRI
New Contributor

@NileshShingade - you might look to use a Spatial Join

ZacharyUhlmann1
Frequent Contributor

@ALovell-ESRI proposes the simplest solution for sure.  Step 1 at least.  

1) Spatial Join --> Export new Feature Class with GP table joined.  Perhaps just export

with the joined field of interest, gp_name.

2) Label based on the GP field.  Consider a Label Expression similar to below in EXPRESSION box.  

Note that below label expression you will replace "Pond Name" and "GP Loc" with whatever text you want.  You will also replace fields [OBJECTID] and [plot_type_code] with [<pond_name_field>] and [<GP_name_field>].  FYI - the syntax <pond_name_field> means "replace with the field name of pond from att table".  Ditto for <GP_name_field>. 

SEE the labels on map screenshot?

Good luck!

Zach

 label_exp.png

 

 

 

 

 

 

 

 

 

 

 

 

 

example_label.png

0 Kudos
by Anonymous User
Not applicable

You could also use an arcade expression in field calculator. Open the GPs attribute table, add a new field for the Pond name then right click on the new field and select "Calculate field". Change the Expression Type to Arcade and create an expression. Something like:

 

var GPs = Intersects($feature,FeatureSetByName($map,"Pond", ["Name"]));
return GPs.Name