ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
Datawrapper:研究者・ジャーナリストのためのデータ可視化ツール

Datawrapper:研究者・ジャーナリストのためのデータ可視化ツール

はじめに デジタルヒューマニティーズ(DH)の研究において、データの可視化は分析結果を伝えるうえで欠かせない手段です。しかし、D3.jsやPythonのMatplotlibなどを用いた本格的な可視化には、プログラミングの知識が必要になります。 Datawrapper は、コーディング不要でプロフェッショナルなチャート・地図・表を作成できるツールです。ジャーナリストや研究者を主な対象としており、The Washington PostやThe Guardianなどの大手メディアでも採用されています。 Datawrapperの主な特徴 20種類以上のチャートタイプ Datawrapperは棒グラフ、折れ線グラフ、散布図といった基本的なチャートから、ドーナツチャート、エリアチャート、レンジプロットなど多様な可視化形式をサポートしています。データの性質に合わせて最適な表現方法を選択できます。 コロプレスマップ 地理データの可視化にも対応しています。コロプレスマップ(階級区分図)やシンボルマップを作成でき、世界各国や各地域の地図テンプレートが用意されています。DHの文脈では、文化財の分布や歴史的な人口推移の地図表現などに活用できます。 レスポンシブ&アクセシブル 作成したビジュアライゼーションは自動的にレスポンシブデザインとなり、スマートフォンやタブレットでも適切に表示されます。また、スクリーンリーダーへの対応やキーボードナビゲーションなど、アクセシビリティにも配慮されています。 簡単なデータ入力 CSVやExcelファイルの直接アップロードに加え、Google Sheetsとの連携にも対応しています。データをペーストするだけで自動的にパースされるため、手軽に利用を始められます。 DH研究での活用例 テキストマイニング結果の可視化 文学作品のテキストマイニングで得られた語彙頻度や共起関係のデータを、棒グラフやヒートマップとして可視化できます。時代ごとの語彙変化を折れ線グラフで表現するなど、分析結果の直感的な理解を助けます。 歴史地理データの地図表現 歴史的な貿易ルート、文化的影響の伝播、遺跡の分布など、地理情報を含むデータをインタラクティブな地図として表現できます。Datawrapperのマップ機能は、GISソフトウェアほどの高度な機能はありませんが、プレゼンテーションや論文用の地図作成には十分な機能を備えています。 アンケート・調査結果の共有 DH関連のアンケート調査やデジタルアーカイブの利用統計を、見やすいグラフや表として公開できます。埋め込みコードを取得してWebサイトに配置するだけで、インタラクティブなビジュアライゼーションを共有可能です。 基本的な使い方 データの準備: CSVやスプレッドシートにデータを整理します チャートタイプの選択: 目的に合ったチャートタイプを選びます データのアップロード: ファイルをアップロードするか、データを直接ペーストします カスタマイズ: 色、フォント、ラベル、注釈などを調整します 公開・埋め込み: 完成したビジュアライゼーションを公開し、埋め込みコードを取得します 料金プラン Datawrapperには無料プランが用意されており、月に10件までのチャートを作成できます。研究機関や教育機関向けの割引プランも提供されています。無料プランでも基本的なチャートタイプと機能は利用可能で、個人研究やプロトタイピングには十分です。 他のツールとの比較 特徴 Datawrapper Tableau Public Google Charts コーディング不要 ○ ○ × レスポンシブ ○ △ ○ アクセシビリティ ○ △ △ 地図機能 ○ ○ ○ 無料プラン ○ ○ ○ まとめ Datawrapperは、プログラミングの知識がなくても高品質なデータ可視化を実現できるツールです。DH研究においては、分析結果のプレゼンテーションやWebでの公開において特に威力を発揮します。レスポンシブでアクセシブルなビジュアライゼーションを手軽に作成したい研究者やジャーナリストにおすすめです。 参考リンク Datawrapper 公式サイト Datawrapper Academy(チュートリアル) Datawrapper ブログ

Peripleoを試す

Peripleoを試す

概要 「Peripleo」を使う方法を調べましたので、備忘録です。「Peripleo」は以下のように説明されています。 Peripleo is a browser-based tool for the mapping of things related to place. https://github.com/britishlibrary/peripleo 今回は以下の記事で紹介した「れきちず」と組み合わせて、使用する方法について紹介します。 成果物 以下のURLでお試しいただけます。 https://nakamura196.github.io/peripleo/ リポジトリは以下です。 https://github.com/nakamura196/peripleo 本ブログでは、以下の『東京帝國大學本部構内及農學部建物鳥瞰圖』(東京大学農学生命科学図書館所蔵)をサンプルデータとして使用します。 https://iiif.dl.itc.u-tokyo.ac.jp/repo/s/agriculture/document/187cc82d-11e6-9912-9dd4-b4cca9b10970 背景 以下の会議に参加し、「Peripleo」について教えていただきました。「Peripleo」を開発してくださっている関係者の皆様、会議を開催してくださった皆様、また使用方法を教えてくださったGethin Rees氏に感謝いたします。 http://codh.rois.ac.jp/conference/linked-pasts-10/ 基本的な使い方 以下に記載があります。 https://github.com/britishlibrary/peripleo?tab=readme-ov-file#installation-guide 今回は、『東京帝國大學本部構内及農學部建物鳥瞰圖』のデータを利用するにあたり、カスタマイズした点について紹介します。 データの準備 以下のようなスプレッドシートを用意します。 https://docs.google.com/spreadsheets/d/1ZZJZL0K4cBOc0EgMHNV9NQ56C_fcZm0eceBg_OPmxe4/edit?usp=sharing 灰色のセルは不要な列です。 データの準備ができたら、CSV形式でダウンロードします。 JSON形式への変換 Locolligoというツールを用いて、CSVのデータをJSON形式のデータに変換します。 https://github.com/docuracy/Locolligo まず、以下にアクセスします。 https://docuracy.github.io/Locolligo/ CSVファイルをアップロード後、「Assign CSV Columns」を押すと、以下が表示されます。 予約語をCSVのヘッダーに使用しておくと、手動でマッピングする必要がないようでした。うまくマッピングされなかった場合には、手動で設定します。 なお、予約語は以下で確認できました。 https://github.com/docuracy/Locolligo/blob/main/js/data-converter.js function assign(){ $('#assign').removeClass('throb'); var assignmentOptions = [ ['(ignore)'], ['@id','identifier|uuid|id|@id'], ['properties.title','title|name|label'], ['properties.%%%'], ['geometry.coordinates','coordinates|coords|OSGB'], ['geometry.coordinates[0]','longitude|long|lng|easting|westing|X'], ['geometry.coordinates[1]','latitude|lat|northing|southing|Y'], ['names[0].toponym','toponym'], ['links[0].type'], ['links[0].identifier'], ['depictions[0].@id'], ['depictions[0].title'], ['descriptions[0].@id'], ['descriptions[0].value'], ['types[0].identifier'], ['types[0].label'], ['{custom}'] ]; 結果をダウンロードすると、featuresに以下のようなアイテムが格納されたデータを取得できます。 ...

