1

I'm using Arcgis 10.1 and I created my script for inserting data in my feature class but I got this error message:

Traceback (most recent call last):
 File "C:\SIG_AS\Shapefiles\Projet2\MyScript\Insert_chantiers_gp.py", line 35, in <module>
 with arcpy.da.InsertCursor( inGeodatabase, fieldsToUpdate) as cursor:
RuntimeError: cannot open 'Chantiers.shp'

And this is my script for inserting my data into my feature class:

# Ajout de champs
import arcgisscripting
import arcpy
# Définir l'environnement
arcpy.env.workspace = "C:/SIG_AS/DB/Chantiers.gdb"
# creation de l'objet gp (arcgisscripting est l'ancêtre d'arcpy et devait être créé à chaque fois)
gp = arcgisscripting.create(9.3) 
# Paramètres d'entrée
inDescription = gp.GetParameterAsText(0)
inRestriction = gp.GetParameterAsText(1)
inNumero = gp.GetParameterAsText(2)
inNomVoie = gp.GetParameterAsText(3)
inDate1 = gp.GetParameterAsText(4)
inDate2 = gp.GetParameterAsText(5)
inLat = gp.GetParameterAsText(6)
inLong = gp.GetParameterAsText(7)
# Variables de champs
inGeodatabase = "Chantiers.shp"
ObjectidField = "OBJECTID"
ShapeField = "SHAPE"
descriptionField = "Desc_travaux"
restrictionField = "Restriction_trafic"
numeroField = "Numero_civique"
nomField = "Nom_voie"
date1Field = "Date_debut"
date2Field = "Date_fin"
LatField = "Latitude"
LongField = "Longitude"
#Tuple pour mise à jour des champs
fieldsToUpdate = ( ObjectidField, ShapeField, descriptionField, restrictionField, numeroField, nomField, date1Field, date2Field, LatField, LongField)
# Curseur d'insertion
with arcpy.da.InsertCursor( inGeodatabase, fieldsToUpdate) as cursor:
# Insertion de ligne aux attributs considérés
 cursor.insertRow((inDescription, inRestriction, inNumero, inNomVoie, inDate1, inDate2, inLat, inLong))
PolyGeo
65.5k29 gold badges115 silver badges349 bronze badges
asked Mar 28, 2016 at 14:15
0

2 Answers 2

4

It appears to be trying to open C:/SIG_AS/DB/Chantiers.gdb/Chantiers.shp, but feature classes in geodatabases are not shapefiles. If the feature class is in fact in that geodatabase and is called "Chantiers", try inGeodatabase = "Chantiers". Otherwise, change arcpy.env.workspace to the folder containing Chantiers.shp.

answered Mar 28, 2016 at 14:29
0
2

Your workspace is a geodatabase (C:/SIG_AS/DB/Chantiers.gdb); however, you're trying to open Chantiers.shp. Shapefiles cannot exist in a geodatabase. Either Chantiers is a feature class within the gdb, and you meant to pass only Chantiers (without the .shp) to the variable inGeodatabase (which is a terribly misleading variable name, by the way), or you have a shapefile named Chantiers elsewhere that you're trying to reference. In that case, assign the full path of Chantiers.shp to the variable.

answered Mar 28, 2016 at 14:27
0

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.