zantavcar / APPR-2015-16

Repozitorij z gradivi za predmet Analiza podatkov s programom R v študijskem letu 2015/16
MIT License
0 stars 1 forks source link

pomoč pri zemljevidu #6

Open zantavcar opened 8 years ago

zantavcar commented 8 years ago

S spoštovanjem, težave imam pri uvozu zemljevida, delal sem po zgledu iz vaj a se zaplete že pri prvem koraku. Torej samem uvozu

source("lib/uvozi.zemljevid.r", encoding = "UTF-8")

pretvori.zemljevid <- function(zemljevid) {
  fo <- fortify(zemljevid)
  data <- zemljevid@data
  data$id <- as.character(0:(nrow(data)-1))
  return(inner_join(fo, data, by="id"))
}

Europe <- uvozi.zemljevid("http://ec.europa.eu/eurostat/cache/GISCO/geodatafiles/NUTS-2013-10M-SH.zip", "data/NUTS_BN_10M_2013",encoding="UTF-8")

eu <- pretvori.zemljevid(Europe)
total<- preuredi(total, eu, "GEO")
map1 <- ggplot() + geom_polygon(data = total, aes(x = long, y = lat, group = group,
                                                fill = applicants))
print(map1)

Zip datoteko sem pobral iz http://ec.europa.eu/eurostat/web/gisco/geodata/reference-data/administrative-units-statistical-units, kjer sem pobral shp datoteko, NUTS 2013 1:10 mio.

Mogoče sem kje zgrešil pri relativni poti, ker je dosti shp-jev v mapi data?

Za odgovor se vnaprej zahvaljujem,

lp Žan

jaanos commented 8 years ago

Zemljevidi se nahajajo znotraj mape NUTS_2013_10M_SH, tako da bi moral še to dodati na začetek poti.

Sicer pa svetujem, da raje uporabiš kak drug zemljevid, saj je ta zemljevid zelo natančen (poleg držav ima še drobnejše delitve), poleg tega pa nima imen držav (v NUTS_RG_10M_2013.shp imaš sicer kratice, tako da bi moral narediti pretvorbo, poleg tega pa bi moral še izbrati samo tiste dele zemljevida, ki ustrezajo državam). Svetujem, da raje vzameš zemljevid sveta in iz njega izrišeš samo Evropo (glej aleksandrov2#3). Pazi tudi, da podatke prepišeš v zemljevid, preden ga pretvoriš, npr.

svet <- uvozi.zemljevid("http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip",
                        "ne_110m_admin_0_countries")
m <- match(svet$name_long, total$GEO)
svet$applicants <- total$applicants[m] / 1000 # da bo lepša skala
eu <- pretvori.zemljevid(svet, svet$continent == "Europe")
map1 <- ggplot() +
  geom_polygon(data = eu,
               aes(x = long, y = lat, group = group, fill = applicants)) +
  xlim(-10, 50) + ylim(34, 72)
print(map1)
zantavcar commented 8 years ago

mogoče pri pretvori.zemljevid manjka še en argument?

zantavcar commented 8 years ago

Error during wrapup: unused arguments (svet, svet$continent == "Europe") moram še kaj narediti? podatki o prošnjah so namreč prepisani v zemljevid..

jaanos commented 8 years ago

Skopiraj popravljeno funkcijo pretvori.zemljevid iz aleksandrov2#3, da ti bo delovalo.

zantavcar commented 8 years ago

Super, deluje.

hvala