Vairāk

Pievienojieties CSV failam, lai veidotu failu

Pievienojieties CSV failam, lai veidotu failu


Es gribēju pievienoties CSV failam shapefile.

Kad es identificēju lauku, lai atvieglotu savienojumu, piemēram,

karte <- spChFIDs (karte, as. raksturs (karte $ ID))

tas atgriezās

Kļūda spChFID (SP, x): garumi atšķiras

Vai kāds var ieteikt?


Lūk, kā to var izdarīt, izmantojot Rsp :: sapludināt

bibliotēka (rastrs) # lasīt datus p <- shapefile ("ceļš / fails.shp") d <- lasīt.csv ("ceļš / fails.csv") # sapludināt kopīgajā mainīgajā, šeit saukts 'atslēga' m <- sapludināt (p, d, by = "key") # varbūt saglabājiet kā shapefile atkal shapefile (m, "path / merged.shp")

Es nezinu, kā rīkoties ar R, lai pievienotos shapefile ar csv. Tomēr, ja tas jums var palīdzēt, to varat izdarīt arī QGIS, izmantojot pluggin MMQGIS.


Ja jūs strādājat R, tad jūsu shapefile un .csv ir jāielādē kā data.frame vai data.table. Lai tos sapludinātu, varat izmantot join ().

Vai jums ir vēl kāda informācija par to, kāda veida formāta fails jums ir?

Apvienojot formas failus un datus, man paveicās rīkoties šādi. Ņemiet vērā, ka argumentā "slānis" jums jāatstāj paplašinājums .shp. Es izmantoju “GEOID”, kur jūs liktu visu interesējošo “formas” nosaukumu.

bibliotēka ("rgdal") bibliotēka ("data.table") shapefile = readOGR (dsn = "DIREKTORIJA AR SHAPEFILES", layer = "THE FAKTISKĀ SHAPEFILE") shapefile @ data $ id = rownames (shapefile @ data) shapefile.points = fortify (shapefile, region = "id") shapefile.df = pievienoties (shapefile.points, shapefile @ data, by = "id") shapefile.df = apakškopa (shapefile.df, select = c (garš, lat, grupa, GEOID)) nosaukumi (shapefile.df) = c ("garš", "lat", "grupa", "GEOID")

Tad jūs varat sapludināt savus datus, izmantojot kaut ko līdzīgu

full.data = pievienoties (mydata, shapefile.df, autors = "GEOID", tips = "pilns")

Ja jūs strādājat R, apvienošana faktiski nav nepieciešama. Varat izmantot ggplot, lai parādītu savus datus kartē. Skat, mans piemērs. Šis viens laineris rada brīnumus ar formas failuBangladeša = stiprināt (p1, reģions = "ADM1_EN"). Un tad jūs varat izmantot

ggplot () + geom_map (dati = br2016a, aes (map_id = ADM1_EN, fill = HectareLocal), karte = Bangladeša) + expand_limits (x = bangladesh $ long, y = bangladesh $ lat) + coord_fixed (.96) + scale_fill_gradient (zems = "dadzis2", augsts = "aptumšots", ceļvedis = "krāsu josla", na.value = "balts") + laboratorijas (nosaukums = "Bangladešas Boro rīsi (vietējā šķirne), 2016", x = element_blank (), y = element_blank (), fill = "Hektāri") + tēma (legend.position = "bottom")

Un karte, ko es saņemu, ir šeit.


Skatīties video: QGIS CSV Points to Shapefile