Vairāk

Projicēšanas neatbilstība, nokrāsojot nokrišņus ar ggplot

Projicēšanas neatbilstība, nokrāsojot nokrišņus ar ggplot


Mēģinu uzzīmēt Brazīlijā uzkrāto nokrišņu daudzumu noteiktā laika posmā, skatiet kodu zemāk:

Ielādējiet pakas

bibliotēka (raincpc) bibliotēka (SDMTools) bibliotēka (rastrs) bibliotēka (ggplot2) bibliotēka (rgdal) bibliotēka (maptools) bibliotēka (rgeos) bibliotēka (mapproj)

Izmantot cpcrain pakete lai iegūtu datus

cpc_get_rawdata (2014, 1, 01, 2014, 1, 08) rain1 <- cpc_read_rawdata (2014, 1, 01) rain2 <- cpc_read_rawdata (2014, 1, 02) rain3 <- cpc_read_rawdata (2014, 1, 03) rain4 <- cpc_read_rawdata (2014, 1, 04) rain5 <- cpc_read_rawdata (2014, 1, 05) rain_tot <- lietus1 + lietus2 + lietus3 + lietus4 + lietus5

Tālummaiņa Brazīlijā

lon_vals <- sek (275, 330, 0.5) lat_vals <- sek ((-60, 20, 0.5) reg_box <- expand.grid (lon = lon_vals, lat = lat_vals, stringsAsFactors = FALSE, KEEP.OUT.ATTRS = FALSE) reg_box $ lietus <- extract.data (reg_box, rain_tot) reg_box $ rain_chunks <- griezts (reg_box $ lietus, pārtraukumi = c (0, 80, 160, 240, 320), include.lowest = TRUE)

Vizualizēšanai izmantojiet ggplot

gfx_gg <- ggplot (data = reg_box) + geom_raster (aes (lon, lat, fill = rain_chunks)) + scale_fill_manual (vērtības = c ("lightgrey", "red", "green", "blue")) + motīvs ( axis.text = element_blank ()) + #, axis.ticks = element_blank () labs (x = NULL, y = NULL, fill = "Nokrišņi (mm)") + ggtitle ("Nokrišņi virs Dienvidamerikas atlasītajā periodā")

kas, kā paredzēts, dod:

Pievienojiet valsts robežas

brazil1 <- getData ("GADM", valsts = "BRA", līmenis = 1) gfx_gg + geom_polygon (dati = brazīlija1, aes (x = garš, y = lat, grupa = grupa), color = "melns", show_guide = FALSE, aizpildiet = NA) + laboratorijas (x = "x", y = "y") + theme_bw ()

Bet es saņemu negaidītu kļūdu:

Kā es varu novērst šo (projekciju?) Kļūdu?


Es uzskatu, ka tas, ko jūs piedzīvojat, ir vairāk vai mazāk šī jautājuma kopija.

Lietusgāžu datu koordinātas ir garuma / platuma grādos, bet ar vērtībām, kas svārstās no 0 līdz 360, nevis -180 līdz 180 (kā jūsu politiskās robežas ir). Skatiet GPCC telpisko piezīmi šeit (mans uzsvars):

Telpiskais pārklājums:

  • 0,5 grādu platums x 0,5 grādu garuma globālais režģis (720x180)

  • 1,0 grāda platums x 1,0 grāda garuma globālais režģis (360x180)

  • 2,5 grādu platums x 2,5 grādu garuma globālais režģis (144x72)

  • 90,0 N - 90,0 S, 0.0E - 360.0E

Šajā emuārā no iepriekš minētās atbildes ir paskaidrots, kā izmantot gdalwarp, lai datus pārvērstu standarta -180, 180 koordinātās.