<?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: Convert python script to ArcMap Script tool in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559339#M43729</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have played around with the syntax of my code and have finally had it work.&amp;nbsp; My code now looks like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#create an empty dictionary&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD = {}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy.mapping&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import os&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# populate dictionary using indexing and assignment with units and conversion factors relative to sqmeter = 1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x sqmeters to any of the other area units multiply by the factor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x of any of the other area units to sqmeter divide by the factor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x of any area unit to any of the other area units go over interim sqmeter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# this minimizes the total number of conversion factors&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmeter']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmillimeter'] = 1000000.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqcentimeter'] = 10000.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqkilometer']&amp;nbsp; = 0.000001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['hectare']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqinch']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1550.003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqfoot']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 10.76391&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqyard']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1.19599&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['acre']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0002471054&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmile']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0000003861022&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def convertArea(x, unit1, unit2):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; """area conversion with error trapping"""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (unit1 in areaD) and (unit2 in areaD):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; factor1 = areaD[unit1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; factor2 = areaD[unit2]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return factor2*x/factor1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return False&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;x = int (arcpy.GetParameter (0))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unit1 = arcpy.GetParameterAsText(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unit2 = arcpy.GetParameterAsText(2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;outcome = convertArea(x, unit1, unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if outcome is not False:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "%f %s = %f %s" % (x, unit1, outcome, unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage("%f %s = %f %s" % (x, unit1, outcome, unit2))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "There was an error converting %s to %s"&amp;nbsp; % (unit1,unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage("There was an error converting %s to %s"&amp;nbsp; % (unit1,unit2))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It works in the script tool which is a huge step.&amp;nbsp; But, I am still getting some problems.&amp;nbsp; When I run the tool and give it an number that has a decimal like 5.6 it returns an answer calculated at 5.0000.&amp;nbsp; I don't know why it is droping the .6 and replacing it with .0000.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have included screenshots of both the tool menu and the result page.&amp;nbsp; You can see how it drops the decimal.&amp;nbsp; Does anyone know why?&amp;nbsp; Please help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Mar 2011 15:12:42 GMT</pubDate>
    <dc:creator>KurtEdwards</dc:creator>
    <dc:date>2011-03-18T15:12:42Z</dc:date>
    <item>
      <title>Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559334#M43724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am new to using python scripting and need help making my python script into a script tool.&amp;nbsp; My script converts area measurments into other area units.&amp;nbsp; It runs fine in pythonwin and gives me correct output but when I try to attach it to a script tool it just bombs.&amp;nbsp; I could use all the help that anybody would be willing to give me.&amp;nbsp; Below is my coding for the conversions.&amp;nbsp; Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#create an empty dictionary&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD = {}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# populate dictionary using indexing and assignment with units and conversion factors relative to sqmeter = 1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x sqmeters to any of the other area units multiply by the factor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x of any of the other area units to sqmeter divide by the factor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x of any area unit to any of the other area units go over interim sqmeter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# this minimizes the total number of conversion factors&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmeter']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmillimeter'] = 1000000.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqcentimeter'] = 10000.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqkilometer']&amp;nbsp; = 0.000001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['hectare']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqinch']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1550.003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqfoot']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 10.76391&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqyard']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1.19599&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['acre']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0002471054&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmile']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0000003861022&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def convertArea(x, unit1, unit2):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; """area conversion with error trapping"""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (unit1 in areaD) and (unit2 in areaD):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; factor1 = areaD[unit1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; factor2 = areaD[unit2]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return factor2*x/factor1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return False&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;number=1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while x != 0:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; number = raw_input ("Number of Units:")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unit1 = raw_input ("Unit Converting From:")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unit2 = raw_input ("Unit Converting To:")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; outcome = convertArea(x, unit1, unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if outcome is not False:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "%f %s = %f %s" % (x, unit1, outcome, unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "There was an error converting %s to %s"&amp;nbsp; % (unit1,unit2)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Mar 2011 19:55:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559334#M43724</guid>
      <dc:creator>KurtEdwards</dc:creator>
      <dc:date>2011-03-16T19:55:54Z</dc:date>
    </item>
    <item>
      <title>Re: Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559335#M43725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;All you have to do is add it to a toolbox.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Adding_a_script_tool/00150000001r000000/"&gt;http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Adding_a_script_tool/00150000001r000000/&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Mar 2011 12:14:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559335#M43725</guid>
      <dc:creator>ChrisMathers</dc:creator>
      <dc:date>2011-03-17T12:14:21Z</dc:date>
    </item>
    <item>
      <title>Re: Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559336#M43726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have tried adding the script to a custom toolbox that I have made.&amp;nbsp; When I do this the script is added to the toolbox but when I run the tool the tool bombs and gives and error message.&amp;nbsp; I can't get the script tool to run without bombing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, Kurt&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Mar 2011 13:18:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559336#M43726</guid>
      <dc:creator>KurtEdwards</dc:creator>
      <dc:date>2011-03-17T13:18:14Z</dc:date>
    </item>
    <item>
      <title>Re: Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559337#M43727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It might be possible to help you if you could give us some details of that "bombing". Quoting an error message and a traceback perhaps...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Mar 2011 14:27:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559337#M43727</guid>
      <dc:creator>NiklasNorrthon</dc:creator>
      <dc:date>2011-03-17T14:27:29Z</dc:date>
    </item>
    <item>
      <title>Re: Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559338#M43728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The error message that I keep getting is as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Executing: AreaConversion 1 sqmeter sqfoot&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Start Time: Thu Mar 17 09:33:04 2011&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Running script AreaConversion...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;type 'exceptions.EOFError'&amp;gt;: EOF when reading a line&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Failed to execute (AreaConversion).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Failed at Thu Mar 17 09:33:04 2011 (Elapsed Time: 0.00 seconds)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Mar 2011 14:33:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559338#M43728</guid>
      <dc:creator>KurtEdwards</dc:creator>
      <dc:date>2011-03-17T14:33:45Z</dc:date>
    </item>
    <item>
      <title>Re: Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559339#M43729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have played around with the syntax of my code and have finally had it work.&amp;nbsp; My code now looks like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#create an empty dictionary&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD = {}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy.mapping&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import os&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# populate dictionary using indexing and assignment with units and conversion factors relative to sqmeter = 1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x sqmeters to any of the other area units multiply by the factor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x of any of the other area units to sqmeter divide by the factor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# to convert x of any area unit to any of the other area units go over interim sqmeter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# this minimizes the total number of conversion factors&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmeter']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmillimeter'] = 1000000.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqcentimeter'] = 10000.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqkilometer']&amp;nbsp; = 0.000001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['hectare']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqinch']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1550.003&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqfoot']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 10.76391&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqyard']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1.19599&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['acre']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0002471054&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;areaD['sqmile']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0.0000003861022&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def convertArea(x, unit1, unit2):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; """area conversion with error trapping"""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (unit1 in areaD) and (unit2 in areaD):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; factor1 = areaD[unit1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; factor2 = areaD[unit2]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return factor2*x/factor1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return False&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;x = int (arcpy.GetParameter (0))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unit1 = arcpy.GetParameterAsText(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unit2 = arcpy.GetParameterAsText(2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;outcome = convertArea(x, unit1, unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if outcome is not False:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "%f %s = %f %s" % (x, unit1, outcome, unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage("%f %s = %f %s" % (x, unit1, outcome, unit2))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "There was an error converting %s to %s"&amp;nbsp; % (unit1,unit2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage("There was an error converting %s to %s"&amp;nbsp; % (unit1,unit2))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It works in the script tool which is a huge step.&amp;nbsp; But, I am still getting some problems.&amp;nbsp; When I run the tool and give it an number that has a decimal like 5.6 it returns an answer calculated at 5.0000.&amp;nbsp; I don't know why it is droping the .6 and replacing it with .0000.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have included screenshots of both the tool menu and the result page.&amp;nbsp; You can see how it drops the decimal.&amp;nbsp; Does anyone know why?&amp;nbsp; Please help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Mar 2011 15:12:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559339#M43729</guid>
      <dc:creator>KurtEdwards</dc:creator>
      <dc:date>2011-03-18T15:12:42Z</dc:date>
    </item>
    <item>
      <title>Re: Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559340#M43730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
