تساعد في التخطيط للبيانات الجغرافية في R باستخدام PBSMapping والشمام

StackOverflow https://stackoverflow.com/questions/1481032

سؤال

استخدام o'Reilly's data mashups في ص كما الإلهام، أحاول رسم حفنة من العناوين على شكل شكل من مقاطعة سولت ليك، وجدت يوتا هنا.

لدي إطار بيانات جيوبيا:

> 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

لذلك يبدو أن لدي كل ما أحتاج إليه للأرض - لكنه لا يعمل. عندما أقوم بتحميل الشكل والألم باستخدام

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

أنا تركت النظر في شكل فارغ. بالإضافة إلى ذلك، عندما أحاول تشغيل FindPolys مقابل كائن EventData الخاص بي، إلا أنه بإرجاع NULL.

> findPolys(addressEvents,myShapeFile)
NULL

كيف يمكنني إجراء هذا العمل؟ كنت قادرا على إكمال البرنامج التعليمي O'Reillly دون أي مشاكل وأواجه صعوبة في معرفة المكان الذي أخطئ فيه هنا. أنا لا أعرف ما إذا كان شكله، إطار البيانات الخاص بي، أو أي مائل.

فيما يلي الأوامر التي أستخدمها لاستيراد بياناتي وتشكيله

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)
هل كانت مفيدة؟

المحلول

قد ترغب أيضا في إلقاء نظرة على هذه الأسئلة ذات الصلة، خاصة في ردود eduardo:

نصائح أخرى

يبدو أن PBSMapping يستخدم بعض الاستدلال الخام للعمل على الإسقاط من ملف .prj. (انظر المساعدة (importshapefile)). أنا شخصيا لا أفهم كل الأشياء داخل ملف PRJ ولكن باستخدام هذا الموقع www.spatialreference.org أعتقد أن مباريات الخريطة الخاصة بك

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

كلما احصل على ملف شكل جديد، أجد نظام الإسقاط على هذا الموقع الإلكتروني، ثم ابحث عن سلسلة ProJ4، والتي في هذه الحالة هي "+ Proj = UTM + Zone = 12 + ELLPS = GRS80 + Datum = 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"))

ثم تحويل إلى latlong باستخدام

library(rgdal)

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

و

مؤامرة (sftransformed، المحاور = ر)

يعطي مؤامرة مع الوحدات المناسبة على المحاور.

لست متأكدا إذا كان pbsmaping يفهم سلسلة proj4؟ يبدو أنه لا ينبغي أن يكون صادقا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top