GISに値ごとのマップを実装する方法


14

私は最近、カートグラムについていくつかのバックグラウンドリーディングを行ってきましたが、興味深い代替案- アルファによる値 マップにつまずきました。

概念はここでより詳細に説明されおり、完全な論文が利用可能です[公然とではなく] [ここ] 2

indiemaps ブログに実装に関する詳細があります:

...上記のすべてのグラフィックは、テキストエディターと最新の無料のFlex SDKを使用して、ActionScript 3で作成されました...

GISパッケージ(ArcGIS?QuantumGIS?)で、そのようなものをどのように実装できますか?またはRとggplot2?それともPython?


全体紙はで(すべての)可能ですgeovista.psu.edu/publications/2010/RothEtAl_2010_CJ.pdf
イアンTurton

本当、それは図
トーを

4
personal.psu.edu/rer198/publications/RothEtAl_2010_CJ.pdfを試してみてください。Robは私にも数字があることを保証しています。
イアンタートン

回答:


7

QGISでAlpha By Valueを実行する方法は次のとおりです

http://nathanw.net/2013/06/27/alpha-by-value-choropleth/

新しいシンボルramp_colorscale_linear関数、データ定義のシンボルを使用できます

regexp_replace( ramp_color('usa', scale_linear( "unemployed_by_county_xgv_Rate",0,15,0,1)),',[^,]*$',','|| toint(scale_linear("unemployed_by_county_xgv_Labor_Force",0,100000,0,255)))

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


1
いい仕事です(カラーランプについてはわかりませんが、それは単なる便利なハウツーだと思いますが)。素敵な追加は、それに合わせて凡例を作成する方法です。
アンディW

ええ、カラーランプは実際には機能しませんでした。より良い提案があれば、更新された画像を作成できます。伝説について考えてきましたが、良い計画ができたら更新します。(それはQGIS 2.0で動作します)
ネイサンW

1
白と黒を試してみましたが、これはかなりクールな外観ですi.imgur.com/Wfg8T8P.png
ネイサンW

チェックアウト元ロスの記事を -彼らはランプを示唆しています。彩度が低いため、(初期)より飽和した2変量カラー醸造ランプのいくつかを使用します。黒の背景は、背景のIMOとのコントラストがより優れた/より魅力的であるため、見栄えがします。ここに私の憶測について書いています
アンディW

@AndyWが(おそらく)より良い画像で更新されました。
ネイサンW

5

Rでは、ポリゴンを読み込み、透明度をサポートするデバイスにプロットできます。ここでは、rgdalおよびspパッケージでwindows2.1デバイスR 2.12.0を使用しています。

## read some example polygons
library(rgdal)
dsn <- system.file("vectors/ps_cant_31.MIF", package = "rgdal")[1]
ps_cant_31 <- readOGR(dsn=dsn, layer="ps_cant_31")

## scale population values 

ps_cant_31$sclpop <- sqrt((ps_cant_31$POP - min(ps_cant_31$POP))/ diff(range(ps_cant_31$POP)))

## randomly assign 0 or 1
ps_cant_31$rand <- sample(0:1, length(ps_cant_31$POP), replace = TRUE)

## plot red or blue, scaled by population
plot(ps_cant_31,  col = ifelse(ps_cant_31$rand == 0, rgb(0, 0, 1, ps_cant_31$sclpop), rgb(1, 0, 0, ps_cant_31$sclpop)))

代替テキスト


mdsumnerに感謝します!それは私が達成したいことに最も近いように見えます。Rの空間機能を少しいじり始めたので、今度はデータでそれを複製しようとします。
radek

Rのいくつかのより多くの例:dsparks.wordpress.com/2011/10/24/...
ラデク

4

Geo Vistaサイトとそのソフトウェアをご覧になることをお勧めします。ビジュアル問い合わせToolkitは、双方向変量chloroplethマップ実装するGUIプログラムを提供(私はここに1枚のポスターを知っているが、そのプロジェクトで働くのと他のリソースへのポイントにできる可能性があります)。

cartogrammerのブログ投稿でこのテクニックを説明するのに十分だと思いますが、実際にその使用を確認するための非常にクールな記事(一般公開)です。

空間スキャン統計解釈を強化するための地理視覚分析:米国子宮頸癌死亡率の分析 Jin Chen、Robert E Roth、Adam T Naito、Eugene J Lengerich、Alan M MacEachren International Journal of Health Geographics 2008、7:57

PythonとRのコード例もご覧ください!基本的に、2スケールカラースキーム(または2変量)を実装できるプログラムは、アルファマップによって値を作成できます。これまでにリストした実装のすべてはコロプレスマップ用ですが、ラスターマップまたはポイントベースのマップにも実装できない理由はありません。


