Awesome
go-whosonfirst-libpostal
Go tools for working with libpostal (sometimes in the service of Who's On First)
Install
Make sure you have Go
and libpostal
installed. Then
make bin
wof-libpostal-server
$> ./bin/wof-libpostal-server -options
Usage of wof-libpostal-server:
-gracehttp.log
Enable logging. (default true)
-host string
The hostname to listen for requests on (default "localhost")
-port int
The port number to listen for requests on (default 8080)
Note you will need to install the underlying libpostal C library yourself in order for wof-libpostal-server
to work.
wof-libpostal-server
exposes the following endpoints:
Endpoints
GET /expand ?address=ADDRESS
This endpoint accepts a single address
parameter and expands it into one or more normalized forms suitable for geocoder queries.
curl -s -X GET 'http://localhost:8080/expand?address=475+Sansome+St+San+Francisco+CA' | python -mjson.tool
[
"475 sansome saint san francisco california",
"475 sansome saint san francisco ca",
"475 sansome street san francisco california",
"475 sansome street san francisco ca"
]
GET /parse ?address=ADDRESS
This endpoint accepts a single address
parameter and parses it in to its components.
curl -s -X GET 'http://localhost:8080/parse?address=475+Sansome+St+San+Francisco+CA' | python -mjson.tool
[
{
"label": "house_number",
"value": "475"
},
{
"label": "road",
"value": "sansome st"
},
{
"label": "city",
"value": "san francisco"
},
{
"label": "state",
"value": "ca"
}
]