This is generally how I started off thinking about this issue as well. However, after mulling it over I think it may not be quite so simple. Take for example, Harwood Union High School. The address listed on the school’s website and the address found in the VT E911 database match except for the city/town name.

Source Address
Website 458 VT Route 100, Moretown, VT 05660
E911 Database 458 VT Route 100, Duxbury, VT 05660

As neither one is a post office box, these are both physical addresses. At first glance it would seem that the 911 address is more correct, since the school is located just inside the municipal boundary of Duxbury. However, it can also be argued that the website address is more correct since the school is much closer to the village of Moretown than the village of Duxbury. The USPS says it will also accept South Duxbury as a city name for addresses in the 05660 zip code.

It is reasonable to imagine that at least some people will use the Moretown form of the address to look up the location of this school since that is what is published on their website. Some may use the Duxbury form, and still others may use the South Duxbury form. Ideally a geocoder should be able to find the correct location with a search for any of these strings:

  • 458 VT Route100, Moretown, VT 05660
  • 458 VT Route100, Duxbury, VT 05660
  • 458 VT Route100, South Duxbury, VT 05660
  • 458 VT Route100, Moretown, VT
  • 458 VT Route100, Duxbury, VT
  • 458 VT Route100, South Duxbury, VT
  • 458 VT Route100, 05660

For this to be possible it seems to me like tagging all commonly used cities names on an address node would be necessary. contact:city could be used in addition to addr:city but that only allows for two. Semi-colon separator? like so:

addr:city=Duxbury
addr:contact=Moretown;South Duxbury

addr:alt_city could be another option.

2 Likes