私はいくつかの米国の人口統計データと企業統計データを持っています。
州または小さな地域 (都市など) の郵便番号エリアをプロットしたいと考えています。各領域には、その領域に固有の色やテキストで注釈が付けられます。出力はhttp://maps.huge.info/に似ていますが、a) 注釈付きのテキストがあります。b) pdf 出力; c) R または Python でスクリプト可能。
これを可能にするパッケージとコードはありますか?
私はいくつかの米国の人口統計データと企業統計データを持っています。
州または小さな地域 (都市など) の郵便番号エリアをプロットしたいと考えています。各領域には、その領域に固有の色やテキストで注釈が付けられます。出力はhttp://maps.huge.info/に似ていますが、a) 注釈付きのテキストがあります。b) pdf 出力; c) R または Python でスクリプト可能。
これを可能にするパッケージとコードはありますか?
静的マップが必要だと思います。
(ソース: eduardoleoni.com )
1) census.gov で郵便番号の境界と州の境界のシェープファイルを取得します。
2) このSO questionに投稿した plot.heat 関数を使用します。
例 (マップのサブディレクトリにメリーランド州のシェープファイルがあると仮定します):
library(maptools)
##substitute your shapefiles here
state.map <- readShapeSpatial("maps/st24_d00.shp")
zip.map <- readShapeSpatial("maps/zt24_d00.shp")
## this is the variable we will be plotting
zip.map@data$noise <- rnorm(nrow(zip.map@data))
## put the lab point x y locations of the zip codes in the data frame for easy retrieval
labelpos <- data.frame(do.call(rbind, lapply(zip.map@polygons, function(x) x@labpt)))
names(labelpos) <- c("x","y")
zip.map@data <- data.frame(zip.map@data, labelpos)
## plot it
png(file="map.png")
## plot colors
plot.heat(zip.map,state.map,z="noise",breaks=c(-Inf,-2,-1,0,1,2,Inf))
## plot text
with(zip.map@data[sample(1:nrow(zip.map@data), 10),] , text(x,y,NAME))
dev.off()
Rでこれを行うには多くの方法があります(空間ビューを参照)。これらの多くは「マップ」パッケージに依存しています。
米国の2004年の選挙のこのクールな例をチェックしてください。最終的には次のようになります。
これは、「lattice」で「maps」パッケージを使用するモデルの少し醜い例です。
これは、「gmaps」パッケージを使用した非常に簡単な例です。これは、殺人事件の10万人あたりの逮捕数を州ごとに示した逮捕の地図を示しています。
require(gmaps)
data(USArrests)
attach(USArrests)
grid.newpage()
grid.frame(name="map")
grid.pack("map",USALevelPlot(states=rownames(USArrests),levels=Murder,col.fun=reds),height=unit(1,'null'))
grid.pack("map",gradientLegendGrob(at=quantile(Murder),col.fun=reds),side="bottom",height=unit(.2,'npc'))
detach(USArrests)
basemap
Python では、米国の国勢調査のシェープファイルをパッケージと共に使用できます。これは、人口に応じて州を埋める例です。
誰かがあなたのためにもっと直接的なものを持っているかもしれませんが、O'Reilly の「R でのデータ マッシュアップ」は非常に興味深いものでした...部分的には、住宅差し押さえオークションの空間マッピングです。
Rには、GISに関連するプロット、分析、およびその他の機能を実行するための豊富で洗練された一連のパッケージがあります。開始する場所の1つは、空間データのCRANタスクビューです。これは複雑で、場合によっては難解な世界であり、理解するには多少の作業が必要です。
無料の非常に機能的なマッピングアプリケーションをお探しの場合は、次のことをお勧めします。
MapWindow(mapwindow.com)
TechCrunchTrendsのDanielLevineは、Rのパッケージで素晴らしいことをしmaps
た。彼は自分のサイトでもコードを入手できる。
ベン・フライがzipdecodeを作成するために使用したProcessingを調べるというPaulの提案も、(Javaのような)新しい言語を学ぶつもりなら、良い提案です。
アプリケーションによっては、次のようなものを使用するのが長い道のりかもしれません。
http://googlemapsmania.blogspot.com/2006/07/new-google-maps-us-zip-code-mashups.html
データをマッピングします。それがあなたの望むものではない場合、census.gov から未加工の郵便番号シェープファイルを取得して手動で行うことができますが、これは非常に面倒です。
また、見たことがない場合は、これは同様のデータを操作するための優れた方法であり、いくつかのヒントを提供する可能性があります。
IBM http://manyeyes.alphaworks.ibm.com/manyeyes/によるこの優れたオンライン視覚化ツールをチェックして ください。
編集参考までに、ManyEyes は Vizの一部にPrefuse ビジュアライゼーション ツールキットを使用しています。Java ベースのフレームワークですが、Web 用の Flash/ActionScript ツールも提供しています。