【JKI】003_CDC Cancer Data_03_MapViz
【地図への可視化】
Just KNIME It!の第3回目の挑戦はひとまずは終わったので、後は自分の興味の赴くままに勉強を続けています。
難易度はEasyだと書いてありましたが、正解が一つではないので自分なりに相当考えることになりました。
リアルワールドのデータ解析では解釈次第で結論が大きく変わるのが常。良い勉強になったと出題者に感謝しています。
今回提出したWF部分もまた一つの結論なのでそこはこれ以上取り上げないで、得られた結果の可視化について以下で調査検討してみました。
アメリカの地図上に州別に比率を色の濃淡で可視化してみたいと思っていました。
課題のイラストもそうでしたが、実は今回のデータ提供元であるCDCのホームページでもまさに地図上への可視化を実装しているのです。
【MapVizコンポーネント】
KNIMEで実装するために下記のWFを入手し、MapVizコンポーネント部分を観察してみました。
どうやらこのMapVizコンポーネントはそもそも単独でKNIME Hubから入手できるようです。英語版ではありますが。
【Open Street Map Integration】
そしてMapVizコンポーネントを動かすには下記のextensionsをインストールする必要があります。
参考: ご利用は計画的に
まっきーさんが常々おっしゃる通り、あまり使わないextensionsを入れ過ぎると起動時に重くなったり、他の方に渡した時にその方の環境でKNIME workflow (WF)が動かないなどのリスクは確かにあります。
今回は赤色下線を引いたアイコンのKNIME Open Street Map Integrationを入れました。正直KNIMEの起動時間が長くなったと感じています。
私の場合はJKI (Just KNIME It!) を初めてから既に2つextensionsを加えており、上図の状態です。他のケモインフォマティクス系のものはTeachOpenCADD関連ですね。
【コンポーネントの観察】
Infocom社さんが提供しているWF内のMapVizコンポーネントを開いてみました。
元のWFとは入力データが異なるのでカスタマイズは必須ですが、どんな流れでデータを処理したらいいのかを知るためにはいい教材です。日本語でのコメントがありがたかったです。
WFを眺めるうち、自分は重要なデータを持っていないと気がつきました。
各州にプロットするための座標すなわち各州の緯度と経度です。
検索すること数十分、ようやく下記サイトなど見つけられたので一安心。
各種ノードで、色や形、サイズなど各ノードで定義したのち、指定した場所にプロットができるようです。
【発生率でのプロットを試みる】
いよいよJKI_003のWF編集を始めました。
Table Creatorでリストを作って、
Joinerでデータ結合し、Color Managerで色の設定をして、OSM Map Viewで地図上にプロット。
ところがこれでは州の形に色塗りは出来ません。
【Shapefile Polygon Reader】
行きづまったのでKNIME日本コミュニティに助けを求めました。
US StatesのShapefileをShapefile Polygon Readerノードで読み込んで、Map Polygonsを指定すれば、できるかもしれません。
とのヒント。いつもありがとうございます!
ちょっとこれだけでは私には具体的にどうWFを作るかわからなかったのでKNIME HubでShapefile Polygon Readerを検索し、下記のWFを勉強しました。
WF抜粋:
なるほどねとUS StatesのShapefileを探しに行き、下記サイトを発見。
今回はお試しなので一番小さいものをダウンロードして解凍しました。
そして、KNIME HubでShapefile Polygon ReaderノードのページからKNIMEへアイコンをDrag&Dropでインストール開始です。
詳細は省きます。
【各州のポリゴンを地図上に配置】
発生率データとポリゴンのデータをJoinerで結合するには、州名のカラムが両方で一致しないといけません。US StatesのShapefileデータは回答してできたフォルダ内の数ファイルにデータが分散して入っているようなので、フォルダごとどこかにデータを格納するようにしてください。.shpファイルなんて初めて扱ったので、これに気付くのに少しかかりました。
このノードの上のポートが各州の形のポリゴンデータ、下のポートが各ポリゴンの地球上での位置データを緯度と経度で出力しているので、上図のWFのように繋いでいます。KNIME Hubで先人の作品を見てなかったら結構戸惑いそうです。
参考までに各ノードの設定を掲示しておきますね。
結果:
KNIME日本コミュニティとKNIME Hubの助けがあればノーコードでも結構イケますね!
おまけ:
【Beyond KNIME】
地図上への可視化について、KNIME日本コミュニティで教えてもらった究極形がこちらです。
作品として美しいです。ご自身の環境で実行されることをお勧めしたいです。
私は何をしたわけでもないので多くは語りませんがノーコードとは対極にあります。
以前に書いた記事を思い出しました。
記事を読んでいただきありがとうございます。 先人の智慧をお借りしつつ、みなさんに役立つ情報が届けられたらと願っています。 もしサポートいただけるなら、そのお金はKNIMEの無料勉強会の開催資金に充てようと思います。