Is there a way to take a set of polygons and have ArcMap append an already existing point feature class from the center of the polygons(centroid)? Basically what I want to do is select 40 parcel features and create individual address points based off of parcel layer into our existing address point feature class. The current way that I accomplish this task is to add each point manually.
I have look at this tool, but it creates a new feature class rather than adding to an existing feature class.
Hello Eric,
Do you need to do this on a recurring basis? If no, you could just Append the results of your Feature to Point centroid process to your existing address points using stand-alone geoprocessing tools. If you needed it on a recurring basis you could set up a process to accomplish this with ModelBuilder or Python. But really, you're halfway there with Feature to Point, the only additional step would be an Append.
Hope this helps.
Micah
Hello Micah,
Within Model Builder, I was able to successfully create address points within a test Geodatabase. I appreciate the support, I should be good to go.
Outstanding, Eric! Glad to help.
Back once again. I additionally am looking to give the tool the capability to offset the address point after it's created, so that ArcObjects picks up spatial location fields (Zip Code, City Boundary, etc) and auto-populates the respective fields.
# Import arcpy module import arcpy # Local variables: FIREADM_Parcels_MCT = "PARCELS MCT UPLOAD" Points = "%scratchGDB%\\Points" FIREADM_AddrPoints = Points FIREADM_AddrPoints__3_ = "FIREADM.AddrPoints" # Process: Feature To Point arcpy.FeatureToPoint_management(FIREADM_Parcels_MCT, Points, "CENTROID") # Process: Append arcpy.Append_management("%scratchGDB%\\Points", FIREADM_AddrPoints__3_, "NO_TEST", "STREET_NUMBER \"STREET_NUMBER\" true true false 4 Long 0 10 ,First,#,%scratchGDB%\\Points,SITUS_STREET_NUMBER,-1,-1;PG_APN \"PG_APN\" true true false 12 Text 0 0 ,First,#,%scratchGDB%\\Points,APN,-1,-1;STREET_PREFIX \"STREET_PREFIX\" true true false 2 Text 0 0 ,First,#,%scratchGDB%\\Points,SITUS_STREET_DIRECTION,-1,-1;STREET_NAME \"STREET_NAME\" true true false 40 Text 0 0 ,First,#,%scratchGDB%\\Points,SITUS_STREET_NAME,-1,-1;STREET_TYPE \"STREET_TYPE\" true true false 12 Text 0 0 ,First,#,%scratchGDB%\\Points,SITUS_STREET_TYPE,-1,-1;STREET_SUFFIX \"STREET_SUFFIX\" true true false 10 Text 0 0 ,First,#,%scratchGDB%\\Points,SITUS_STREET_SUFFIX,-1,-1;SUITE \"SUIT\" true true false 40 Text 0 0 ,First,#,%scratchGDB%\\Points,SITUS_SUITE,-1,-1;CITY \"CITY\" true true false 40 Text 0 0 ,First,#;NAME \"NAME\" true true false 30 Text 0 0 ,First,#;ESN \"ESN\" true true false 5 Text 0 0 ,First,#;ET_X \"ET_X\" true true false 8 Double 8 38 ,First,#;ET_Y \"ET_Y\" true true false 8 Double 8 38 ,First,#;MODIFY_USER \"MODIFY_USER\" true true false 20 Text 0 0 ,First,#;ADDRESS \"ADDRESS\" true true false 60 Text 0 0 ,First,#,%scratchGDB%\\Points,ADDRESS,-1,-1;AVLZONE \"AVLZONE\" true true false 8 Double 8 38 ,First,#;MAPPAGE \"MAPPAGE\" true true false 16 Text 0 0 ,First,#;SUBZONE \"SUBZONE\" true true false 16 Text 0 0 ,First,#;SOURCE \"SOURCE\" true true false 20 Text 0 0 ,First,#;GLOBALID \"GLOBALID\" false false false 38 GlobalID 0 0 ,First,#;FLAG \"FLAG\" true true false 10 Text 0 0 ,First,#;MODIFY_DT \"MODIFY_DT\" true true false 36 Date 0 0 ,First,#;FLAG_REASON \"FLAG_REASON\" true true false 250 Text 0 0 ,First,#;SUBZONE_OVERRIDE \"SUBZONE_OVERRIDE\" true true false 16 Text 0 0 ,First,#;ACPOINT_X \"ACPOINT_X\" true true false 8 Double 8 38 ,First,#;ACPOINT_Y \"ACPOINT_Y\" true true false 8 Double 8 38 ,First,#;ACPOINT_INFO \"ACPOINT_INFO\" true true false 90 Text 0 0 ,First,#;UNIT_TYPE \"UNIT_TYPE\" true true false 10 Text 0 0 ,First,#;BUILDING \"BUILDING\" true true false 10 Text 0 0 ,First,#;ZIPCODE \"ZIPCODE\" true true false 5 Text 0 0 ,First,#;ACPOINT_INFO2 \"ACPOINT_INFO2\" true true false 300 Text 0 0 ,First,#", "") def XYsetVALUE( shape, X_value, Y_value): myMoveX = 0.001 myMoveY = 0.001 point = shape.getPart(0) point.X = X_value + myMoveX point.Y = Y_value + myMoveY return point