Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
{
    "inputAddressString": "100 Main St", 
    "inputZipCodeString": "94105", 
    "spatialReference": {
        "wkid": 4326
    }, 
    "foundMatch": true, 
    "foundEasMatch": false, 
    "candidates": [
        {
            "address": "100 MAIN ST", 
            "location": "POINT (-122.3948959209805700 37.7917552676099080)", 
            "score": null, 
            "attributes": {
                "StreetName": "MAIN", 
                "StreetType": "ST"
            }, 
            "addressNumber": "100", 
            "street": {
                "streetNamePrimary": {
                    "base_street_name": "MAIN", 
                    "street_type": "ST"
                }, 
                "streetNameAliases": [], 
                "l_f_add": 101, 
                "l_t_add": 199, 
                "r_f_add": 100, 
                "r_t_add": 198, 
                "seg_cnn": 8628000, 
                "geometry": "MULTILINESTRING ((-122.3949402377882200 37.7918420903234780, -122.3934079394635700 37.7906126704266400))"
            }, 
            "zipCode": "94105", 
            "jurisdiction": "SF MAIN"
        }
    ], 
    "validations": [], 
    "didYouMean": []
}
Results

...

and Performance

We have tested the DEV implementation against all the Treasurers data with these results:of the Treasurer/Tax Collector addresses; here are the results.

found street matchfound eas matchcountpercent
falsefalse14442.72
truefalse648112.24
truetrue4499685.02
  52921100

The service processes about 500 addresses per minute which should be fine for our purposes.
We have done no performance optimization so we can probably make it faster if you have a compelling reason.
We have written

Technical Details

If you are interested in technical details you can find the code mostly in 2 places.
More or less...

And in an effort to set a good example we have written real unit tests which you can see here.!

Examples

The nominal example:

...