Versions Compared

Key

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

...

In collaboration with the Treasurer/Tax Collector we are making a restful street address validation geocoding service available.
This  This page describes this service.
This is the first version and we are waiting on the Treasurer to commentWe are trying to follow the OGC standard which is described here.

The Service

Here is the DEV URL with an example address of "100 Main St":

http://10.250.60.189/validatestreetNetwork/streetAddress/ADDRESS STRING/geocode/findAddressCandidates?f=json&Address=100 Main St&Zip=94131

This validation uses the street segment network only.
These data are carefully maintained by Dept of Public works.
This service does not validate against the EAS addresses.

This returns JSON like so:

Code Block
{
    "addressStringinputAddressString": "100 mainMain St", 
    "inputZipCodeString": "94131", 
    "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": [
        [
            "WARNING", 
            "your zip code appears be inconsistent with the USPS map"
        ]
    ], 
    "didYouMean": []
}

We strongly prefer JSON but we can produce XML if you buy us a beer.
We have tested the DEV implementation against a random sample of 1% of the Treasurers data and the success rate is about 95%.
You can see the unit tests here.
We get parse failures on addresses like this one: PMB 169 3701 SACRAMENTO ST
In the next iteration I am planing on including geocoding and zip code look up.

...