Hello Placemaker! - まずは簡単なPOSTから

ここでの動作環境は次のとおり。

  • OS: Mac OS X 10.5.6
  • Webブラウザ: Mozilla Firefox 3.0.10

Placemakerは本稿執筆(6月1日)時点で、POSTによるリクエストのみ受け付けている。簡単なフォームを作って、まずはどのような動作をするかみてみよう。なおPlacemakerのレスポンスについてはXML形式とRSS形式の2種類があるが、本稿のサンプルではXML形式を利用するものとする。

placemaker_post.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Placemaker-post test</title>
</head>

<body>

    <p>■ Placemaker-post test</p>
    <form action="http://wherein.yahooapis.com/v1/document" accept-charset="utf-8" method="post">

        <p>
            documentContent: <input type="text" name="documentContent" value="" size="100">
            <input type="hidden" name="documentType" value="text/plain">
            <input type="hidden" name="outputType" value="xml">
            <input type="hidden" name="appid" value="(Yahoo!のapplication IDを入力)">
            <input type="submit" value="submit">
        </p>

    </form>

</body>

</html>

ここで使用している引数についてはAPI Documentationを参照されたい。実際にこのhtmlを使用する場合は、<input name="appid">の箇所を自分のapplication IDに置きかえてから実行する。実際になにかテキストを入力してPOSTしてみよう。

「渋谷」と入力してPOSTをおこなってみる

POSTしたテキストから位置情報が抽出・解析され、XMLが返ってくる

テキストから位置情報を抽出した結果のXMLが返ってきた。あとはこれを加工して2次利用することでさまざまなアプリケーションが実装可能になる。XMLの定義・要点については次のとおり。(Reference - YDNより一部を抜粋)

contentlocation (root)

  • processingTime: ドキュメントの処理に何秒要したか
  • version: Placemaker APIのバージョン
  • documentLength: ドキュメントのバイト数

document element

  • administrativeScope: ロケーションについての管理上の概要を格納
  • extents: ロケーション一帯についての中心点,南西地点,北東地点の緯度経度を格納
  • placeDetails: テキストからロケーションを抽出した際の解析結果などを格納
  • referenceList: 場所のリファレンスリスト

extents element

  • center: 中心点の緯度経度。地図などと連携させる場合は、中心の緯度経度にこれを利用すればよい
  • southWest: 南西地点の緯度経度
  • northEast: 北東地点の緯度経度

placeDetails element

  • matchType: type判定。0=テキストかテキストと座標, 1=座標のみ
  • weight: ロケーションとの関連度合い。1-100まで
  • confidence: ロケーションの正確さについて。1-100まで

place, adminstrativeScope, and geographicScope elements

  • woeId: ロケーションのWOEID(Where On Earth ID)
  • type: 市区町村の区分
  • name: ロケーションの名前(英語)
  • centroid: 緯度経度情報

reference element

  • woeIds: WOEIDのリスト
  • text: 実際の名前(日本語の地名を含む)
  • type: マーカーのタイプ(plaintext, xpath, xpathwithcountsのいずれか)