I need to learn a way in which I can normalize data and in the same process duplicate certain records of a point feature class. The issue is as follows. I am provided address data in the following format (a single field):

"1234, 1236, 1238 Travis Blvd" or "1234/ 1236/ 1238 Travis Blvd"

I currently manually select each individual record in this format, and then make a copy (Ctrl V, Control C) into the target layer (same as origin). In the case above, I would make two copies. I then manually edit the address to make each record unique. It is totally fine that the geography for all resulting points is identical. All other fields in the record should be preserved in this process.

Does anyone have a slick idea on how to automate (script) this task?


You could automate this using a python/arcpy script. The script flow would go something like this:

  1. Generate xy coordinates for all your address features using the Add XY Coordinates tool/code
  2. Create a new address field to hold new address value using Add Field
  3. Use a SearchCursor to iterate through your address feature class/address field and look for multiple number instances that are separated by spaces
  4. Using a conditional if statement, if step 2 is true then select feature, get address field value, and get both x and y field values also
  5. Split out each number and assign them to a list
  6. Next, assign the street name to a separate street variable, adn assign both x and y field values to there own variables
  7. Loop through your address list and pull out an address number and generate the new feature using a Insert Cursor to write new geometrics by using your x and y variable values
  8. Once you pull all the address values out of the list you can delete the source selected feature using Delete Features

Continue cursoring through feature class table until all multiple address features are re-assigned and deleted.

Hope that helps


The links that I gave you were for ArcGIS v10.1, however I believe those arcpy methods exist also in version 10.

  • In step 3, though very fiddly, regular expression can help you analyze each record quickly for different cases of anomalies.
    – awesomo
    Apr 19 '13 at 19:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.