最近、ArcGISでそれらを実装する方法、ArcMapでアルファマップによる価値を生み出す方法についてのブログ投稿を書きました。基本的に、所定の透明度用に個別のレイヤーを作成し、ArcMap内で使用可能なベクター編集ツールを使用して必要な2変量凡例を作成します(または、黒い背景VBAマップを作成する場合は、偽の差し込みマップを使用して凡例を複製します)。

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

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


Thxアンディ。VITは非常に興味深いようです。試してみる必要があります。
ラデク

データ入力を少し調整する必要がありましたが、そのまま使用できます。探索的分析のためのGreaatツール。唯一の問題_さらに処理するためにデータをエクスポートする方法が見つかりません。
radek

3

これは、OGCフィルター仕様の数学関数を使用して%不透明度を計算するSLDベースのスタイルを使用するuDigです。それがどれほど効率的かはわかりませんが、概念実証に使用できることは確かです。

http://ian01.geog.psu.edu/geoserver/www/cartogram/alphabyvalue.htmlでデモを作成し、http://ian01.geog.psu.edu/geoserver_docs/cartogram/cartogramで議論しました。 HTML。かなり簡単だということがわかりました。

          <PolygonSymbolizer>
            <Fill>
              <!-- CssParameters allowed are fill (the color) and fill-opacity -->
              <CssParameter name="fill">#4DFF4D</CssParameter>
              <CssParameter name="fill-opacity">
                <ogc:Div>
                  <ogc:PropertyName>PERSONS</ogc:PropertyName>
                  <ogc:Literal>30e6</ogc:Literal>
                </ogc:Div>
              </CssParameter>
            </Fill>     
          </PolygonSymbolizer>

(30e6はカリフォルニアの人口です)


ありがとう それを自動化し、変数のいずれかを使用して「ポリゴンごと」にこれらのスタイルを適用することは可能でしょうか?
radek

不透明度パラメータに0〜1の値を計算する関数を配置する必要があります。
イアンタートン

「アルファ値によるカートグラム」ではなく、「アルファ値によるマップ」ではないでしょうか?ian01.geog.psu.edu/geoserver_docs/cartogram/index.htmlには、「カートグラムとは、エリアまたは距離の代わりに他の変数が置換されたマップです」と正しく記載されています。
暗闇

1
おそらく:-)しかし、カートグラムのもう1つの定義は、「ポイントを作るために台無しにしたマップ」です
イアンタートン

2

GDALを使用して、VRTファイルから、またはプログラムで値を設定して、RGBAデータセットの第4バンド(GeoTiffなど)にアクセスすることにより、これを行うことができます。RGB Tiffから始めて、FAQに従ってパレット化された画像を作成することができるため、VRTの使用方法がいくぶん単純であるため、その方法を示します。

# translate the rgba tiff to a VRT
gdal_translate -of VRT rgb.tif rgb.vrt

# modify the color table in an editor

# translate back to an image
gdal_translate rgb.vrt mask-by-alpha.tif

編集手順で、結果のを開き、rgb.vrt必要に応じてカラーテーブルを変更し、c4値(0〜255)を調整してアルファを設定します。

<VRTDataset rasterXSize="226" rasterYSize="271">
  <VRTRasterBand dataType="Byte" band="1">
    <ColorInterp>Palette</ColorInterp>
    <ColorTable>
      <Entry c1="238" c2="238" c3="238" c4="0"/>
      <Entry c1="237" c2="237" c3="237" c4="64"/>
      <Entry c1="236" c2="236" c3="236" c4="128"/>
      <Entry c1="229" c2="229" c3="229" c4="255"/>
    </ColorTable>
  </VRTRasterBand>
</VRTDataset> 

scwに感謝します。入力として3kベクトルポリゴンを使用したシナリオの場合、ワークフローは正確にどのようになりますか?最初にアルファなしでコロプレスマップを作成し(ラスターとして保存)、次にラスター値を調整する必要がありますか?値は、「ポリゴンごと」に適合させる必要があると思いますか?そして、私は-αの値を駆動するフィールドに応じて何とかそれを自動化する必要があるだろう
ラデク

1

私はそれが好きです-私は前にその概念を本当に考えたことがありませんでした。

FMEまたはArcGISのData Interoperabilityエクステンションにアクセスできる場合、アルファバンドを含むラスターデータセットのバンド値を操作できるトランスフォーマーが多数あります。

RasterExpressionEvaluator、RasterInterpretationCoercer、およびRasterBandOrdererは、最初に試すものです。その後、任意のGIS / Visulisationツールでデータをインポート/使用できます。

私の同僚は、同様のアイデアを使用して、ラスターイメージ内に「隠された」パスワードを作成しました。http//www.fmepedia.com/index.php/PasswordGenerator

開示:FMEのメーカーであるSafe Softwareで働いています。


Thxマーク。残念ながら、私はFMEにアクセスできません。データ相互運用性は、ArcGISのuniライセンスには含まれていません。[
radek

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.