2009-09-26 2 views
6

O'Reilly's Data Mashups in R을 영감으로 사용하여 유타 주 솔트 레이크 카운티의 셰이프 파일에 몇 가지 주소를 표시하려고합니다. here입니다.PBSMapping 및 Shapefiles를 사용하여 지형 데이터를 R로 플로팅하는 방법

내가 데이터 프레임 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 

을 그리고 내가 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 

그래서 보이는 난 음모 -하지만 필요 그것의 작동하지 않습니다. shapefile과 plot을 사용하여로드 할 때

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

빈 모양 파일을보고 있습니다. 또한 내 eventData 객체에 대해 findPolys를 실행하려고하면 NULL을 반환합니다.

> findPolys(addressEvents,myShapeFile) 
NULL 

어떻게하면됩니까? 나는 문제없이 O'Reilly 튜토리얼을 완성 할 수 있었고 여기서 내가 잘못 될 곳을 알아내는 데 어려움을 겪고있다. 셰이프 파일, 데이터 프레임 또는 whateverelse 경우 나도 몰라.

여기 PBSmapping가 .PRJ 파일에서 투사를 해결하기 위해 일부 원유 추론을 사용하여 같은

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) 
+0

내 창자가 나에게 말한다 자사의 나의 데이터, 오히려 그것의 내 Shape 파일 .저는 쉐이프 파일의 개념에 새로운 것이 있습니다. O'Reilly의 예제 shapefile을 사용하여 plotPolys를 작성할 때 X 축과 Y 축은 long과 lat처럼 보입니다. Utah shapefile을 사용하여 plotPolys를 만들 때 X 축과 Y 축은 다른 번호 매기기 시스템처럼 보입니다. –

+0

PBSmapping 패키지를 사용한 적이 없습니다. 나는 maptools로 약간 엉망이되었습니다. –

답변

4

가 보인다는 I 내 데이터를 가져 오는 데 사용할 명령과 Shape 파일입니다. (help (importShapefile) 참조). 나는 당신의지도

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

일치라고 생각 www.spatialreference.org 나는 개인적으로 나는 새로운 형태의 파일을받을 때마다 나는 그것이 이것에 프로젝션 시스템의 발견이 웹 사이트를 사용하여 PRJ 파일 내부의 모든 물건을 이해하지 않지만 웹 사이트 다음이 경우에있는 proj4 문자열을 찾아 "+ PROJ = UTM + 영역은 12 + ellps = GRS80 + 자료를 = = NAD83 + 단위 = m + no_defs"

(마찬가지로 나는 '내가 돈 말했다 PBSmapping을 알지만, 다음과 같이 maptools를 사용하여 읽을 수 있습니다.)

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

하고는

library(rgdal) 

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

플롯하여 latlong로 변환

는 축의 오른쪽 단위 플롯을 준다 (sftransformed을, T = 축).

PBSmapping이 proj4 문자열을 인식하는지 확실하지 않습니까? 정직하지 않은 것처럼 보입니다.

관련 문제