import arcpy #reload(arcpy) import pyodbc from arcpy import env cnxn = pyodbc.connect('Driver={SQL Server Native Client 10.0};UID=ID;PWD=Password;SERVER=spk-db11sac.spk.ds.usace.army.mil; DATABASE=ftord; APP=MyApp') cursor=cnxn.cursor() cursor.execute("select aquifer, site_id, well_name, station_name, well_type, welltype_desc, northing, easting, coord_source, toc, ground_elev, top_screen_depth, bot_screen_depth, total_depth, diameter, installer, date_inst, date_aban, destroyed, purge_vol, norm_dtw, pump_depth, comments, well_status, destruction_rationale, date_destroyed, ref_document, destruct_permit_number from dbo.Wells_view") rows = cursor.fetchall() env.overwriteOutput = True env.workspace = r"G:\Fort_Ord_GIS\Master_Coverage\Fort_Ord.gdb" template = r"G:\Fort_Ord_GIS\Master_Coverage\Fort_Ord.gdb\improvement_well\water_well_point" Wells = arcpy.CreateFeatureclass_management(r"G:\Temp\Bart\scratch.gdb", "ODB11", "POINT",'', "DISABLED", "DISABLED", template) #arcpy.AddField_management(Wells,'SubTypeIdentifier','TEXT') arcpy.AddField_management(Wells,'PKWellID','TEXT') arcpy.AddField_management(Wells,'PKMApID','TEXT') arcpy.AddField_management(Wells,'FKMetalID','TEXT') arcpy.AddField_management(Wells,'FKMediaID','TEXT') arcpy.AddField_management(Wells,'FKCoordbtID','TEXT') arcpy.AddField_management(Wells,'FKMnwellID','TEXT') arcpy.AddField_management(Wells,'WellCatDOM','TEXT') arcpy.AddField_management(Wells,'WellTypDOM','TEXT') arcpy.AddField_management(Wells,'WellStaDOM','TEXT') arcpy.AddField_management(Wells,'CaseMatDOM','TEXT') arcpy.AddField_management(Wells,'ConstTyDOM','TEXT') #arcpy.AddField_management(Wells,'HoleDia','TEXT') arcpy.AddField_management(Wells,'DiaUOM','TEXT') #arcpy.AddField_management(Wells,'Depthto1st','TEXT') #arcpy.AddField_management(Wells,'Depthtowat','TEXT') #arcpy.AddField_management(Wells,'Depthtobdk','TEXT') #arcpy.AddField_management(Wells,'Totaldepth','TEXT') #arcpy.AddField_management(Wells,'ReferElev','TEXT') #arcpy.AddField_management(Wells,'ElevUOM','TEXT') arcpy.AddField_management(Wells,'DepthUOM','TEXT') #arcpy.AddField_management(Wells,'Capacity','TEXT') arcpy.AddField_management(Wells,'CapacUOM','TEXT') arcpy.AddField_management(Wells,'FKWpumpID','TEXT') arcpy.AddField_management(Wells,'FKWpumpID','TEXT') arcpy.AddField_management(Wells,'FKTankID','TEXT') arcpy.AddField_management(Wells,'FKInstInID','TEXT') arcpy.AddField_management(Wells,'FKBuildngID','TEXT') arcpy.AddField_management(Wells,'FKProjectID','TEXT') arcpy.AddField_management(Wells,'FKStationID','TEXT') arcpy.AddField_management(Wells,'FKFulzoneID','TEXT') arcpy.AddField_management(Wells,'FKWatsectID','TEXT') arcpy.AddField_management(Wells,'FKGaszoneID','TEXT') arcpy.AddField_management(Wells,'FKHcszoneID','TEXT') arcpy.AddField_management(Wells,'FKStosectID','TEXT') arcpy.AddField_management(Wells,'Narrative','TEXT') Wcur = arcpy.InsertCursor(Wells) for row in rows: #print row.well_name t_row = Wcur.newRow() t_row.PKWellID = row.well_name t_row.WellStaDOM = row.welltype_desc Wcur.insertRow(t_row) #for row in rows: #t_row = Wcur.newRow() #t_row.PKWellID2 = row.station_name #Wcur.insertRow(t_row) cnxn.commit() cursor.close() cnxn.close() del row del rows del cursor del cnxn
Hi Bart,
Looking at your code it doesn't appear that you insert geometry any where...
import arcpy #reload(arcpy) import pyodbc from arcpy import env cnxn = pyodbc.connect('Driver={SQL Server Native Client 10.0};UID=ID;PWD=Password;SERVER=spk-db11sac.spk.ds.usace.army.mil; DATABASE=ftord; APP=MyApp') cursor=cnxn.cursor() cursor.execute("select aquifer, site_id, well_name, station_name, well_type, welltype_desc, northing, easting, coord_source, toc, ground_elev, top_screen_depth, bot_screen_depth, total_depth, diameter, installer, date_inst, date_aban, destroyed, purge_vol, norm_dtw, pump_depth, comments, well_status, destruction_rationale, date_destroyed, ref_document, destruct_permit_number from dbo.Wells_view") rows = cursor.fetchall() env.overwriteOutput = True env.workspace = r"G:\Fort_Ord_GIS\Master_Coverage\Fort_Ord.gdb" template = r"G:\Fort_Ord_GIS\Master_Coverage\Fort_Ord.gdb\improvement_well\water_well_point" config_keyword = "" WellsTabl = arcpy.CreateTable_management(r"G:\Temp\Bart", "WellsTabl.dbf", template) Wcur = arcpy.InsertCursor(WellsTabl) for row in rows: #print row.well_name t_row = Wcur.newRow() t_row.well_id = row.well_name t_row.well_typ_d = row.welltype_desc t_row.coord_x = row.easting t_row.coord_y = row.northing Wcur.insertRow(t_row) try: in_Table = WellsTabl x_coords = "coord_x" y_coords = "coord_y" out_layer = "Wells_layer" saved_layer = r"G:\Temp\Bart\Layers\Wells.lyr" #spRef = r"C:\Program Files (x86)\ArcGIS\Desktop10.0\Coordinate Systems\Projected Coordinate Systems\State Plane\NAD 1983 (US Feet)\NAD_1983_StatePlane_California_IV_FIPS_0404_Feet (US Feet).prj" arcpy.MakeXYEventLayer_management(in_Table, x_coords, y_coords, out_layer, spRef) print arcpy.GetCount_management(out_Layer) arcpy.SaveToLayerFile_management(out_layer, saved_layer) except: print arcpy.GetMessages() inFeatures = saved_layer outLocation = r"G:\Temp\Bart\Scratch.gdb" outFeatureClass = "Wells_update" arcpy.FeatureClassToFeatureClass_conversion(inFeatures, outLocation, outFeatureClass) cnxn.commit() cursor.close() cnxn.close() del row del rows del cursor del cnxn
spRef = r"C:\Program Files (x86)\ArcGIS\Desktop10.0\Coordinate Systems\Projected Coordinate Systems\State Plane\NAD 1983 (US Feet)\NAD_1983_StatePlane_California_IV_FIPS_0404_Feet (US Feet).prj"
spRef = r"C:\Program Files (x86)\ArcGIS\Desktop10.0\Coordinate Systems\Projected Coordinate Systems\State Plane\NAD 1983 (US Feet)\NAD 1983 StatePlane California IV FIPS 0404 (US Feet).prj"
Hi Bart,
The underscores within the projection name is what's causing the problem. Change:spRef = r"C:\Program Files (x86)\ArcGIS\Desktop10.0\Coordinate Systems\Projected Coordinate Systems\State Plane\NAD 1983 (US Feet)\NAD_1983_StatePlane_California_IV_FIPS_0404_Feet (US Feet).prj"
to:spRef = r"C:\Program Files (x86)\ArcGIS\Desktop10.0\Coordinate Systems\Projected Coordinate Systems\State Plane\NAD 1983 (US Feet)\NAD 1983 StatePlane California IV FIPS 0404 (US Feet).prj"
and it should work.
sr = arcpy.SpatialReference() sr.factoryCode = 2228 sr.create()
ExecuteError: ERROR 999999: Error executing function.
The table already exists.
Failed to execute (FeatureClassToFeatureClass).
import arcpy #reload(arcpy) import pyodbc from arcpy import env cnxn = pyodbc.connect('Driver={SQL Server Native Client 10.0};UID=user;PWD=Password;SERVER=spk-db11sac.spk.ds.usace.army.mil; DATABASE=ftord; APP=MyApp') cursor=cnxn.cursor() cursor.execute("select aquifer, site_id, well_name, station_name, well_type, welltype_desc, northing, easting, coord_source, toc, ground_elev, top_screen_depth, bot_screen_depth, total_depth, diameter, installer, date_inst, date_aban, destroyed, purge_vol, norm_dtw, pump_depth, comments, well_status, destruction_rationale, date_destroyed, ref_document, destruct_permit_number from dbo.Wells_view") rows = cursor.fetchall() env.overwriteOutput = True env.workspace = r"G:\Fort_Ord_GIS\Master_Coverage\Fort_Ord.gdb" #env.workspace = r"G:\Temp\Bart\fort_ord.gdb" template = r"G:\Fort_Ord_GIS\Master_Coverage\Fort_Ord.gdb\improvement_well\water_well_point" config_keyword = "" #config_keyword = "TEXT_UTF16" WellsTabl = arcpy.CreateTable_management(r"G:\Temp\Bart", "WellsTabl.dbf", template) Wcur = arcpy.InsertCursor(WellsTabl) for row in rows: #print row.well_name t_row = Wcur.newRow() t_row.well_id = row.well_name t_row.feat_name = row.well_name t_row.watwel_d = row.well_type t_row.well_typ_d = row.welltype_desc t_row.well_sta_d = row.well_status t_row.totaldepth = row.total_depth t_row.gsurf_elev = row.ground_elev t_row.date_inst = row.date_inst t_row.norm_dtw = row.norm_dtw t_row.pump_depth = row.pump_depth t_row.destructio = row.destruction_rationale t_row.date_destr = row.date_destroyed t_row.ref_docume = row.ref_document t_row.destruct_p = row.destruct_permit_number t_row.refer_elev = row.toc t_row.hole_dia = row.diameter t_row.narrative = row.comments t_row.cas_sdepth = row.top_screen_depth t_row.cas_edepth = row.bot_screen_depth t_row.contrct_id = row.installer t_row.capacity = row.purge_vol t_row.destructio = row.destroyed #t_row.comp_date = row.date_inst t_row.coord_x = row.easting t_row.coord_y = row.northing Wcur.insertRow(t_row) try: in_Table = WellsTabl x_coords = "coord_x" y_coords = "coord_y" out_layer = "Wells_layer" saved_layer = r"G:\Temp\Bart\Layers\Wells2.lyr" spRef = r"C:\Program Files (x86)\ArcGIS\Desktop10.0\Coordinate Systems\Projected Coordinate Systems\State Plane\NAD 1983 (US Feet)\NAD 1983 StatePlane California IV FIPS 0404 (US Feet).prj" arcpy.MakeXYEventLayer_management(in_Table, x_coords, y_coords, out_layer, spRef) saved_layer2 = arcpy.SaveToLayerFile_management(out_layer, saved_layer) except: print arcpy.GetMessages() inFeatures = saved_layer2 #outLocation = r"G:\Temp\Bart\Scratch.gdb" outLocation = r"G:\Temp\Bart\fort_ord.gdb\improvement_well" #outFeatureClass = "Wells_update2" outFeatureClass = "water_well_point" arcpy.FeatureClassToFeatureClass_conversion(inFeatures, outLocation, outFeatureClass) cnxn.commit() cursor.close() cnxn.close() del row del rows del cursor del cnxn
env.overwriteOutput = True
Hi Bart,
Add the following line of code:env.overwriteOutput = True