Question

Utilisation Mashups données O'Reilly en R comme source d'inspiration, je suis en train de tracer une poignée d'adresses sur un shapefile du comté de Salt Lake, Utah a trouvé ici .

J'ai trame de données geoTable:

> geoTable
         address        Y         X EID
1    130 E 300 S 40.76271 -111.8872   1
2    875 E 900 S 40.74992 -111.8660   2
3   2200 S 700 E 40.72298 -111.8714   3
4    702 E 100 S 40.76705 -111.8707   4
5 177 East 200 S 40.76518 -111.8859   5
6    702 3rd ave 40.77264 -111.8683   6
7   2175 S 900 E 40.72372 -111.8652   7
8   803 E 2100 S 40.72556 -111.8680   8

Et je l'ai sous la contrainte dans un objet EventData:

> addressEvents<-as.EventData(geoTable,projection=NA)
> addressEvents
         address        Y         X EID
1    130 E 300 S 40.76271 -111.8872   1
2    875 E 900 S 40.74992 -111.8660   2
3   2200 S 700 E 40.72298 -111.8714   3
4    702 E 100 S 40.76705 -111.8707   4
5 177 East 200 S 40.76518 -111.8859   5
6    702 3rd ave 40.77264 -111.8683   6
7   2175 S 900 E 40.72372 -111.8652   7
8   803 E 2100 S 40.72556 -111.8680   8

Il semble donc que j'ai tout ce que je dois tracer, mais sa ne fonctionne pas. Lorsque je charge le fichier de formes et de complot en utilisant

addPoints(addressEvents,col="red",cex=.5)

Je suis à la recherche d'une gauche à vide shapefile. De plus, quand je tente de courir findPolys contre mon objet EventData, il renvoie NULL.

> findPolys(addressEvents,myShapeFile)
NULL

Comment puis-je faire ce travail? J'ai pu terminer le tutoriel O'Reilly sans aucun problème et je rencontre des difficultés pour trouver où je vais mal ici. Je ne sais pas si son shapefile, ma trame de données ou whateverelse.

Voici les commandes que j'utilise pour importer mes données et shapefile

slc<-read.table('~/utah.txt',sep=',',header=TRUE,strip.white=TRUE,stringsAsFactors=FALSE)

myShapeFile<-importShapefile("/Users/neil/Downloads/SGID93_DEMOGRAPHIC_CensusTracts2000/SGID93_DEMOGRAPHIC_CensusTracts2000",readDBF=TRUE)
Était-ce utile?

La solution

Vous pouvez également regarder ces questions connexes, en particulier à des réponses d'Eduardo:

Autres conseils

On dirait que PBSmapping utilise des heuristiques brut pour travailler la projection à partir du fichier .prj. (Voir l'aide (importShapefile)). Personnellement, je ne comprends pas toutes les choses dans un fichier PRJ mais en utilisant ce site www.spatialreference.org Je compte vos correspondances carte

http://www.spatialreference.org/ref/epsg/26912/

Chaque fois que je reçois un nouveau fichier de forme que je trouve son système de projection sur ce site et recherchez la chaîne de proj4, qui dans ce cas est "+ Proj = + utm zone = 12 + ellps = GRS80 + = datum NAD83 + units = m + no_defs"

(Comme je l'ai dit que je ne sais pas PBSmapping, mais vous pouvez lire ceci dans l'utilisation maptools comme suit)

library(maptools)
sf=readShapeSpatial("SGID93_DEMOGRAPHIC_CensusTracts2000.shp",proj4string=CRS("+proj=utm +zone=12 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"))

puis convertir à l'aide LatLong

library(rgdal)

sftransformed=spTransform(sf,CRS("+proj=longlat"))

et

plot (sftransformed, axes = T)

donne un terrain avec les bonnes unités sur les axes.

Je ne sais pas si PBSmapping comprend une chaîne de proj4? On dirait qu'il n'a pas à être honnête.

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