Topics

Mapufacture Developers Box o' Cartography

Mapufacture currently provides several services that developers can integrate into their own projects and sites. First there is a PingAPI that can be used to notify Mapufacture of new or updated feeds and data sources. Once you ping us, we'll take care of the rest and provide your feeds to users to mix into their maps and search. Mapufacture also provides a SearchAPI that you can use to perform geographic searches against Mapufacture's database of feed items. Lastly (for now), we also provide a simple feed conversion utility that you can use to convert geodata from one format to another, such as GeoRSS to KML.

a MAP has many LAYERS which reference a SOURCE that can be made from a KML or RSS or a FILE, and has many ITEMS

API Terms of Use

Mapufacture provides this API for non-commercial use, using the Mapufacture API you are agreeing to the API Terms of Use. In addition, all websites and applications that present data from the Mapufacture API must adhere to the Attribution Guidelines which includes among other things that you display a "Powered by Mapufacture.com" logo on your site or application.

Accessing Items

Mapufacture supports outputting any of our information in a variety of formats: RSS, Atom, KML, JSON, and vanilla XML. To access a page in these formats, just add the appropriate file extension. We also support using the format= URI parameter if necessary. For example, to access the most recent data sources from Mapufacture, you can use any of the following URL's:

  • HTML - http://mapufacture.com/maps
  • GeoRSS - http://mapufacture.com/maps.rss
  • Atom-GeoRSS - http://mapufacture.com/maps.atom
  • GeoJSON - http://mapufacture.com/maps.json
  • KML - http://mapufacture.com/maps.kml
  • XML - http://mapufacture.com/maps.xml
or: http://mapufacture.com/maps&format=atom

Mapufacture provides programmatic access to the following collections:

  • Maps - http://mapufacture.com/maps (atom, rss, json, kml, xml)
  • Feeds - http://mapufacture.com/feeds (atom, rss, json, kml, xml)
  • Tags - http://mapufacture.com/tags (atom, rss, json, kml, xml)
  • Users - http://mapufacture.com/users (atom, rss, json, kml, xml)
In addition, you can access any individual map, feed, tag or user at its respective endpoint. For example: http://mapufacture.com/maps/1206.kml or http://mapufacture.com/users/ajturner.xml.

These endpoints are available in machine-readable format in our Atom and KML documents using the atom:link element. For example, /maps/1206.atom includes links to the other representations for the feed:

<link type="application/atom+xml" href="http://mapufacture.com/maps/1206.atom" rel="self"/>
<link type="application/vnd.google-earth.kml+xml" href="http://mapufacture.com/maps/1206.kml" rel="alternate"/>
<link type="text/html" href="http://mapufacture.com/maps/1206" rel="alternate"/>

Search

Mapufacture provides search on any of the interfaces mentioned above. To filter on Maps, sources, or within an map or source, there are a number of optional search parameters. Together they are put as URI key/value pairs, such as http://mapufacture.com/maps.atom?location=Boston&keyword=events. The available parameters are:

  • keyword - a free-form string to filter search. Applied to title, descriptions, tags, categories. Can further filter by using "field:keyword", for example keyword=title:dogs
  • location - toponymic name (e.g. Boston or France) to search within
  • lat, lon - latitude and longitude of the center of a search. Use with distance
  • distance - the radius distance, in miles, to search about the center
  • bbox - the bounding box string to search within. Order is "west, south, east north"
  • limit - maximum number of results
  • page - page number to get the results of

For a full, up to date search description, check out the OpenSearch description document at http://mapufacture.com/mapufacturesearch.xml. This uses the OpenSearch-Geo and OpenSearch-Time extensions to provide specific filtering on any maps, sources, or items in Mapufacture.

Full Flavored Feeds

Besides the normal entities in Mapufacture's Atom and KML feeds (title, description, location), we have included some additional elements that you may find useful.

Pagination

OpenSearch provides the capability to expose pagination in feeds. So our Atom feeds include links to the next and previous pages, when walking through our Feeds. Using this, you can request feeds in manageable chunks of 20 items, but then walk through the individual pages. So for example, the Atom feed /maps/1206.atom includes the elements:

<opensearch:totalResults>138</opensearch:totalResults>
<opensearch:startPage>1</opensearch:startPage>
<opensearch:itemsPerPage>20</opensearch:itemsPerPage>
<link type="application/atom+xml" href="http://mapufacture.com/maps/1206.atom?limit=20&amp;page=1" rel="first"/>
<link type="application/atom+xml" href="http://mapufacture.com/maps/1206.atom?limit=20" rel="previous"/>
<link type="application/atom+xml" href="http://mapufacture.com/maps/1206.atom?limit=20&amp;page=2" rel="next"/>
<link type="application/atom+xml" href="http://mapufacture.com/maps/1206.atom?limit=20&amp;page=7" rel="last"/>

Additional Support

If you have any questions, neat ideas, or additional thoughts on the development services of Mapufacture, drop us an email at human@mapufacture.com.