図としてスパークラインを生成するQGIS 2.10


8

以下は質問の集まりのようです。ArcGISfor Desktopでポイントをスパークラインとして表すことはできますか?そして、QGISで円グラフ座標

基本的に私はn個の地域(オーストラリア統計局SA2地理学)の5セットの観測値を持っています。観測値の各セットは、30歳未満と60歳以上の人数のカウントです。したがって、基本的に、互いにプロットして折れ線グラフを生成できる2つの座標を提供します。

かなりファンキーな折れ線グラフを生成するために、これらをWKTラインストリングとしてQGISにインポートすることにある程度成功しました-次の画像では、各ラインが融合地理(HMdA)のSA2です。別の行では、私がキャプチャしようとしているのはこの面です:

ここに画像の説明を入力してください

これを行うと、各SA2の重心の周りにこれらをTufte-esq Sparklinesとしてレンダリングできるはずだと私は思いました。これは、軌跡を空間コンテキストに配置するのに役立ちます(結局のところ、GISについてです!)。

.svgレンダリングが適切な方法であると考えていました(ただし、TufteのWebサイトでd3.jsを使用してSVGベースのスパークラインを作成するためのチュートリアルへのリンクが壊れています:(http://www.edwardtufte.com/ bboard / q-and-a-fetch-msg?msg_id = 0001OR)ここでのアイデアは、SVGをレンダリングしてから、マッピングのためにそれらにSA2セントロイド座標をアタッチすることです。ただし、これがどの程度実現可能かはわかりません。 3000以上のSA2があり、私はそれほど多くのSVGファイルをレンダリングしたくありません!

QGISダイアグラムは、別の探索手段として考えられますが、オーダーメイドのダイアグラム(円グラフ、棒グラフ、テキストチャート以外)の作成に関する文献は見当たりません。だから、ここで(2番目に申し訳ありませんが!)

編集 誰かがまだこの質問を検討している場合...私はこの小さな美しさを使用して、スパークラインをドロップするための同等の領域フレームワークを構築している最中です。

回答:


4

これはQGIS側からはかなり簡単なはずです。難しいのは、SVGをバッチでレンダリングすることです。そのため、Rはおそらく他のどの方法よりも優れています。JavaScriptの方が魅力的な場合は、d3からSVGをエクスポートする方法の例について、この回答参照してください

国勢調査区域から図心レイヤーを作成し、SVGシンボルとしてスタイルを設定できます。QGISの最新バージョンでは、式を使用してSVGのファイル名を表す文字列を作成できます。したがって、命名規則(例:censusarea_1234.svg)を守る限り、次のような式を使用できます。

'/path/to/' || 'censusarea_' || "id_field" || '.svg'

この場合、SVGの中心は重心と一致します。オフセットを追加し、いくつかのフィールドを使用してこれらを定義できます(ラベル付けが行われるのと同じ方法で)

スクリーンショットを見ると、最初のデータポイントを図心に合わせているように見えます。その場合、SVGをレンダリングするときにそれを行います。最も簡単な方法は、おそらく各ポイントから最初のデータポイントのx座標とy座標を差し引き、中心に置くことです。Rでは、このようなものだろうxlim=c(-100,+100)ylim=c(-100,+100)プロット上、これが最初のポイントにSVGを中心なければなりません。

別の可能なメカニズムはSVGアノテーションです。これらは、バブルを非表示にし、SVGのみを表示するようにスタイル設定できます。これらには、手動で移動および削除できるという利点があります-位置を微調整したい場合(たとえば、重複を回避する場合)に便利です。これらをプログラムでキャンバスに追加するためにPythonを使用することは可能ですが、これを機能させることができませんでした。


このスティーブンをありがとう。それは私に悲しみを与えているバッチSVG生成です。SA2の一意のIDを使用してファイルに名前を付けることは、良い方法のようです。
Andrew Tice


3

また、QGIS 2.14に表示されるが、開発バージョンからアクセスできる「ジオメトリレンダラー」スタイルを待つ必要があります。


Mathieuに感謝します。現在のコンピュータで管理者権限を取得したら、必ず確認します。
Andrew Tice、2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.