Live Labs Pivot
先月開催された開発者向けイベント
Pivotは、
使ってみようPivot
Pivotの入手
Pivotは現在、
推奨環境はWindows Aeroが有効なWindows 7、
さらに、
そして、
Pivot Collection Gallery
インストールできる環境にある方は、
図1がPivotの画面です。Pivot用のサンプルコンテンツがあらかじめいろいろと用意されています。Pivot Collection Galleryから適当なものを選択すると閲覧できます。

実際に操作するか動画を見ないことには、
アイテムビューとグラフビュー
図2がサンプルのコンテンツのひとつを閲覧したところです。ある集合を図のように画像の集合として一覧できます。Pivotで扱うデータは今のところ画像として表示できるものに特化しています。Pivotでは、

右上のボタンをクリックすることで表示方法を切り替えられます

フィルターパネル
ウィンドウ左側のパネルを使用して、

このフィルタリングできるグループは、
インフォパネル
マウスのホイール操作や画像をクリックすることによって、

アイテムの関連するWebページがある場合、
以上のようにPivotを使用すると多くの情報を一覧したり、
コレクションとアーキテクチャー
ここからは、
コレクション
Pivotで扱うコレクションは次のふたつの要素から成っています。
- 画像ファイル群
- Deep Zoom Image
(DZI) - Deep Zoom Collection
(DZC)
- Deep Zoom Image
- XMLファイル
- Collection XML
(CXML)
- Collection XML
ひとつめは、
もうひとつは、
Pivotはこれらにアクセスし、
アーキテクチャー
コレクションを表すCXMLなどの各ファイルは、

Pivotを実際に使用してみるとわかりますが、
Deep Zoom ImageとDeep Zoom Collection
Pivotで使用しているDeep Zoom形式のファイルはどのようなものなのでしょうか。その内容を確認してみましょう。
Deep Zoomでは、
Deep Zoom Image(DZI)
Deep Zoom Imageは、


この画像のXMLファイルは以下のようになります。
<?xml version="1.0" encoding="utf-8"?>
<Image TileSize="254" Overlap="1" Format="jpg"
ServerFormat="Default" xmlns="http://schemas.microsoft.com/deepzoom/2009">
<Size Width="1024" Height="768" />
</Image>
XMLは単純な内容ですね。このDeep Zoom Imageは、
Deep Zoom Collection(DZC)
Deep Zoomはひとつの画像を表示するだけの技術ではありません。一度に多くの画像を表示することも可能です。一度に表示する複数のDeep Zoom Imageを表したものがDeep Zoom Collectionです。
Deep Zoom Collectionも、

XMLファイルの内容は、
<?xml version="1.0" encoding="utf-8"?>
<Collection MaxLevel="7" TileSize="256" Format="jpg"
NextItemId="8" ServerFormat="Default" xmlns="http://schemas.microsoft.com/deepzoom/2009">
<Items>
<I Id="0" N="0" Source="images/Chrysanthemum.xml">
<Size Width="1024" Height="768" />
</I>
<I Id="1" N="1" Source="images/Desert.xml">
<Size Width="1024" Height="768" />
</I>
<I Id="2" N="2" Source="images/Hydrangeas.xml">
<Size Width="1024" Height="768" />
</I>
<I Id="3" N="3" Source="images/Jellyfish.xml">
<Size Width="1024" Height="768" />
</I>
<I Id="4" N="4" Source="images/Koala.xml">
<Size Width="1024" Height="768" />
</I>
…
</Items>
</Collection>
Pivotは、
Collection XML
Pivotのコレクションを表すもうひとつの要素であるCollection XML
図10は、

CXMLの拡張子は.cxmlを使用します。その内容は次のようになっています。
<?xml version="1.0" encoding="utf-8"?>
<Collection xmlns:p="http://schemas.microsoft.com/livelabs/pivot/collection/2009"
SchemaVersion="1.0" Name="My Pictures"
xmlns="http://schemas.microsoft.com/collection/metadata/2009">
<FacetCategories>
<FacetCategory Name="Rating" Type="String" p:IsFilterVisible="true" p:IsWordWheelVisible="true" p:IsMetaDataVisible="true" />
</FacetCategories>
<Items ImgBase="MyPictures_files\collection.xml">
<Item Id="0" Img="#0" Name="菊">
<Facets>
<Facet Name="Rating">
<String Value="0.8" />
</Facet>
</Facets>
</Item>
<Item Id="1" Img="#1" Name="砂漠">
<Facets>
<Facet Name="Rating">
<String Value="0.5" />
</Facet>
</Facets>
</Item>
...
</Items>
</Collection>
ここで重要なキーワードがあります。それが
- Facet Category と
- Facet
です。
Facet Categoryとはアイテムの持つ情報のカテゴリーに相当します。今回の場合
Facetはアイテムの実際の値、
Ratingの値はString
CXMLの中には、
コレクションの種類
CXMLに含めるアイテム数を多くすると、
- シンプルコレクション
もっとも基本的なコレクションです。ひとつのコレクションは最大3000個程度のアイテムを持ち、
CXMLおよびDZCファイルは静的に1個ずつ存在します。Pivotが一度にダウンロードする基準にもなります。 - リンクコレクション
シンプルコレクションよりも多くのアイテムを扱いたい場合に、
シンプルコレクションを複数組み合わせたコレクションです。アイテムのFacetにそのアイテムの関連するコレクションへのリンクを指定することでコレクション同士を関連付けています。複数のCXMLおよびDZCファイルから成ります。 - ダイナミックコレクション
さらに膨大なアイテム数を扱いたい場合、
ユーザーのクエリーによって動的にCXMLとDZCファイルを生成して実現するコレクションです。ただし、 この場合もアイテム数分のDZIファイルはあらかじめ生成しておくことが想定されています。
いかがでしたでしょうか。今回はここまでです。次回は実際にオリジナルのPivot用コレクションを作りたいと思います。