サンプル用のデータベースを取り込む
まずは、サンプル用のデータベースをSQLサーバーに取り込みます。
このデータベースには、都道府県境の地理情報と都道府県別の人口が格納されています。次の手順でSQLサーバーに取り込みましょう。
データベースのアタッチ
- サンプルのデータベース、XamMapDB.zipをダウンロードする。
- zipファイルを解凍し次の2ファイルを確認する。
- XamMapDB.mdf
- XamMapDB_log.ldf
- SQLServer ManagementStudioを起動し、ローカルのデータベースに接続する(※使用しているOSが、Vistaや7の場合は管理者権限で実行してください)
- データベース上で右クリックし、アタッチを選択し、データベースのアタッチ画面を表示します。
- データベースのアタッチ画面で追加ボタンを押し、XamMapDB.mdfを選択しOKボタンで完了します。
- XamMapDBが、SQLサーバーにアタッチされます。
データベースの確認
アタッチしたデータベースの内容を確認します。
都道府県境の地理データ
XamMapDBデータベースのPrefectureテーブル上で右クリックし、上位1000行の選択を実行し、Prefectureデータを取得します。すると空間結果タブで、日本の都道府境の地理データを地図の形で確認することができます。
都道府県別の人口データ
XamMapDBデータベースのPopulationテーブルには、都道府県別の人口が格納されているので、確認してください。PopulationテーブルのPrefectureId列とPrefectureテーブルのId列で関連しています。
都道府県別の地理データと人口データを取得するストアド プロシージャ
XamMapDBデータベースのストアド プロシージャには、GetPrefecturePopulationという名前のストアド プロシージャが定義されています。GetPrefecturePopulationは、PrefectureテーブルとPopulationテーブルを結合し、都道府県別の地理データと人口を取得するSelect文を実行した結果を返します。
テーブルを分割した理由
ところで、このサンプルだけでの利用に限っては、Prefectureテーブル、Populationテーブルと分割する必要性はありません。しかし、カスタマイズしやすさを考え、このような構成としました。
たとえば、人口ではなく、売上データを表示したい場合。このデータベースに都道府県別の売上データを持つテーブルを作成しデータを入れることで、簡単にカスタマイズすることができるのです。
以上で、サンプル用のデータベースを取り込むことができました。次に、取り込んだデータをXamMapに表示するSilverlightアプリケーションを作成します。