IDLE 1.2.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;gt;&amp;gt;&amp;gt;int (5.6)
5

&amp;gt;&amp;gt;&amp;gt;2.4 + int (5.6)
7.4000000000000004

&amp;gt;&amp;gt;&amp;gt;float (5.6)
5.5999999999999996
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for posting since this is helping me as well!&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try using 'float' rather than 'int' in your script since 'int' delivers a whole number.&amp;nbsp; Once that unintended integer paramter got calculated against what Python knew to be a 'float' number type within the conversion expression (Python is dynamically typed), the return value will then come out with incorrect values with a floating decimal and zeros. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Question to help me:&amp;nbsp; how do you get the script to accept your 3 parameters when running from Toolbox.&amp;nbsp; The .getparameterAsText method did not call a dialog box.&amp;nbsp; I then tried setting up variables and parameters within ArcMap's Model Builder without success.&amp;nbsp; If you created a Model Builder for Toolbox to accept retrieve the parameters, then could you let me know how to get this done?&amp;nbsp; Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:08:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559340#M43730</guid>
      <dc:creator>MarkWiygul</dc:creator>
      <dc:date>2021-12-12T00:08:15Z</dc:date>
    </item>
    <item>
      <title>Re: Convert python script to ArcMap Script tool</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559341#M43731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I figured out the problem I was having with the script not asking for parameters.&amp;nbsp; I needed to setup the parameters list before hitting the &amp;lt;finish&amp;gt; button while importing the script into a toolbox.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I made a couple of adjustments in the script as well.&amp;nbsp; In addtional to using 'float' instead of int, I removed the setting up of a 'workspace' and set that to GetParameterAsText(0).&amp;nbsp; Your script works fantastic!&amp;nbsp; Have a nice day&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Mar 2011 16:17:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559341#M43731</guid>
      <dc:creator>MarkWiygul</dc:creator>
      <dc:date>2011-03-21T16:17:13Z</dc:date>
    </item>
    <item>
      <title>Why won't this work as a script tool?</title>
      <link>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559342#M43732</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have a related issue. I have written many ArcGIS specific Python scripts that run fine in IDLE/PythonWin, producing the results expected and putting them in the correct place within my file structure. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, when I try to add the script to a toolbox as a script tool, I don't have the same success. I usually include iteration in the script (invoking the geoprocessor object as a 9.3 object to use the more pythonic for-loop structure, usually, though I explored using the 9.0-9.2 versions and the while-next structure) to perform the same operation on all feature classes within a feature dataset. The script will run 'successfully', according to the output, and yet, nothing happens.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For instance, I might Clip all the feature classes in the dataset. I'll set the workspace to the feature dataset, and have the operation run and place all the output feature classes listed in that dataset (using gp.listfeatureclasses) in another feature dataset. While again, this works fine in IDLE/PythonWin, it will not run if invoked as a script tool. The basic operation, the Clip, will work if performed (as a script tool) on a single feature class (i.e. no iteration).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is an example of the code, and again, it works just fine from a stand alone editor:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import sys, string, os, arcgisscripting&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp = arcgisscripting.create(9.3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.overwriteoutput =1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# Load required toolboxes...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Analysis Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;workspace = 'C:/Example.gdb/FeatureDataset/'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;clippedPath = 'C:/Example.gdb/OutputDataset/'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;clipfeature = 'C:/Example.gdb/Clip_feature_class'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.workspace = workspace&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;featureClasses = gp.listfeatureclasses()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for feature in featureClasses:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.Clip_analysis(feature, clipfeature,clippedPath +feature+'_clip' , "")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why won't this work as a script tool?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Mar 2011 16:52:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/convert-python-script-to-arcmap-script-tool/m-p/559342#M43732</guid>
      <dc:creator>SilasToms</dc:creator>
      <dc:date>2011-03-21T16:52:51Z</dc:date>
    </item>
  </channel>
</rss>

