チュートリアル 2: 新規マップの作成

これは、Db2®および Esri ArcGIS を使用した地理空間データの分析方法を示す 3 つのチュートリアルのうちの 2 番目です。

このチュートリアルのビデオ・バージョンを表示するには、ここを参照してください。

このチュートリアルでは、以下のタスクの実行方法を示します。

  • 新規マップの作成。
  • マップ上の領域に関する情報の取得。

所要時間

10 分

シナリオ

あなたは、大規模な保険会社のデータ・サイエンティストであり、米国内での竜巻の発生を分析するとします。最も多くの竜巻が発生する郡を判別します。また、竜巻の発生と顧客データを関連付けて、会社の竜巻の損害による支払いリスクのレベルが最高の郡を判別します。

難易度

初級

対象読者

データ・サイエンティスト

システム要件

  • Windows 7 Ultimate、Professional および Enterprise (32 ビットおよび 64 ビット [EM64T])
  • Windows 8 Pro および Enterprise (32 ビットおよび 64 ビット [EM64T])
  • Windows 8.1 Pro および Enterprise (32 ビットおよび 64 ビット [EM64T])

前提条件

このシナリオでは、地理空間データを視覚化したり分析したりするために、Db2に接続されている Esri ArcGIS for Desktop インストールを使用します (Esri ArcGIS for Desktop の接続を参照してください)。このシナリオのデータは既に Db2のデータベースにロードされています。このシナリオでは、ベース・マップの操作方法を既に理解していることが前提となります。

竜巻の密度を示す新規マップの作成

最初のクエリーは、2009 年以降に発生した竜巻のマップを作成するために使用されます。対応する SQL 照会は、Db2に転送され、データベース内照会として実行されます。これにより、Db2のパフォーマンスとスケーラビリティーの利点が得られます。

手順

  1. 最初に、マップを基本状態に戻します。これを行うには、竜巻および郡のクエリー・レイヤーのチェック・ボックスをクリアします。現在のマップ・スケールは、顧客のクエリー・レイヤーの最小スケール設定よりも大きく、このクエリー・レイヤーのデータの点は表示されないため、チェック・ボックスをクリアする必要はありません。次に、「ファイル」 > 「データの追加」 > 「クエリ レイヤーの追加」をクリックします。
  2. 表示されるウィンドウで、Db2のデータベースへの接続を選択します。ウィンドウにはデータベース内の表がリストされます。新規レイヤーに名前を割り当てます。ここでは、名前に COUNTY_TORNADO_DENSITY を使用します。次に、クエリー・フィールドに SQL 照会を入力します。

SELECT COUNTY.OBJECTID, COUNTY.NAMELSAD, COUNTY.SHAPE, 
       COALESCE(tornadoes_PER_COUNTY.TORNADO_COUNT,0) 
       / ((COUNTY.ALAND + COUNTY.AWATER) 
       * DECIMAL('3.86102159E-7', 20, 15)) AS COUNTY_TORNADO_DENSITY
       FROM SAMPLES.GEO_COUNTY AS COUNTY
       LEFT OUTER JOIN (
       SELECT COUNTY.OBJECTID, COUNT(COUNTY.OBJECTID) AS TORNADO_COUNT
       FROM SAMPLES.GEO_COUNTY AS COUNTY, SAMPLES.GEO_TORNADO AS TORNADO
       WHERE INT(TORNADO.YR) >= 2009
       AND DB2GSE.ST_INTERSECTS(TORNADO.SHAPE, COUNTY.SHAPE) = 1 SELECTIVITY 0.00001
       GROUP BY COUNTY.OBJECTID) AS tornadoes_PER_COUNTY
       ON COUNTY.OBJECTID = tornadoes_PER_COUNTY.OBJECTID

  1. 「整合チェック」をクリックして、クエリーが正しく入力されていることを確認します。「完了」をクリックして、「空間参照範囲の使用」をクリックします。
    クエリー・レイヤーの整合チェック
  2. クエリーの結果を示す表を表示するには、クエリー・レイヤーを右クリックして、「属性テーブルを開く」を選択します。
    クエリー・レイヤー・メニューの「属性テーブルを開く」の選択
  3. 属性表には、クエリーによって計算された竜巻の密度に関する新しい情報を含めた、各郡に関する情報が表示されます。
    属性表
  4. 郡を色分けすることによって、竜巻の密度に関する情報をマップに追加できます。これを行うには、クエリー・レイヤーを右クリックして、「プロパティ」を選択します。
    クエリー・レイヤー・メニューの「プロパティ」の選択
  5. 「シンボル」タブを選択して、リストから「数値分類」を選択します。「等級色」ページで、各郡の色およびシェーディングを決定するために、クエリー・レイヤー出力のどの列を使用するかを「値」フィールドに指定します。「COUNTY_TORNADO_DENSITY」を選択します。「カラー ランプ」フィールドで、さまざまな事前定義のカラー・グラデーションから選択できます。このシナリオでは、青色のグラデーションを選択します。4 つの密度クラスが必要なので、クラスの数を 4 に設定し、「OK」をクリックして確認します。
    竜巻の密度を視覚化する色の指定
  6. これで、マップに郡ごとの竜巻の密度が表示されます。
    郡の竜巻の密度
  7. パン機能 (Shift キーを押したままにすることを忘れないでください) を使用してズームインし、詳しく見てみます。 終了時には、スケールを 1:25000000 に戻してください。
    選択した領域のズームイン

