Reporting ServicesでShapefileを利用したレポートを作成する [SSRS with Bing Maps #7]

大変ご無沙汰しております。
佐久間です。

前回のBing Mapsとの連携から半年。
この間社内向けの情報発信の場を立ち上げたりと”中”の仕組み作りに注力していました。
それが軌道に乗り始めたので”外”の情報発信を再開します。

「Reporting ServicesとBing MapsでWEB上のHTMLデータを可視化するレポートを作成する」

第7回目はシェープファイルにデータをマッピングします。(連載の目次はこちら)

3. データを表示するレポートを作成する:Reporting Services
3-1. Bingとの連携
 3-1-1. データソースの設定とチューニング
 3-1-2. レポートの作成

3-2. シェープファイルへのマッピング ← 今回

参考. Windows FormsやASP.NetからSSRSのレポートを利用する

参考-1. Windows FormsからSSRSのレポートを利用する
参考-2. ASP.NetからSSRSのレポートを利用する
3. データを表示するレポートを作成する:Reporting Services
 3-2. シェープファイルへのマッピング
– シェープファイルの準備 –

シェープファイルとは地理情報システム (GIS)で標準的に用いられるファイル形式です。
この記事ではこちらで配布されている日本地図のシェープ ファイルを使用しています。

ShapeFile

上記にて別途配布されているMapBrowserでダウンロードしたファイルを開くと地図が表示されます。

MapBrowser

画像下部のグリッドは都道府県毎に設定された属性情報です。
今回はデータ中の都道府県IDをシェープファイルにマッピングしたいので属性「ID_1」を書き換えます。
しかし残念なことに、このMapBrowserには編集機能がありません。
代わりにMS Accessを使って「*.dbf」ファイル(DBase 形式)を開くと属性値を変更できます。

シェープファイルの編集

都道府県マスタのIDですべて書き換えたらもう一度MapBrowserで開いてみましょう。
「ID_1」が書き換わっていれば下準備完了です。

編集後の属性情報

– Mapの作成 –

1.シェープファイルの指定

シェープファイルの指定

新しいレポートを作成して前回と同様にデータソースの設定を行い、「マップ」を配置します。
今回は「ESRIシェイプファイル」を選び、先ほど編集したシェープファイルを指定してください。

2.空間データとマップビューのオプションを選択

空間データとマップビューのオプションを選択

ここはそのままでOK。

3.視覚エフェクトを選択

視覚エフェクトを選択

「色分析マップ」を選択。

4.分析データセットの選択

分析データセットの選択

「前に選択した空間データに関連付けるフィールドを含むデータセットを追加します。」を選択。

5.データソースへの接続の選択

データソースへの接続の選択

データソースを選択。

6.クエリのデザイン

クエリのデザイン

作成済みのストアド「GetMapData」を指定。

7.空間データと分析データの一致フィールドを指定します

空間データと分析データの一致フィールドを指定

シェープファイルの「ID_1」と都道府県IDをマッピング。

8.配色テーマとデータの視覚エフェクトを選択

配色テーマとデータの視覚エフェクトを選択

表示するフィールドとラベルの表示データフィールドに「Count(地震データID)」を指定。

9.マッピングの型変換

レイヤーデータを編集

分析データの項目を開く

都道府県IDをString型に変換

「ID_1」は文字列なので、マッピングする都道府県IDを文字列に変換。

必要な設定は以上です。
あとはタイトルや表示設定をお好みで設定すれば下記のようなマップが表示され、
各都道府県の上に件数が表示されます。

県別地震発生回数マップ

いかがでしょう?
シェープファイルの扱いはちょっと面倒ですが、
データとシェープファイルのマッピングは驚くほど簡単ではありませんか?

他にもフロアマップをシェープファイルで表現してテナント毎の売り上げを表示させたり、
倉庫の棚を表現して在庫の位置と個数を表示させたりと、
アイデア次第でいくらでも応用が効く仕組みなので是非とも試してみてください。

次回はReporting Servicesのレポートをアプリに組み込みます。


ネクストスケープ企業サイトへ

NEXTSCAPE

検索する

タグ

メタデータ

投稿のRSS

著者

データベースの中のデータはその企業の財産のはず。
しかし現実にはユーザー自身が自由に見れないことが多い。

データを未来のために活かせる状態にすることを求めるエンジニアです。
「sakuma」さんの全ポストを読む