Tuesday, 5 July 2016

arcobjects - Configure SoundEx in ArcEngine


Is there a way to configure SoundEx properties in ArcEngine?



This query: "100 Fairvew Rd returns "100 Fairview Rd"


But this query: "100 Farview Rd" returns no results


Is there a way to make the SoundEx a bit less rigid?


Here are some concrete examples I would like to get to work if possible (ie. these are my specs)


100 cen => central ave


100 w laur ave -> 100 w laurel ave


I'm using the IAddressCandidates2 interface to get my candidates.


IArray resultsArray = addressCandidates.FindAddressCandidates(addressProperties);

Answer



Like whuber said, I don't think soundex is configurable, and it would have to be pretty lax to get central from cen. When I needed to make an address matcher that was as permissive as possible, I used the Levenshtein Distance formula. My solution was to normalize the address, query based on the first 3 letters of the street name, and then run each found address through the levenshtein distance function to see how off it was.



As with most algorithms, you can find an implementation in just about any language.


For your situation, I see it matching more frequently for the examples you gave than soundex, but it's likely going to be a lot more code.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...