リスクの高い領域を示す新規マップの作成

保険会社は、リスクの高い郡、つまり、竜巻が高密度であるため竜巻の損害のリスクが高く、被保険物の総価値も高い郡を識別することに関心があるでしょう。これを行うには、顧客、竜巻、および郡の各表のデータを結合する新規クエリー・レイヤーを作成し、そのデータを使用してリスク因子を計算します。このシナリオでは、竜巻の密度とすべての保険契約の総価値に基づく単純なリスク因子を計算します。

手順

  1. 最初に、ベース・マップを除く、コンテンツのすべてのクエリー・レイヤーのチェック・ボックスをクリアします。クエリー・レイヤーを追加し、接続を選択し、名前 COUNTY_TORNADO_RISK を指定します。次に、クエリー・フィールドに SQL 照会を入力します。


       SELECT COUNTY.OBJECTID, COUNTY.SHAPE, COUNTY.NAMELSAD, COALESCE(CUSTOMERS,0) CUSTOMERS, 
       COALESCE(tornadoes_PER_COUNTY.TORNADO_COUNT,0) 
       / ((COUNTY.ALAND + COUNTY.AWATER) 
       * DECIMAL('3.86102159E-7', 20, 15)) 
       * COALESCE(CUSTOMERS,1) AS COUNTY_TORNADO_RISK
       FROM SAMPLES.GEO_COUNTY COUNTY 
       LEFT OUTER JOIN (
       SELECT COUNTY.OBJECTID, COUNT(COUNTY.OBJECTID) AS TORNADO_COUNT
       FROM SAMPLES.GEO_COUNTY AS COUNTY, SAMPLES.GEO_TORNADO AS TORNADO
       WHERE INT(TORNADO.YR) >= 2009
       AND DB2GSE.ST_INTERSECTS(TORNADO.SHAPE, COUNTY.SHAPE) = 1 SELECTIVITY 0.00001
       GROUP BY COUNTY.OBJECTID) AS tornadoes_PER_COUNTY
       ON COUNTY.OBJECTID = tornadoes_PER_COUNTY.OBJECTID
       LEFT OUTER JOIN (
       SELECT COUNTY.OBJECTID, COUNT(CUSTOMER.OBJECTID) AS CUSTOMERS
       FROM SAMPLES.GEO_COUNTY AS COUNTY, SAMPLES.GEO_CUSTOMER AS CUSTOMER
       WHERE CUSTOMER.INSURANCE_VALUE > 2000000
       AND DB2GSE.ST_INTERSECTS(CUSTOMER.SHAPE, COUNTY.SHAPE) = 1 SELECTIVITY 0.00001
       GROUP BY COUNTY.OBJECTID) AS CUSTOMERS_PER_COUNTY
       ON COUNTY.OBJECTID = CUSTOMERS_PER_COUNTY.OBJECTID
        

  1. 「レイヤ プロパティ」ウィンドウを開き、結果の表示方法を指定します。各郡の色およびシェーディングを決定するために使用されるクエリー・レイヤー出力の列も、COUNTY_TORNADO_RISK と呼ばれます。「カラー ランプ」フィールドで、赤色のグラデーションを選択します。4 つのクラスを使用することを指定します。次に、「OK」をクリックします。
    高リスク領域の視覚化の指定
  2. 結果のマップでは、各郡の色の濃さが、保険契約の総価値の高さと結合させた竜巻のリスクの高さの度合いを示しています。
    高リスク領域が濃い赤の色調で表示されたマップ
    2 つのクエリー・レイヤーのチェック・ボックスのチェック・マークを切り替えると、2 つのマップ間で切り替わり、2 つのクエリーの結果を比較できます。

郡の詳細情報の取得

手順

  1. 新規クエリー・レイヤーの属性表を開くと、各郡に存在する顧客の数が CUSTOMERS 列に表示されます。
    新規クエリー・レイヤーの属性表
  2. ArcMap の個別属性ツールを使用して、マップ上の領域に関する情報を表示できます。最初に、マップの領域をズームインしてから、メニュー・バーの個別属性ツールを選択します。
    いくつかの高リスクの郡を含む領域のズームイン
  3. マップの上にカーソルを移動すると、ポインターの横に文字「i」の小さいアイコンが表示されます。ズーム機能を使用する場合と同じ方法で個別属性ツールを使用します。Shift キーと左マウス・キーを押したまま、ポインターをドラッグして、マップ上に長方形フレームを作成します。次に、左マウス・キーを離します。
    個別属性ツールを使用した領域の選択
  4. 選択した領域内の各郡に関する情報、例えば、ID、名前、顧客の数、竜巻の密度などを示すウィンドウが表示されます。リストから郡を選択するごとに、表の値が更新され、その郡がマップで緑色で明滅します。
    選択した郡の表示
    個別に郡のデータを検討し終えたら、表を閉じて、マップのスケールを 1:25000000 に戻します。特定表を閉じて、ベース・マップ以外のすべてのチェック・ボックスをクリアします。

チュートリアルのまとめ

新規マップを作成するには、不要なクエリー・レイヤーをすべて削除し、新規マップに含める情報を提供するクエリー・レイヤーに置き換えます。個別属性ツールを使用して、マップ上の領域に関する詳細情報を取得します。