I am new to coding in python, my problems is the machine crashing halfway through first loop, and yet another five with its modules .
i have "Serious Application Error" with the opportunity to send info to Esri.
i use script in toolbox, i have arcmap 10.6 .
The script launches is carried out a first step [1/5] without XY event and Feature Class conversion, and in step 2/5 at the level of xy event and feature class crash conversion because the text file is created.
Can you describe what you want your script tool to do? A description of the tool's function may assist in getting an answer to your question.
I would suggest that you do some testing of the code before putting it in a script tool. This will help debug the script as error messages will display and help pinpoint the source of the problem.
I've retyped your code as Dan Patterson has suggested (using the syntax highlighter). This format will give some line numbers to aid in the discussion.
import arcpy, math, os arcpy.env.workspace = arcpy.GetParameter(0) arcpy.env.overwriteOutput = True ParemListFea = arcpy.GetParameter(1) ParemSpat = arcpy.GetParameter(2) try: SpatRef = ParemSpat SelectMob = arcpy.SelectLayerByAttribute_management(MobFeat, "NEW_SELECTION", "nom = '1105'") ComMob = arcpy.GetCount_management(SelectMob) MobFeat = "Mobilier_Urbain_L" OutMob = "Mobilier0" OutTempMob = "MobilierTemp" Dbf_Mob = "Mobilier_Urbaine_L.dbf" OutTxt_Mob = "Mobilier_U_L.txt" if ListFeatIn == "Mobilier_Urbain_L.shp" and ComMob > 0: arcpy.TableToTable_conversion(Dbf_mob, arcpy.env.workspace, OutTxt_Mob) arcpy.MakeXYEventLayer_management(OutTxtMob, FieldX1, FieldY1, OutTempMob, ParemSpat, FieldZ1) arcpy.FeatureClassToFeatureClass_conversion(OutTempMob, arcpy.env.workspace, OutMob)
From the code snippet above, I notice that several variables are referenced before they are defined.
In line 9, MobFeat is being referenced, but it is not defined until line 12. Perhaps line 12 should be moved before line 9 ?
And in line 17 the value of ListFeatIn is being checked to see if it matches the name of a shape file. Perhaps ListFeatIn is supposed to be ParemListFea ? I do not see a reference to ParemListFea being used later in the script.
Line 17 also references ConMob. This value will be zero or None if the SelectLayerByAttibute fails at line 9. The where clause in line 9 is referencing a field nom and checking for a certain text string '1105' that may be a number 1105. This will affect what is being returned by the query.
These are just a few quick observations. Please tell us more about your project.
I want my script to make some layers, with different orientations, the input layer is always of type line, * _L, the orientation varies according to the layer. it is for the purpose of automation, that's why I check if the layer contains objects because all the objects of the layers are not to orientate.
if ListFeatIn == "Mobilier_Urbain_L.shp" and ComMob > 0:
the process starts without reporting an error except when I run it in the background select layer announces an error.
Ok, i tested my code with an orientation operation and no problem but with 5 crashes, and i have in toolbox Windows, that message: [< geoprocessing value object at 0x30AC4F98>, <geoprocessing value object object at 0x30AC4FE0>] when 5 operation.
Thank you for the additional description of your project. I am still trying to understand the work flow.
Is arcpy.GetParameter(1) around line 5 fetching a list of shapefiles, such as [ 'Mobilier_Urbain_L.shp', 'M_U_L.shp', ....] ?
And starting around line 15 to 19, is the .dbf file being converted to a text file and then into an XY layer file? Since the .dbf would be part of the shape file, is there a reason to do an XY conversion? Perhaps it would be better to converting the shape file to a feature layer with MakeFeatureLayer and then saving it with FeatureClassToFeatureClass?
tmplyr = arcpy.MakeFeatureLayer_management(r'C:\path\to\shapefile.shp','tmplyr') arcpy.FeatureClassToFeatureClass_conversion("tmplyr",r'C:\path\to\file.gdb','shp_conv')
I need to transform lines into points, because my X1Y1 are the center of the objects and X2Y2 allows me to calculate the orientation of the future symbol