Représentation graphique de la carte des couleurs avec les codes postaux en R ou en Python

j'ai un peu de NOUS démographiques et firmographic de données.

Je voudrais tracer les zones de zipcode dans un État ou une plus petite région (par exemple ville). Chaque zone serait annotée par couleur et/ou texte propre à cette zone. Le résultat serait similaire à http://maps.huge.info/ mais une) avec le texte annoté; b) le fichier pdf de sortie; c) des scripts dans R ou Python.

y a-t-il un paquet et un code qui me permettent de faire ça?

26
demandé sur Martijn Pieters 2009-09-18 02:50:42

8 réponses

je suppose que vous voulez des cartes statiques.

alt texte http://files.eduardoleoni.com/mapUS.png

1) Obtenir les shapefiles de la zip limites et état limites à census.gov:

2) utiliser la parcelle.fonction de chaleur I affiché dans ce SO question .

par exemple (suppose que vous avez le maryland les fichiers de formes dans la carte sous-répertoire):

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()
36
répondu Eduardo Leoni 2017-05-23 12:17:34

il y a plusieurs façons de le faire dans R (voir la vue spatiale ); beaucoup de ces dépendent du paquet" maps .

9
répondu Shane 2009-09-18 03:01:49

Quelqu'un a peut-être quelque chose de plus direct pour vous, mais J'ai trouvé les Mashups de données D'O'Reilly dans R 'très intéressant... en partie, c'est une cartographie spatiale des ventes aux enchères de maisons.

http://oreilly.com/catalog/9780596804770 /

3
répondu William Doane 2009-09-17 23:21:25

en Python, vous pouvez utiliser les shapefiles du recensement américain avec le paquet basemap . Voici un exemple de remplir les États selon la population.

2
répondu endolith 2009-12-09 04:38:07

il y a une série riche et sophistiquée de paquets dans R pour tracer, faire l'analyse, et d'autres fonctions liées aux SIG. Un point de départ est la vue de tâche CRAN sur données spatiales : C'est un monde complexe et parfois obscur, et il faut du travail pour le comprendre.

si vous cherchez une application de cartographie gratuite et très fonctionnelle, puis-je vous suggérer:

MapWindow ( mapwindow.com)

1
répondu 2009-09-18 01:48:30

Daniel Levine à TechCrunch Trends a fait de belles choses avec le paquet maps en R. Il a le code disponible sur son site, aussi.

la suggestion de Paul de se pencher sur le traitement - que Ben Fry a utilisé pour faire le code - est également une bonne, si vous êtes prêt pour l'apprentissage d'un (Java-like) nouveau langage.

1
répondu Matt Parker 2009-09-18 01:50:41

selon votre application, un long chemin autour pourrait être d'utiliser quelque chose comme ceci:

http://googlemapsmania.blogspot.com/2006/07/new-google-maps-us-zip-code-mashups.html

pour cartographier vos données. Si ce n'était pas tout à fait ce que vous vouliez, vous pouvez obtenir le code postal brut shapefiles de census.gov et le faire manuellement, ce qui est assez pénible.

Aussi, si vous ne l'avez pas vu, c'est un moyen sympa de interagir avec des données similaires, et pourrait offrir quelques conseils:

http://benfry.com/zipdecode /

0
répondu Paul McMillan 2009-09-17 23:20:57

découvrez cet excellent outil de visualisation en ligne par IBM http://manyeyes.alphaworks.ibm.com/manyeyes/

MODIFIER pour info, ManyEyes utilise le Prefuse visualization toolkit pour certains de ses viz. Même s'il s'agit d'un framework basé sur java, ils fournissent également un outil Flash/ActionScript pour le web.

0
répondu Amro 2009-09-17 23:45:55