<?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 Re: Select Layer By Attribute User Input problem - Please help in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235319#M18281</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;...agree with Mathew - so your output is probably going to your default or scratch gdb...if you want it going somewhere else, you can set that with a statement, arcpy.env.workspace = r'pathname', where you substitute the appropriate pathname....or you can use the full pathname in your copy statement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, your else block doesn't look right with 'SUBSET_SELECTION'.&amp;nbsp; You said you want a 'layer', so if all you want is a feature later added to the map with the selection sourced to the orig data, you can use Make Feature Layer.&amp;nbsp; ...Save To Layer File is another means, basically saves the feature layer outside your map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I see where you are creating your layer citiesL...but you aren't really doing anything with it - could be entering a query there.&amp;nbsp; Also, I see where you are attempting to make outputlayer - I may be mistaken, but I think you have to use one of the Set commands, as in SetParameter...then at the script interface make sure you 'tell the tool' that it is output.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Enjoy,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Wayne&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Apr 2013 13:49:26 GMT</pubDate>
    <dc:creator>T__WayneWhitley</dc:creator>
    <dc:date>2013-04-08T13:49:26Z</dc:date>
    <item>
      <title>Select Layer By Attribute User Input problem - Please help</title>
      <link>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235317#M18279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm writing a script for a toolbox that gets user input to run a select layer by attribute and location tool on a cities shapefile that contains two fields of interest, cime index (CRIME_IND) and university status (UNIVERSITY), both integers.&amp;nbsp; The 1st part, select layer by attribute, results in a layer being saved (citiesL) with those attributes and is shown in the code below.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm having problems in getting the user to define which attributes to select, none, one or more than one.&amp;nbsp; If the user chooses to select only crime attributes ("CRIME_INDE" &amp;lt;= 0.02) then only those ones would be saved and if the user chooses to select crime and university status attributes ("CRIME_INDE" &amp;lt;=0.02 AND "UNIVERSITY" = 1) then both those sets of attributes would be saved to the layer file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Similarily, if the user does not fill in the required fields (by changing their default to nothing) then all the attributes of the cities layer would be effectively be saved to the layer file i.e. no selection by attribute.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I run the code in the toolbox it completes successfuly but no layer is saved (citiesL).&amp;nbsp; I'm not sure where I'm going wrong with this and would appreciate any help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;scottaidh&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
# script for user input tool based on select layer by location and attribute
# parameters within feature classes are optional
# scottaidh 8/4/13

# import system modules
import arcpy, os, traceback, arcpy
from arcpy import env
arcpy.env.overwriteOutput = True

# get user supplied path, layers and fields
path = arcpy.GetParameterAsText(0)

try :
 citiesFC = arcpy.GetParameterAsText(1) # cities Layer is cities Feature Layer
 crimefieldindex = arcpy.GetParameterAsText(2) # crime index is CRIME_INDE and is a Double integer
 whereClause1 = "{0} = '{1}'".format(arcpy.AddFieldDelimiters(citiesL, crimeField), crimefieldindex)
 crimeField = arcpy.GetParameterAsText(3) # crimeField is fieldname 'CRIME_INDE' SQL expression
 universityfieldindex = arcpy.GetParameterAsText(4) # universityfieldindex is the UNIVERSITY field and is DOUBLE integer
 whereClause2 = "{0} = '{1}'".format(arcpy.AddFieldDelimiters(citiesL, universityField), universityfieldindex)
 universityField = arcpy.GetParameterAsText(5) # universityField is fieldname 'UNIVERSITY' SQL expression
 outputlayer = arcpy.GetParameterAsText(6) # output layer name
 
 # make a layer from the cities feature class
 arcpy.MakeFeatureLayer_management(citiesFC, "citiesL")
 
 # select the attributes from citiesL from user input
 prj = ""
 prj2 = ""
 if prj.find("CRIME_INDE")&amp;gt;=0:
&amp;nbsp; crimecount = 1
&amp;nbsp; print 'using crime index'
 elif prj2.find("UNIVERSITY")&amp;gt;=1:
