Je suis nouveau avec R et j'ai besoin de faire un Raster basé sur une grande base de données de points aléatoires. Vous pouvez voir la répartition de ceux-ci dans la moitié sud de la Belgique. distribution des pointsRasteriser les points spatiaux aléatoires ne fonctionne pas
Mes besoins sont les suivants:
-La trame doit correspondre à l'étendue du pays.
-J'ai besoin d'être en mesure de jouer sur la taille des pixels plutôt que sur le nombre de lignes et de colonnes.
-D'abord, la valeur de pixel doit être la valeur moyenne de tous les points qui se trouvent à l'intérieur. Ensuite, je veux aussi d'autres statistiques de base comme la médiane, l'écart type, etc.
J'ai suivi ce que j'ai vu sur le net à propos de la commande "rasterize" mais j'ai toujours le même message d'erreur.
Voici mon code:
#create function for raster calc
fun_ras<-function(x){c(length(x),mean(c))}
# set wd and loading packages
library(raster)
library(rgdal)
library(maptools)
# reading database
BDD <- read.csv2("~/R/scriptsR/BDD_derniere_version.csv")
# charge shapefile on witch the extend will be defined
EX <- readShapeSpatial(fn = "Reg_Agric_RW", proj4string = CRS("+init=epsg:31370"))
# Make the database a spatialpointsdataframe
coordinates(BDD)<- ~ coord_x+coord_y
proj4string(BDD)<- CRS("+init=epsg:31370")
# plot (result is the map above)
plot(EX, axes = TRUE, las=2)
plot(BDD,add=TRUE,col='red')
# Create an empty grid of required extend and pixel size
grille<-extend(raster(),EX,value=NA)
projection(grille)<-CRS("+init=epsg:31370")
res(grille) = sqrt(3)
# Assign values to raster
RAST<-rasterize(BDD,grille,BDD$phkcl,fun = fun_ras)
plot(RAST)
Et le message d'erreur que je reçois:
message d'avertissement: Dans is.na (champ): is.na() appliqués aux non (liste ou vector) de type 'S4' Erreur dans addAttrToGeom (géométrie (points [1]), data.frame (d), FALSE): erreur d'évaluation de l'argument 'x' lors de la sélection d'une méthode pour la fonction 'addAttrToGeom': Erreur dans (function (classes, fdef, mtable): impossible de trouver une méthode héritée pour la fonction 'géométrie' pour la signature '' matrice ''
Pouvez-vous m'aider avec cela?
Juste en dessous vous pouvez trouver un DB créé aléatoirement pour essayer le code. Merci de me lire.
Object_ID;coord_x;coord_y;phkcl
1;117300;132300;8,820924815
2;111966;124063;9,956132806
3;112093;124117;7,200693488
4;112093;124117;4,681636614
5;78600;149400;5,082282047
6;79000;149500;1,68962794
7;139886;150047;2,330266083
8;145905;141454;9,173647156
9;97078;135221;2,195583634
10;97110;135268;6,111852348
11;101268;133203;1,103343387
12;101593;133083;3,255404464
13;102186;133388;0,558961603
14;102286;133652;7,339728115
15;103085;134037;3,694454146
16;103604;134163;4,825037287
17;106300;134800;5,314536385
18;106400;133850;5,198687281
19;106400;132450;5,176775115
20;106700;135100;9,451347469
21;106854;134476;2,18238857
22;106934;134262;1,441814562
23;107072;134397;3,294001808
24;107100;134900;0,326928888
25;107160;132169;6,442982335
26;107500;133950;0,204386523
27;107900;132550;4,44092199
28;108450;130650;1,834331129
29;108700;131900;6,215733241
30;108700;131900;9,216165015
31;139159;146432;1,347052569
32;110100;133400;8,503910347
33;118119;134708;1,463121228
34;118393;134797;9,544489997
35;141186;145434;8,848701457
36;141303;148274;3,867873941
37;140790;149107;4,859392138
38;142174;147614;5,391746188
39;142308;152940;7,818416216
40;141834;147294;3,996244438
41;142449;143127;2,65462876
42;145099;146806;2,500204413
43;145112;147182;6,731960216
44;145379;149868;2,064895872
45;143811;149209;3,574042593
46;143841;147402;1,307497542
47;143942;149818;9,359814992
48;143944;149839;7,800701068
49;143962;147282;6,806606928
50;143969;148612;6,046161109
51;143980;147246;5,976350979
52;144041;148569;4,404409454
53;144668;148739;9,141859663
54;146014;145129;4,584515956
55;146018;145128;8,439605309
56;146142;145505;4,2956544
57;146221;145462;8,633782378
58;146263;150271;5,958452708
59;146349;145168;4,71636601
60;146352;145339;0,220649424
61;146392;145645;4,155722048
62;146542;153460;6,250098446
63;146545;146311;5,811902205
64;146611;146226;7,309251549
65;147100;151842;7,258990339
66;147113;152663;9,107590126
67;147198;151887;2,32100404
68;149290;150703;8,560092216
69;149344;150770;9,938811209
70;149344;150770;5,787478429
71;148990;122971;2,583192828
72;89864;158673;5,299541772
73;79465;148922;6,038002095
74;148388;123963;3,192033439
75;148432;124468;8,085579794
76;148536;123631;2,027891366
77;148648;123694;5,397160821
78;51326;166144;1,072041674
79;51424;166163;7,190299142
80;94300;131850;1,520360916
81;106100;133600;7,43384938
82;106350;135450;2,710186103
83;106400;132600;9,698695261
84;106500;134100;3,931355396
85;106800;134650;4,687253969
86;107050;134000;5,724228038
87;107312;133228;5,973770237
88;107767;127098;4,408539793
89;112905;128428;9,884175679
90;116250;129000;1,405425006
91;105850;134150;0,359823103
92;105900;133300;9,692940279
93;118143;135279;1,268076954
94;149300;103700;6,738560056
95;52188;163000;3,667692753
96;76057;139944;9,787384332
97;76282;150985;3,825164433
98;76300;152200;3,029343061
99;76366;151495;8,911580441
100;76406;151244;4,929952604
Bonjour et bienvenue à StackOverflow. Comme nous n'avons pas vos données, nous ne pouvons pas reproduire votre problème. S'il vous plaît essayez de trouver un [Exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve). – symbolrush
Salut, je sais que c'est plus facile avec les données mais elles sont confidentielles ... Je viens de créer un jeu de données aléatoire (avec seulement 100 points) pour essayer le code, mais il correspond aux caractéristiques de la base de données originale. –
vous ne devez pas fournir de nombres aléatoires, fournissez plutôt le code qui génère ces – RobertH