ThinkGeo.com    |     Documentation    |     Premium Support

Filter result list according to input state name

Hello,


In the changelog for v5, there is a note 'Added ability to filter the result list according to input state name'.  Can you elaborate on this - is there a way to limit geocoder to search in one state through code?  I just received the latest version of geocoder (v5) and per my initial tests it is significantly slower than v4 - I wonder if there is anything I can do to speed it up.


Thanks



Val, 
  
 Thanks for your post, there are two ways can filter the result list according to the input state name, please see the APIs below: 
  
 Collection<GeocoderMatchItem> UsaGeocoder.Match(string sourceText); 
 Collection<GeocoderMatchItem> UsaGeocoder.Match(string streetAddress, string city, string state); 
  
 For the first API, you can input the address what you want to search that includes the state, for example,  input "St Andrews Drive 66047 KS" and geocode, you can get all of the searched results within the KS state. When you use this API to search please note: for the street address, you must to input either street number or zip code, if not you cannot searched out any results for street.  
  
 For the second API, you can input the street address, city and state separately, for example, input "St Andrews Drive 66047, Lawrence, KS", then split and pass them to the Match function.  
  
 In addition, for the performance issue, actually the v5 is a just a little slower than v4, the reason is from the new Geocoder index data, the new index data has big change than the v4, it improves the geocode accuracy and range.  
  
 Hope the answer is helpful for you, 
  
 Any more questions please let me know, 
  
 Thanks, 
  
 Scott,

Hi Val,


When I search for 123 foothill, san dimas, ca I get 69 results including some from out of state (TX) (although CA data is all at the top of the list).  This is ok for this search, but when I search for main st... I get 9000+ results.  Any way to say 'give me those ONLY from the state I reqauested?


 


.Ryan.



Ryan, 
  
 Thanks for your post,  
  
 If you used this API to geocode:  
  
 Collection<GeocoderMatchImte> UsaGeocoder.Match(string sourceText);  
  
 You must to input the zip code to get the precise results for the input state name, the reason is that if you don’t input the zipcode, we cannot determine what’s the exact state name in the input string, for example, if you input “1617 St Andrews Drive Lawrence KS” we cannot determine the KS is the state name, maybe it is a county name or city name or anything else. So you can see it returns many results. Please input the zipcode to reduce the geocode range. 
  
 If you used the second API to geocode: 
  
 Collection<GeocoderMatchItem> UsaGeocoder.Match(string streetAddress, string city, string state);  
  
 So you don’t need to input the zip code to filter the results, we can determine the city name and state name exactly according to the passed parameters and return the precise results. 
  
 Any more questions please let me know, 
  
 Thanks, 
  
 Scott,

I just have a quick question that’s related to this topic.  
  
 When I use the API:  
  
 Collection UsaGeocoder.Match(string streetAddress, string city, string state); 
  
 It has matches in the collection that are from multiple states.  For example, when searching for something where the street address is “### Main Street”, with the state being something like “WI” the collection holds matches from every state - not too surprising since Main Street is a common street name.  However, the collection is rather large - containing thousands of matches - and takes a significant amount of time to return(multiple seconds).  I was just wondering, is there a way to make sure the collection that returns doesn’t contain matches from other states?  I’m thinking if other states are ignored, then the collection should be smaller, which in turn would allow it to return faster. 
  
 I just double checked and I’m using the 5.0.0.0 version geocoder dll. 
  
 Thanks, 
  
 Ryan

Ryan, 
  
 Thanks for your questions! 
  
 According to my tests, it is a real bug for this API and we just fixed it, please get the latest version from the DailyBuild of Development branch tomorrow and take a try again, 
  
 Thanks, 
  
 Scott,

Hey Scott, 
  
 I downloaded the daily build today and it works like a charm. 
  
 Thanks, 
  
 Ryan

Ryan, 
  
 You are welcome, if you still have any more questions please let me know, 
  
 Thanks, 
  
 Scott,