Division d'un shapefile en plusieurs

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Lora Denies
Messages : 2
Enregistré le : 03 Mai 2018, 08:50

Division d'un shapefile en plusieurs

Messagepar Lora Denies » 03 Mai 2018, 12:02

Bonjour,

Dans le cadre d'un stage, je dois, à partir d'un jeu de données contenant des coordonnées GPS de différentes biches identifiées à l'aide d'un numéro, calculer les domaines vitaux de chaque animal individuellement. Ca ne me pose pas de problème jusque là. Le soucis c'est qu'une fois les domaines vitaux calculés, je dois les convertir en shapefiles pour être lus dans ArcMap (et les superposer à une carte avec les bonnes coordonnées). Etant donné que j'ai calculé mes domaines pour tout mon jeu de données (et donc pour tous les individus), je voudrais maintenant, lors de la conversion en shapefile, spécifier à R de faire un fichier shp individuel pour chaque individu en le nommant directement par l'ID de l'animal.
J'ai essayé le code suivant:

Boucle pour produire les domaines vitaux par individu:

for (i in unique(testr$animals_id)) {
id <- subset(testr, testr$animals_id==i)
kernh1 <-kde(id[,36:37])
plot(kernh1)
cont=contourLevels(kernh1, cont=95)
line=contourLines(x=kernh1$eval.points[[1]], y=kernh1$eval.points[[2]], z=kernh1$estimate,levels=cont)
sldf=ContourLines2SLDF(line,proj4string = proj4string)
plot(sldf)
}

Conversion en shapefile:

for(i in 1:nrow(ID)){
layer <- ID[i, 1]}
writeOGR(sldf, dsn="Shapefile", layer=cbind(), driver="ESRI Shapefile")

"layer" me pose problème car n'accepte pas les mêmes noms et ne les change pas pour tous les individus (je n'ai qu'un fichier de sortie contenant 1 animal même avec la boucle).

Merci à l'avance pour vos réponses.

Lora

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Division d'un shapefile en plusieurs

Messagepar Pierre-Yves Berrard » 07 Mai 2018, 08:24

Lora Denies a écrit :

Code : Tout sélectionner

for(i in 1:nrow(ID)){
  layer <- ID[i, 1]}
  writeOGR(sldf, dsn="Shapefile", layer=cbind(), driver="ESRI Shapefile")

"layer" me pose problème car n'accepte pas les mêmes noms et ne les change pas pour tous les individus (je n'ai qu'un fichier de sortie contenant 1 animal même avec la boucle).

Bonjour,
L'argument layer = cbind() me laisse un peu perplexe. Ne faudrait-il pas une chaîne de caractère qui dépende de i ?
PY

Lora Denies
Messages : 2
Enregistré le : 03 Mai 2018, 08:50

Re: Division d'un shapefile en plusieurs

Messagepar Lora Denies » 07 Mai 2018, 12:49

Bonjour,

Effectivement, j'ai trouvé mon erreur et maintenant, le script fonctionne.

Merci pour votre réponse.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité