Sunday, 8 March 2015

arcgis desktop - Field Calculator: Split address into house number, street name


I have an ADDRESS field in a table with values like:




  • 1 MAIN ST

  • 20 SIDE AVE W

  • 300 JOHN DOE JR RD S


I want to use the field calculator to split the addresses and insert the parts into HOUSE_NUMBER and STREET_NAME fields. Example:



  • 300 into HOUSE_NUMBER

  • JOHN DOE JR RD S into STREET_NAME


I also want the tool to check if the value that will be put into HOUSE_NUMBER is a valid integer (and ignore it if it isn't).



How can I do this?



Answer



This python script seems to do the trick. It allows the user to choose whether to return the house number or the street name to the field (by commenting-out the non-applicable ReturnType line).


def addressParser(inString):
returnType = "House Number"
#returnType = "Street Name"

splitString = inString.split(' ',1)
houseNumber = splitString[0]
streetName = splitString[1]


if returnType == "House Number":
if houseNumber.isdigit():
return houseNumber
else:
return
if returnType == "Street Name":
return streetName
else:
return

__esri_field_calculator_splitter__
addressParser(!ADDRESS!)

Sources:



No comments:

Post a Comment