Standard Places Response (SPR)
The "Standard Places Response" (or SPR) is an on-going effort to standardize on a minimum set of properties that Who's On First related services should return when queried.
The SPR is being used by a lot of the software packages written in Go and assumes an interface (contract) that looks like this:
type StandardPlacesResult interface { Id() string ParentId() string Name() string Placetype() string Country() string Repo() string Path() string URI() string Latitude() float64 Longitude() float64 MinLatitude() float64 MinLongitude() float64 MaxLatitude() float64 MaxLongitude() float64 IsCurrent() flags.ExistentialFlag IsCeased() flags.ExistentialFlag IsDeprecated() flags.ExistentialFlag IsSuperseded() flags.ExistentialFlag IsSuperseding() flags.ExistentialFlag SupersededBy() []int64 Supersedes() []int64 }
And this is what looks like to a user doing a point-in-polygon query against the go-whosonfirst-pip-v2 tool:
curl -s 'http://localhost:8080/?latitude=37.787221&longitude=-122.400098&placetype=locality' | python -mjson.tool { "places": [ { "wof:id": 85922583, "wof:parent_id": 102087579, "wof:name": "San Francisco", "wof:placetype": "locality", "wof:country": "US", "wof:repo": "whosonfirst-data", "wof:path": "859/225/83/85922583.geojson", "wof:superseded_by": [], "wof:supersedes": [], "mz:uri": "https://whosonfirst.mapzen.com/data/859/225/83/85922583.geojson", "mz:latitude": 37.778008, "mz:longitude": -122.43127200000001, "mz:min_latitude": 37.639830000000003, "mz:min_longitude": -123.17382499999999, "mz:max_latitude": 37.929824000000004, "mz:max_longitude": -122.28178, "mz:is_current": 1, "mz:is_ceased": -1, "mz:is_deprecated": 0, "mz:is_superseded": 0, "mz:is_superseding": 0, "wof:lastmodified": 1501271725 } ] }