יותר

הצטרף לקובץ CSV לטופס הצורה


רציתי להצטרף לקובץ CSV לטופס צורה.

כשזיהיתי שדה כדי להקל על ההצטרפות, למשל,

מפה <- spChFIDs (map, as.character (map $ ID))

זה חזר

שגיאה ב- spChFIDs (SP, x): אורכים שונים

מישהו יכול לייעץ?


כך תוכל לעשות זאת ב- R באמצעותsp :: מיזוג

ספרייה (רסטר) # קריאת נתונים p <- shapefile ("path / file.shp") d <- read.csv ("path / file.csv") # מיזוג על משתנה משותף, כאן נקרא 'מפתח' m <- מיזוג (p, d, by = "key") # אולי שמור כ- shapefile שוב shapefile (m, "path / merged.shp")

אני לא יודע איך לעשות עם R כדי להצטרף לטופס צורה עם csv. עם זאת, אם זה יכול לעזור לך, אתה יכול לעשות זאת גם ב- QGIS באמצעות MMQGIS התקע.


אם אתה עובד ב- R, עליך לטעון את הטופס ואת ה- .csv כ- data.frame או data.table. אתה יכול להשתמש ב- join () כדי למזג אותם.

האם יש לך מידע נוסף על איזה סוג של קובץ צורה יש לך?

היה לי מזל שעשיתי את הפעולות הבאות כשאני ממזג קבצי צורה ונתונים. שים לב שעליך להשאיר את סיומת .shp בטיעון "שכבה". השתמשתי ב- "GEOID" במקום שהיית מעניין את שם השם של "הצורה".

ספריית ("rgdal") ספרייה ("data.table") shapefile = readOGR (dsn = "DIRECTORY WITH SHAPEFILES", layer = "THE SHAPEFILE ACTUAL") shapefile @ data $ id = שמות ראשי (shapefile @ data) shapefile.points = לחזק (shapefile, region = "id") shapefile.df = להצטרף (shapefile.points, shapefile @ data, על ידי = "id") shapefile.df = קבוצת משנה (shapefile.df, בחר = c (ארוך, lat, קבוצה, GEOID)) שמות (shapefile.df) = c ("long", "lat", "group", "GEOID")

אז אתה יכול למזג את הנתונים שלך באמצעות משהו כמו

full.data = להצטרף (mydata, shapefile.df, לפי = "GEOID", סוג = "מלא")

אם אתה עובד ב- R אז מיזוג למעשה אינו נדרש. אתה יכול להשתמש ב- ggplot כדי להציג את הנתונים שלך במפה. ראה, הדוגמה שלי. אניה זו עובדת פלאים עם קובץ צורהבנגלדש = לחזק (p1, אזור = "ADM1_EN"). ואז תוכלו להשתמש

ggplot () + geom_map (data = br2016a, aes (map_id = ADM1_EN, fill = HectareLocal), map = בנגלדש) + expand_limits (x = bangladesh $ long, y = bangladesh $ lat) + coord_fixed (.96) + scale_fill_gradient (low = "thistle2", high = "redred", guide = "colorbar", na.value = "white") + מעבדות (title = "Boro Rice Boro (מגוון מקומי), 2016", x = element_blank (), y = element_blank (), fill = "Hectares") + נושא (legend.position = "למטה")

והמפה שאני מקבל נמצאת כאן.


צפו בסרטון: יבוא משמרות באמצעות קובץ csv (אוֹקְטוֹבֶּר 2021).