Frage

Verwendung O'Reillys Daten -Mashups in R. Als Inspiration versuche ich, eine Handvoll Adressen über eine Shapefile von Salt Lake County zu zeichnen, Utah fand heraus hier.

Ich habe Datenrahmen geotierbar:

> 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

Und ich habe es zu einem EventData -Objekt gezwungen:

> 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

Es sieht also so aus, als hätte ich alles, was ich brauche, um zu planen-aber es funktioniert nicht. Wenn ich die Shapefile und das Diagramm lade, verwenden Sie

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

Ich schaue mir eine leere Shapefile an. Wenn ich versuche, Findpolys gegen mein EventData -Objekt auszuführen, gibt es außerdem NULL zurück.

> findPolys(addressEvents,myShapeFile)
NULL

Wie kann ich das zum Laufen bringen? Ich konnte das O'Reilly -Tutorial problemlos abschließen und habe Schwierigkeiten, herauszufinden, wo ich hier falsch gehe. Ich weiß nicht, ob es die Shapefile, mein Datenrahmen oder was auch immer ist.

Hier sind die Befehle, mit denen ich meine Daten und meine Shapefile importieren kann

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)
War es hilfreich?

Lösung

Möglicherweise möchten Sie sich diese verwandten Fragen auch ansehen, insbesondere die Antworten von Eduardo:

Andere Tipps

Es scheint, als würde PBSMapping einige grobe Heuristiken verwenden, um die Projektion aus der .prj -Datei zu erarbeiten. (Siehe Hilfe (ImportShapeFile)). Ich persönlich verstehe nicht alle Dinge in einer PRJ

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

Wenn ich eine neue Formdatei erhalte, finde ich das Projektionssystem auf dieser Website und suche dann nach der ProJ4 NO_DEFS "

(Wie ich schon sagte, ich kenne PBSMapping nicht, aber Sie können dies bei der Verwendung von Maptools wie folgt lesen)

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

und dann nach Latlong konvertieren

library(rgdal)

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

und

Diagramm (sftransformiert, Achsen = T)

Gibt ein Diagramm mit den richtigen Einheiten auf den Achsen.

Sie sind sich nicht sicher, ob PBSMapping eine ProJ4 -Zeichenfolge versteht? Sieht so aus, als wäre es nicht ehrlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top