&amp;nbsp; unicount = 2
&amp;nbsp; print 'using university status'
&amp;nbsp; 
 # set field to determine where clause variables 1=crime 2=university 3=crime and university else: none selected
 usecityfield = crimecount + unicount
 
 if usecityfield == 1:
&amp;nbsp; arcpy.SelectLayerByAttribute_management("citiesL", "SUBSET_SELECTION", crimefieldindex)
&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "citycrime")
 elif usecityfield == 2:
&amp;nbsp; arcpy.SelectLayerByAttribute_management("citiesL", "SUBSET_SELECTION", universityfieldindex)
&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "cityuni")
 elif usecityfield == 3:
&amp;nbsp; arcpy.SelectLayerByAttribute_management("citiesL", "SUBSET_SELECTION", crimefieldindex + universityfieldindex)
&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "citycrimeuni")
 else:
&amp;nbsp; # write selected features to a new featureclass
&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "SUBSET_SELECTION")

except:
 print arcpy.GetMessages()
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Apr 2013 12:08:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235317#M18279</guid>
      <dc:creator>ScottMacDonald</dc:creator>
      <dc:date>2013-04-08T12:08:34Z</dc:date>
    </item>
    <item>
      <title>Re: Select Layer By Attribute User Input problem - Please help</title>
      <link>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235318#M18280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You seem to be missing some code. I don't see where you assign a value to your variable citiesL and I don't see where you have set your workspace.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Apr 2013 13:37:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235318#M18280</guid>
      <dc:creator>MathewCoyle</dc:creator>
      <dc:date>2013-04-08T13:37:36Z</dc:date>
    </item>
    <item>
      <title>Re: Select Layer By Attribute User Input problem - Please help</title>
      <link>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235319#M18281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;...agree with Mathew - so your output is probably going to your default or scratch gdb...if you want it going somewhere else, you can set that with a statement, arcpy.env.workspace = r'pathname', where you substitute the appropriate pathname....or you can use the full pathname in your copy statement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, your else block doesn't look right with 'SUBSET_SELECTION'.&amp;nbsp; You said you want a 'layer', so if all you want is a feature later added to the map with the selection sourced to the orig data, you can use Make Feature Layer.&amp;nbsp; ...Save To Layer File is another means, basically saves the feature layer outside your map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I see where you are creating your layer citiesL...but you aren't really doing anything with it - could be entering a query there.&amp;nbsp; Also, I see where you are attempting to make outputlayer - I may be mistaken, but I think you have to use one of the Set commands, as in SetParameter...then at the script interface make sure you 'tell the tool' that it is output.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Enjoy,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Wayne&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Apr 2013 13:49:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235319#M18281</guid>
      <dc:creator>T__WayneWhitley</dc:creator>
      <dc:date>2013-04-08T13:49:26Z</dc:date>
    </item>
    <item>
      <title>Re: Select Layer By Attribute User Input problem - Please help</title>
      <link>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235320#M18282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The workspace is navigated to by the user when the tool is run but anyway its "H:\working\FindSites.gdb\cities"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When the user runs the tool in ArcToolbox a pop-up menu appears similar to this with default paths etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Input workspace&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; H:\workspace\FindSites.gdb&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Input feature layer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "cities.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Input min crimeindex&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.02&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Input crimeindex field&amp;nbsp;&amp;nbsp;&amp;nbsp; 'CRIME_INDE'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Input min university&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Input uniindexfield&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'UNIVERSITY'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Input output name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "FoundSites.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need the user to be able to change anything and even not put in any attribute selections.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm tryin to write a user input non hard coded version (1) of the working hard-coded script (2) below.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you see what I mean now?&amp;nbsp; Any help would be very much appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Scottaidh&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(1) Generic&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# script for user input tool based on select layer by location and attribute&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# parameters within feature classes are optional&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# scottaidh 8/4/13&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# import system modules&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy, os, traceback, arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;from arcpy import env&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arcpy.env.overwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# get user supplied path, layers and fields&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;path = arcpy.GetParameterAsText(0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; citiesFC = arcpy.GetParameterAsText(1) # cities Layer is cities Feature Layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; crimefieldindex = arcpy.GetParameterAsText(2) # crime index is CRIME_INDE and is a Double integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; whereClause1 = "{0} = '{1}'".format(arcpy.AddFieldDelimiters(citiesL, crimeField), crimefieldindex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; crimeField = arcpy.GetParameterAsText(3) # crimeField is fieldname 'CRIME_INDE' SQL expression&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; universityfieldindex = arcpy.GetParameterAsText(4) # universityfieldindex is the UNIVERSITY field and is DOUBLE integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; whereClause2 = "{0} = '{1}'".format(arcpy.AddFieldDelimiters(citiesL, universityField), universityfieldindex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; universityField = arcpy.GetParameterAsText(5) # universityField is fieldname 'UNIVERSITY' SQL expression&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; outputlayer = arcpy.GetParameterAsText(6) # output layer name&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; # select the attributes from citiesFC from user input&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; prj = ""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; prj2 = ""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; if prj.find("CRIME_INDE")&amp;gt;=0:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; crimecount = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; print 'using crime index'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; elif prj2.find("UNIVERSITY")&amp;gt;=1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unicount = 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; print 'using university status'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; # set field to determine where clause variables 1=crime 2=university 3=crime and university else: none selected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; usecityfield = crimecount + unicount&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; # make feature layer from cities feature class&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; arcpy.MakeFeatureLayer_management(citiesFC, "citiesL")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; if usecityfield == 1:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; arcpy.SelectLayerByAttribute_management("citiesL", "SUBSET_SELECTION", crimefieldindex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "citycrime")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; elif usecityfield == 2:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; arcpy.SelectLayerByAttribute_management("citiesL", "SUBSET_SELECTION", universityfieldindex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "cityuni")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; elif usecityfield == 3:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; arcpy.SelectLayerByAttribute_management("citiesL", "SUBSET_SELECTION", crimefieldindex + universityfieldindex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "citycrimeuni")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; # write selected features to a new featureclass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; arcpy.CopyFeatures_management("citiesL", "SUBSET_SELECTION")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print arcpy.GetMessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[\CODE]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(2) Hard coded-&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;PRE&gt;&lt;/PRE&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# select layer by location and attribute&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import os, sys, traceback, arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arcpy.env.overwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; citiesFC = r"H:\working\Findsites.gdb\cities"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; interstatesFC = r"H:\working\Findsites.gdb\interstates"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; countiesFC = r"H:\working\Findsites.gdb\counties"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cityListFC = r"H:\working\Findsites.gdb\city_list"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NearestInterstate = r"H:\working\Findsites.gdb\NearRoad"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # setting variables for spatial join&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; workspace = r"H:\working\Findsites.gdb"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; outWorkspace = r"H:\working\Findsites.gdb" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetFeatures = "cityListL"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; joinFeatures = "countiesL"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; outfc = r"H:\working\Findsites.gdb\FoundCities"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeFeatureLayer_management(citiesFC,"citiesL")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByLocation_management("citiesL", "WITHIN_A_DISTANCE", interstatesFC, "30 KILOMETERS", "NEW_SELECTION")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management("citiesL", "SUBSET_SELECTION", "UNIVERSITY = 1 AND CRIME_INDE &amp;lt;= 0.02")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeFeatureLayer_management(countiesFC,"countiesL")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management("countiesL", "NEW_SELECTION", "AGE_18_64 &amp;gt;= 25000 AND NO_FARMS87 &amp;gt;= 500")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByLocation_management("citiesL", "INTERSECT", "countiesL", "", "SUBSET_SELECTION")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CopyFeatures_management("citiesL", cityListFC)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(cityListFC, "CITYNAME", "TEXT", "", "", "25")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(cityListFC, "CRIMEINDEX", "DOUBLE", "", "", "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(cityListFC, "HAS_UNI", "TEXT", "", "", "3")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(cityListFC, "CITYNAME", "!NAME!", "PYTHON")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(cityListFC, "CRIMEINDEX", "!CRIME_INDE!", "PYTHON")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(cityListFC, "HAS_UNI", "!UNIVERSITY!", "PYTHON")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(cityListFC,["NAME", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(cityListFC,["CRIME_INDE", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(cityListFC,["UNIVERSITY", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeFeatureLayer_management(cityListFC,"cityListL")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.GenerateNearTable_analysis("cityListL", interstatesFC, NearestInterstate, "30 Kilometers")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddJoin_management("cityListL", "OBJECTID", NearestInterstate, "IN_FID")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # spatially join the narrowed down city/road and counties layers remove unwanted fields and rename others&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # arcpy.SpatialJoin_analysis("cityListL", "countiesL", "H:/working/Findsites.gdb/FoundCities", "#", "#", "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # create new fieldMappings&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings = arcpy.FieldMappings()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.addTable(targetFeatures)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.addTable(joinFeatures)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NameFieldIndex = fieldmappings.findFieldMapIndex("NAME")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmap = fieldmappings.getFieldMap(NameFieldIndex)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get the output field's properties as a field object&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; field = fieldmap.outputField&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Rename the field and pass the updated field object back into the field map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.name = "COUNTYNM"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.aliasName = "COUNTYNM"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmap.outputField = field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # replace old field map in mappings object with new one&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.replaceFieldMap(NameFieldIndex, fieldmap)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # delete fields no longer applicable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s = fieldmappings.findFieldMapIndex("city_list_ID")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(s)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t = fieldmappings.findFieldMapIndex("city_list_POPULATION")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(t)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u = fieldmappings.findFieldMapIndex("city_list_TOTAL_CRIM")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(u)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; v = fieldmappings.findFieldMapIndex("AREA")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(v)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; w = fieldmappings.findFieldMapIndex("POP1990")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(w)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = fieldmappings.findFieldMapIndex("POP_SQMILE")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(x)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; y = fieldmappings.findFieldMapIndex("SQ_MILES")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(y)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; z = fieldmappings.findFieldMapIndex("X")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(z)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = fieldmappings.findFieldMapIndex("Y")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(a)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = fieldmappings.findFieldMapIndex("X_1")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(b)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = fieldmappings.findFieldMapIndex("Y_1")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(c)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d = fieldmappings.findFieldMapIndex("PERIMETER")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(d)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e = fieldmappings.findFieldMapIndex("GAVPRIMARY")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(e)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f = fieldmappings.findFieldMapIndex("NearRoad_OBJECTID")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(f)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g = fieldmappings.findFieldMapIndex("NearRoad_IN_FID")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(g)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; h = fieldmappings.findFieldMapIndex("NearRoad_NEAR_FID")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.removeFieldMap(h)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Run the Spatial Join tool, using the defaults for the join operation and join type&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SpatialJoin_analysis(targetFeatures, joinFeatures, outfc, "#", "#", fieldmappings)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # order and rename final output fields where appropriate&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(outfc, "INTERSTATEkm", "SHORT", "3", "1", "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(outfc, "COUNTY", "TEXT", "", "", "14")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(outfc, "WORKFORCE", "LONG", "", "", "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(outfc, "FARMS", "LONG", "", "", "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(outfc, "INTERSTATEkm", "!NearRoad_NEAR_DIST!", "PYTHON")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(outfc, "COUNTY", "!COUNTYNM!", "PYTHON")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(outfc, "WORKFORCE", "!AGE_18_64!", "PYTHON")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(outfc, "FARMS", "!NO_FARMS87!", "PYTHON")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["NearRoad_NEAR_DIST", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["COUNTYNM", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["AGE_18_64", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["NO_FARMS87", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["OBJECTID_1", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["Shape_Leng", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["Join_Count", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.DeleteField_management(outfc,["TARGET_FID", "LABEL", "CLASS"])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; # print geoprocessing messages if fails&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\n*** LAST GEOPROCESSOR MESSAGE (may not be source of the error)***"; print arcpy.GetMessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Python Traceback Info: " + traceback.format_tb(sys.exc_info()[2])[0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Python Error Info: " +&amp;nbsp; str(sys.exc_type)+ ": " + str(sys.exc_value)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[\CODE]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Apr 2013 16:32:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/select-layer-by-attribute-user-input-problem/m-p/235320#M18282</guid>
      <dc:creator>ScottMacDonald</dc:creator>
      <dc:date>2013-04-08T16:32:36Z</dc:date>
    </item>
  </channel>
</rss>

