Why raster layer name change to default when using raster::calc function?How to change field name in raster file?why preview image is blank for ImageMosaicJDBC (postgis raster) layer?Problem in adding raster layer from arcpyRpy2: how do I use the function 'as' (r library methods) in python?Setting default raster layer style in QGIS?Efficiently changing field names added by Extract Multi Values to Points tool in ArcPy for large dataset?Converting .adf raster from UTM to lat/long without UTM zones in RError using calc() function: cannot use this function using R?Setting band names when writing multiple layer rasters using GDAL with Python?projectRaster() result does not have the same nrow and ncol, but has same resolution

What are the differences between the usage of 'it' and 'they'?

Prove that NP is closed under karp reduction?

How to format long polynomial?

Can a Warlock become Neutral Good?

Why do falling prices hurt debtors?

A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?

Do I have a twin with permutated remainders?

What would happen to a modern skyscraper if it rains micro blackholes?

How can I make my BBEG immortal short of making them a Lich or Vampire?

How much RAM could one put in a typical 80386 setup?

Have astronauts in space suits ever taken selfies? If so, how?

LaTeX closing $ signs makes cursor jump

Can divisibility rules for digits be generalized to sum of digits

How to write a macro that is braces sensitive?

Modeling an IPv4 Address

How is it possible to have an ability score that is less than 3?

Why does Kotter return in Welcome Back Kotter?

Today is the Center

What do the dots in this tr command do: tr .............A-Z A-ZA-Z <<< "JVPQBOV" (with 13 dots)

Example of a continuous function that don't have a continuous extension

Test if tikzmark exists on same page

Which models of the Boeing 737 are still in production?

Why do I get two different answers for this counting problem?

Is it tax fraud for an individual to declare non-taxable revenue as taxable income? (US tax laws)



Why raster layer name change to default when using raster::calc function?


How to change field name in raster file?why preview image is blank for ImageMosaicJDBC (postgis raster) layer?Problem in adding raster layer from arcpyRpy2: how do I use the function 'as' (r library methods) in python?Setting default raster layer style in QGIS?Efficiently changing field names added by Extract Multi Values to Points tool in ArcPy for large dataset?Converting .adf raster from UTM to lat/long without UTM zones in RError using calc() function: cannot use this function using R?Setting band names when writing multiple layer rasters using GDAL with Python?projectRaster() result does not have the same nrow and ncol, but has same resolution






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















Why raster layer name change to default when using raster::calc function, but not when using Arith-methods:



Toy example copied from Reference manual (calc function).



library(raster)
r <- raster(ncols=36, nrows=18)
r[] <- 1:ncell(r)
names(r) <- "Band1"
r

rc1 <- calc(r, function(x) x * 10 )
names(rc1) # Default name "layer"

#But when:
rc2 <- r*10
names(rc2) #It conserves the name "Band1"


I did not find an easy way to check the calc function code?










share|improve this question









