Question

J'ai des données démographiques et firmographiques sur les États-Unis.
Je souhaite tracer les zones de code postal dans un État ou une région plus petite (par exemple, une ville). Chaque zone serait annotée par couleur et / ou texte spécifique à cette zone. Le résultat serait similaire à http://maps.huge.info/ mais a) avec du texte annoté; b) sortie pdf; c) scriptable en R ou en Python.

Existe-t-il un package et un code qui me permettent de le faire?

Était-ce utile?

La solution

Je suppose que vous voulez des cartes statiques.

 alt text
(source: eduardoleoni.com )

1) Obtenez les fichiers de formes des zips et < un href = "http://www.census.gov/geo/www/cob/st2000.html" rel = "nofollow noreferrer"> déclarez les frontières au recensement.gov:

2) Utilisez la fonction plot.heat que j'ai publiée dans cette question SO .

Par exemple (supposons que les fichiers de formes maryland se trouvent dans le sous-répertoire map):

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()

Autres conseils

Il existe plusieurs façons de procéder dans R (voir la vue spatiale ); Beaucoup de ces dépendent des " maps " package .

Quelqu'un a peut-être quelque chose de plus direct pour vous, mais j'ai trouvé le 'Data Mashups in R' d'O'Reilly très intéressant… en partie, il s'agit d'une cartographie spatiale des enchères de forclusion de maisons.

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

En Python, vous pouvez utiliser les fichiers de formes du recensement américain avec le package basemap . Voici un exemple de remplissage des états en fonction de la population.

Il existe une série riche et sophistiquée de packages dans R permettant de tracer, d’analyser et d’autres fonctions liées aux SIG. La vue des tâches CRAN est un exemple de départ idéal dans données spatiales : C’est un monde complexe, parfois arcanique, qui demande du travail à comprendre.

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

MapWindow (mapwindow.com)

Daniel Levine de TechCrunch Trends a réalisé de belles choses avec le package maps . Il a également du code disponible sur son site.

La suggestion de Paul de se pencher sur Processing - que Ben Fry utilisait pour créer zipdecode - est également judicieuse si vous souhaitez apprendre un nouveau langage (semblable à Java).

En fonction de votre application, un long chemin peut être utilisé:

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

Pour mapper vos données. Si ce n’était pas ce que vous souhaitiez, vous pouvez obtenir des fichiers de formes bruts avec code postal de census.gov et le faire manuellement, ce qui est très pénible.

En outre, si vous ne l'avez pas encore vu, il s'agit d'un excellent moyen d'interagir avec des données similaires et peut offrir des indications:

http://benfry.com/zipdecode/

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

MODIFIER À titre d'information, ManyEyes utilise le la boîte à outils de visualisation Prefuse pour certaines de ses à savoir. Même s’il s’agit d’un framework java, ils fournissent également un outil Flash / ActionScript pour le Web.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top