Google Mapsの短縮URLから緯度経度を取得する際の備忘録

Google Mapsの短縮URLから緯度経度を取得する際の備忘録

概要 以下のようなGoogle Mapsの短縮URLから緯度経度を取得する機会がありました。 https://goo.gl/maps/aPxUgDJ9KP2FLFkN7 https://goo.gl/maps/aPxUgDJ9KP2FLFkN7 この時、2つの緯度経度が取得できたので、その備忘録です。 抽出方法 GPT-4から以下の回答が得られました。 -– 以下、回答 — Google Mapsの短縮URL (goo.gl/maps/...) から直接緯度経度を抽出することはできません。しかし、この短縮URLを展開して元のURLを取得することで、そのURLから緯度経度を抽出することができます。 以下の手順で緯度経度を取得することができます: 短縮URLを展開します。 展開されたURLから緯度経度を抽出します。 以下はPythonでこれを実現する一例です: import requests import re def get_lat_lon_from_google_url(short_url): # 短縮URLを展開 response = requests.get(short_url, allow_redirects=False) if response.status_code != 302: return None long_url = response.headers['location'] # 展開されたURLから緯度経度を抽出 match = re.search(r'@([\-0-9.]+),([\-0-9.]+)', long_url) if match: lat, lon = match.groups() return float(lat), float(lon) else: return None url = "https://goo.gl/maps/aPxUgDJ9KP2FLFkN7" lat_lon = get_lat_lon_from_google_url(url) print(lat_lon) このコードは、短縮URLを展開して緯度経度を抽出するための基本的なものです。しかし、実際の使用環境や目的に応じて、エラーハンドリングや例外処理を追加することが推奨されます。 -– 回答、ここまで — 上記により、以下のURLに含まれる緯度経度(ここでは、28.3410487,129.9769402)を取得できました。 https://www.google.com/maps/place/鹿児島県大島郡喜界町大字伊砂/@28.3410487,129.9769402,3868m/data=!3m2!1e3!4b1!4m5!3m4!1s0x351f80a0620f4335:0x35d406a5040d7197!8m2!3d28.3439714!4d129.9838012?shorturl=1 しかし、この座標を指定すると、以下の場所が指定され、求めている座標からずれているようでした。 修正 以下のURLを確認すると、末尾にも!3d28.3439714!4d129.9838012という座標が見られました。 https://www.google.com/maps/place/鹿児島県大島郡喜界町大字伊砂/@28.3410487,129.9769402,3868m/data=!3m2!1e3!4b1!4m5!3m4!1s0x351f80a0620f4335:0x35d406a5040d7197!8m2!3d28.3439714!4d129.9838012?shorturl=1 そこで、先ほどプログラムについて、prefixとdelimiterを指定できるように修正しました。 import requests import re def get_lat_lon_from_google_url(short_url, prefix= "@", delimiter = ","): # 短縮URLを展開 response = requests.get(short_url, allow_redirects=False) if response.status_code != 302: return None long_url = response.headers['location'] print(long_url) # 展開されたURLから緯度経度を抽出 pattern = r'{prefix}([\-0-9.]+){delimiter}([\-0-9.]+)'.format(prefix=re.escape(prefix), delimiter=re.escape(delimiter)) match = re.search(pattern, long_url) if match: lat, lon = match.groups() return float(lat), float(lon) else: return None url = "https://goo.gl/maps/aPxUgDJ9KP2FLFkN7" lat_lon = get_lat_lon_from_google_url(url, prefix="!3d", delimiter="!4d") print(lat_lon) 結果、28.3439714,129.9838012が取得できました。この座標を使用してみたところ、以下のように、より目的に近い座標にピンが立ちました。 ...

【Omkea S モジュール紹介】Mappingモジュール

【Omkea S モジュール紹介】Mappingモジュール

概要 Omeka Sで地図と連携するためのモジュール「Mapping」の紹介です。 https://omeka.org/s/modules/Mapping/ インストール Omeka Sの一般的な方法で、本モジュールをインストールできます。 位置情報の付与 アイテムの編集画面で、「マッピング」タブから位置情報を付与します。 公開サイトで、地図を用いた検索や表示が可能です。