New contributor




Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.


























    0















    Why raster layer name change to default when using raster::calc function, but not when using Arith-methods:



    Toy example copied from Reference manual (calc function).



    library(raster)
    r <- raster(ncols=36, nrows=18)
    r[] <- 1:ncell(r)
    names(r) <- "Band1"
    r

    rc1 <- calc(r, function(x) x * 10 )
    names(rc1) # Default name "layer"

    #But when:
    rc2 <- r*10
    names(rc2) #It conserves the name "Band1"


    I did not find an easy way to check the calc function code?










    share|improve this question









    New contributor




    Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      0












      0








      0








      Why raster layer name change to default when using raster::calc function, but not when using Arith-methods:



      Toy example copied from Reference manual (calc function).



      library(raster)
      r <- raster(ncols=36, nrows=18)
      r[] <- 1:ncell(r)
      names(r) <- "Band1"
      r

      rc1 <- calc(r, function(x) x * 10 )
      names(rc1) # Default name "layer"

      #But when:
      rc2 <- r*10
      names(rc2) #It conserves the name "Band1"


      I did not find an easy way to check the calc function code?










      share|improve this question









      New contributor




      Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      Why raster layer name change to default when using raster::calc function, but not when using Arith-methods:



      Toy example copied from Reference manual (calc function).



      library(raster)
      r <- raster(ncols=36, nrows=18)
      r[] <- 1:ncell(r)
      names(r) <- "Band1"
      r

      rc1 <- calc(r, function(x) x * 10 )
      names(rc1) # Default name "layer"

      #But when:
      rc2 <- r*10
      names(rc2) #It conserves the name "Band1"


      I did not find an easy way to check the calc function code?







      raster r






      share|improve this question









      New contributor




      Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited Apr 3 at 7:52









      Sara Belzak

      52




      52






      New contributor




      Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Apr 3 at 5:36









      Camilo ErassoCamilo Erasso

      32




      32




      New contributor




      Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Camilo Erasso is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes


















          1














          There's no mention of what happens with layer names in the documentation for calc so I suspect the answer is "just because". If you rely on layer names in your code then you should probably explicitly set them any time you think they might change.



          Note that arithmetic can change layer names - even though both operands here have the same name, the output is different:



          > names(r)
          [1] "Foo"
          > names(r*r)
          [1] "layer"


          Even simple functions of one raster can change layer names:



          > names(r)
          [1] "Foo"
          > names(sqrt(r))
          [1] "layer"


          I think the best advice is to treat layer names as fragile and reset them when you need them, copying them from source rasters at the start of a processing step.



          I'm not sure there's always a sensible default when doing arithmetic - suppose you are doing operations on more than one raster, which one do you use? Simpler to let the user decide. The setNames function comes in very handy here:



          Two rasters with differing names:



          > names(r)
          [1] "Foo"
          > names(q)
          [1] "Bar"


          When multiplied, returns neither:



          > names(r*q)
          [1] "layer"


          Wrap in setNames and get a raster:



          > rq = setNames(r*q, names(q))
          > rq2 = setNames(r*q, names(r))


          With whichever names you ask for:



          > names(rq)
          [1] "Bar"
          > names(rq2)
          [1] "Foo"
          >


          a = setNames(b, n) is essentially the same as a = b; names(a)=n; return(a)






          share|improve this answer

























          • Don't you think that this would be a nice option in this function to be filed as an issue on the github site of the raster package? I will do it just in case and wait for his answer. In the meantime I will follow your suggestion. Thank you for your help!

            – Camilo Erasso
            Apr 3 at 18:52











          • I think setNames does the job nice enough - see edit.

            – Spacedman
            Apr 3 at 19:01











          • It does. I received a quick answer on github.com/rspatial/raster/issues/50. It is so by desig: github.com/rspatial/raster/issues/42

            – Camilo Erasso
            Apr 3 at 19:23











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "79"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Camilo Erasso is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317591%2fwhy-raster-layer-name-change-to-default-when-using-rastercalc-function%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          There's no mention of what happens with layer names in the documentation for calc so I suspect the answer is "just because". If you rely on layer names in your code then you should probably explicitly set them any time you think they might change.



          Note that arithmetic can change layer names - even though both operands here have the same name, the output is different:



          > names(r)
          [1] "Foo"
          > names(r*r)
          [1] "layer"


          Even simple functions of one raster can change layer names:



          > names(r)
          [1] "Foo"
          > names(sqrt(r))
          [1] "layer"


          I think the best advice is to treat layer names as fragile and reset them when you need them, copying them from source rasters at the start of a processing step.



          I'm not sure there's always a sensible default when doing arithmetic - suppose you are doing operations on more than one raster, which one do you use? Simpler to let the user decide. The setNames function comes in very handy here:



          Two rasters with differing names:



          > names(r)
          [1] "Foo"
          > names(q)
          [1] "Bar"


          When multiplied, returns neither:



          > names(r*q)
          [1] "layer"


          Wrap in setNames and get a raster:



          > rq = setNames(r*q, names(q))
          > rq2 = setNames(r*q, names(r))


          With whichever names you ask for:



          > names(rq)
          [1] "Bar"
          > names(rq2)
          [1] "Foo"
          >


          a = setNames(b, n) is essentially the same as a = b; names(a)=n; return(a)






          share|improve this answer

























          • Don't you think that this would be a nice option in this function to be filed as an issue on the github site of the raster package? I will do it just in case and wait for his answer. In the meantime I will follow your suggestion. Thank you for your help!

            – Camilo Erasso
            Apr 3 at 18:52











          • I think setNames does the job nice enough - see edit.

            – Spacedman
            Apr 3 at 19:01











          • It does. I received a quick answer on github.com/rspatial/raster/issues/50. It is so by desig: github.com/rspatial/raster/issues/42

            – Camilo Erasso
            Apr 3 at 19:23















          1














          There's no mention of what happens with layer names in the documentation for calc so I suspect the answer is "just because". If you rely on layer names in your code then you should probably explicitly set them any time you think they might change.



          Note that arithmetic can change layer names - even though both operands here have the same name, the output is different:



          > names(r)
          [1] "Foo"
          > names(r*r)
          [1] "layer"


          Even simple functions of one raster can change layer names:



          > names(r)
          [1] "Foo"
          > names(sqrt(r))
          [1] "layer"


          I think the best advice is to treat layer names as fragile and reset them when you need them, copying them from source rasters at the start of a processing step.



          I'm not sure there's always a sensible default when doing arithmetic - suppose you are doing operations on more than one raster, which one do you use? Simpler to let the user decide. The setNames function comes in very handy here:



          Two rasters with differing names:



          > names(r)
          [1] "Foo"
          > names(q)
          [1] "Bar"


          When multiplied, returns neither:



          > names(r*q)
          [1] "layer"


          Wrap in setNames and get a raster:



          > rq = setNames(r*q, names(q))
          > rq2 = setNames(r*q, names(r))


          With whichever names you ask for:



          > names(rq)
          [1] "Bar"
          > names(rq2)
          [1] "Foo"
          >


          a = setNames(b, n) is essentially the same as a = b; names(a)=n; return(a)






          share|improve this answer

























          • Don't you think that this would be a nice option in this function to be filed as an issue on the github site of the raster package? I will do it just in case and wait for his answer. In the meantime I will follow your suggestion. Thank you for your help!

            – Camilo Erasso
            Apr 3 at 18:52











          • I think setNames does the job nice enough - see edit.

            – Spacedman
            Apr 3 at 19:01











          • It does. I received a quick answer on github.com/rspatial/raster/issues/50. It is so by desig: github.com/rspatial/raster/issues/42

            – Camilo Erasso
            Apr 3 at 19:23













          1












          1








          1







          There's no mention of what happens with layer names in the documentation for calc so I suspect the answer is "just because". If you rely on layer names in your code then you should probably explicitly set them any time you think they might change.



          Note that arithmetic can change layer names - even though both operands here have the same name, the output is different:



          > names(r)
          [1] "Foo"
          > names(r*r)
          [1] "layer"


          Even simple functions of one raster can change layer names:



          > names(r)
          [1] "Foo"
          > names(sqrt(r))
          [1] "layer"


          I think the best advice is to treat layer names as fragile and reset them when you need them, copying them from source rasters at the start of a processing step.



          I'm not sure there's always a sensible default when doing arithmetic - suppose you are doing operations on more than one raster, which one do you use? Simpler to let the user decide. The setNames function comes in very handy here:



          Two rasters with differing names:



          > names(r)
          [1] "Foo"
          > names(q)
          [1] "Bar"


          When multiplied, returns neither:



          > names(r*q)
          [1] "layer"


          Wrap in setNames and get a raster:



          > rq = setNames(r*q, names(q))
          > rq2 = setNames(r*q, names(r))


          With whichever names you ask for:



          > names(rq)
          [1] "Bar"
          > names(rq2)
          [1] "Foo"
          >


          a = setNames(b, n) is essentially the same as a = b; names(a)=n; return(a)






          share|improve this answer















          There's no mention of what happens with layer names in the documentation for calc so I suspect the answer is "just because". If you rely on layer names in your code then you should probably explicitly set them any time you think they might change.



          Note that arithmetic can change layer names - even though both operands here have the same name, the output is different:



          > names(r)
          [1] "Foo"
          > names(r*r)
          [1] "layer"


          Even simple functions of one raster can change layer names:



          > names(r)
          [1] "Foo"
          > names(sqrt(r))
          [1] "layer"


          I think the best advice is to treat layer names as fragile and reset them when you need them, copying them from source rasters at the start of a processing step.



          I'm not sure there's always a sensible default when doing arithmetic - suppose you are doing operations on more than one raster, which one do you use? Simpler to let the user decide. The setNames function comes in very handy here:



          Two rasters with differing names:



          > names(r)
          [1] "Foo"
          > names(q)
          [1] "Bar"


          When multiplied, returns neither:



          > names(r*q)
          [1] "layer"


          Wrap in setNames and get a raster:



          > rq = setNames(r*q, names(q))
          > rq2 = setNames(r*q, names(r))


          With whichever names you ask for:



          > names(rq)
          [1] "Bar"
          > names(rq2)
          [1] "Foo"
          >


          a = setNames(b, n) is essentially the same as a = b; names(a)=n; return(a)







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 3 at 19:00

























          answered Apr 3 at 7:09









          SpacedmanSpacedman

          24.8k23551




          24.8k23551












          • Don't you think that this would be a nice option in this function to be filed as an issue on the github site of the raster package? I will do it just in case and wait for his answer. In the meantime I will follow your suggestion. Thank you for your help!

            – Camilo Erasso
            Apr 3 at 18:52











          • I think setNames does the job nice enough - see edit.

            – Spacedman
            Apr 3 at 19:01











          • It does. I received a quick answer on github.com/rspatial/raster/issues/50. It is so by desig: github.com/rspatial/raster/issues/42

            – Camilo Erasso
            Apr 3 at 19:23

















          • Don't you think that this would be a nice option in this function to be filed as an issue on the github site of the raster package? I will do it just in case and wait for his answer. In the meantime I will follow your suggestion. Thank you for your help!

            – Camilo Erasso
            Apr 3 at 18:52











          • I think setNames does the job nice enough - see edit.

            – Spacedman
            Apr 3 at 19:01











          • It does. I received a quick answer on github.com/rspatial/raster/issues/50. It is so by desig: github.com/rspatial/raster/issues/42

            – Camilo Erasso
            Apr 3 at 19:23
















          Don't you think that this would be a nice option in this function to be filed as an issue on the github site of the raster package? I will do it just in case and wait for his answer. In the meantime I will follow your suggestion. Thank you for your help!

          – Camilo Erasso
          Apr 3 at 18:52





          Don't you think that this would be a nice option in this function to be filed as an issue on the github site of the raster package? I will do it just in case and wait for his answer. In the meantime I will follow your suggestion. Thank you for your help!

          – Camilo Erasso
          Apr 3 at 18:52













          I think setNames does the job nice enough - see edit.

          – Spacedman
          Apr 3 at 19:01





          I think setNames does the job nice enough - see edit.

          – Spacedman
          Apr 3 at 19:01













          It does. I received a quick answer on github.com/rspatial/raster/issues/50. It is so by desig: github.com/rspatial/raster/issues/42

          – Camilo Erasso
          Apr 3 at 19:23





          It does. I received a quick answer on github.com/rspatial/raster/issues/50. It is so by desig: github.com/rspatial/raster/issues/42

          – Camilo Erasso
          Apr 3 at 19:23










          Camilo Erasso is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          Camilo Erasso is a new contributor. Be nice, and check out our Code of Conduct.












          Camilo Erasso is a new contributor. Be nice, and check out our Code of Conduct.











          Camilo Erasso is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317591%2fwhy-raster-layer-name-change-to-default-when-using-rastercalc-function%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

          Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given

          Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221