OCLC Research Experimental
MapFAST (FAST Subject Location) Web Service

MapFAST API Documentation

Overview

This Web Service provides a list of FAST Geographic or Event Subject Headings that are near a given coordinate, ranked by distance from the requested point.

Try the Google Map Mashup MapFAST that uses this service.

Encoding

The APIs expect all requests to be UTF-8 encoded. Responses are also UTF-8 encoded.

More information about UTF-8

Request Formats

REST is the simplest format to use and the only request format currently supported. REST requests consist of URLs that can be invoked either via HTTP POST or GET methods, either programatically or via a WEB browser. For example:

http://experimental.worldcat.org/mapfast/services?geo=-33.863,151.208;crs=wgs84&mq=&sortby=distance&max-results=3

This location is Sydney, Australia, and the three closest headings are returned in this example. From a Web browser, a text file with JSON output is returned.

Request parameters

geo=latitude,longitude; latitude -90 to +90, longitude -180 to +180; decimal format.
radius=nnnn; meters- search radius, allowed between 1000 and 200000m
crs=wgs84; specifies the coordinate reference system is the World Geodetic System 84 Standard - currently only system implemented
sortby=distance; specifies the coordinate reference system is the World Geodetic System 84 Standard - only system implemented
max-results=nn; specifies the coordinate reference system is the World Geodetic System 84 Standard - only system implemented
mq=feature; the geographic feature type - see Note 2
box=swlatitude,swlongitude,nelatitude,nelongitude,; alternate to geo & radius, constructs a latitude logitude box. Same format as geo=. The size is adjusted at search time to approximate the limits shown in radius.
callback=?; This makes the request JSONP, where a javascript function call is returned around the JSON data. The ? is required, and an random function name is returned when no parameter is given to process anonymous callback function. Otherwise the parameter is the callback function name.

Response Formats

REST/JSON is the only response format currently supported. Since no results are possible from many searches, no failure is indicated in the return.

The JSON content follows the KML standard for geographic data.

The JSON response is in a series of name/value pairs

For JSONP the JSON reponse is contained in a javascript function call.

name = FAST Authority Records
Status = ( code= 200 ; request = geocode )
Placemark = [Array of placement results]

The placemark contents are:
id = FAST Record Number
name = FAST Heading
description =
point = ( coordinates = longitude:latitude )
ExtendedData = array of additional information in name/value pairs, including

name = NormalizedName; value = normalized FAST Authority heading suitable for adding to an Open WorldCat query
name = feature; value = a code indication the type of place represented by the heading, such as populated place (abbreviated as ppl), mountain, or event (Note 1)
name = FCode; value = single letter collecting feature types.(Note 2)

Sample Code

A sample "how to "search and jQuery javascript processing code are provided here for use with this API.

Notes

Note 1: The feature codes are are a subset of the Geonames Geographic Feature Codes, which are used in LCSH to indicate the type of geographic location. Event has been added here.

Note 2: These single letter codes collapse the feature codes into common types. These are:

P=Populated Places
A=Regions or Governmental Districts
H=Lakes, Rivers, Streams
E=Even
T=Other
U=Undefined