Calculating Topographic Exposure with ArcGIS Raster Calculator? Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?seeking “Available Sky” implementationsCalculating Topographic Ruggedness Index in ArcGIS Desktop?ArcGIS Raster Calculator VS QGIS Raster CalculatorRaster Calculator in Model BuilderCalculating field length in certain directions (raster)?Using flat (no data) areas of aspect-raster in QGIS raster calculator?Raster Calculator with conditional arguments?Calculating Geometric Mean in Raster calculatorHow can I alter the value field in a raster?ArcGIS Raster Calculator modifying bit depth of outputs?Raster calculator with EVI in ArcGIS

3 doors, three guards, one stone

Unable to start mainnet node docker container

What's the difference between (size_t)-1 and ~0?

Stop battery usage [Ubuntu 18]

Slither Like a Snake

When is phishing education going too far?

If I can make up priors, why can't I make up posteriors?

Estimate capacitor parameters

Can a monk deflect thrown melee weapons?

How to retrograde a note sequence in Finale?

Stars Make Stars

How can I protect witches in combat who wear limited clothing?

Interesting examples of non-locally compact topological groups

Losing the Initialization Vector in Cipher Block Chaining

What to do with post with dry rot?

Working around an AWS network ACL rule limit

What do you call the holes in a flute?

Cold is to Refrigerator as warm is to?

Two different pronunciation of "понял"

What items from the Roman-age tech-level could be used to deter all creatures from entering a small area?

Who can trigger ship-wide alerts in Star Trek?

Why is "Captain Marvel" translated as male in Portugal?

How to rotate it perfectly?

What would be Julian Assange's expected punishment, on the current English criminal law?



Calculating Topographic Exposure with ArcGIS Raster Calculator?



Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?seeking “Available Sky” implementationsCalculating Topographic Ruggedness Index in ArcGIS Desktop?ArcGIS Raster Calculator VS QGIS Raster CalculatorRaster Calculator in Model BuilderCalculating field length in certain directions (raster)?Using flat (no data) areas of aspect-raster in QGIS raster calculator?Raster Calculator with conditional arguments?Calculating Geometric Mean in Raster calculatorHow can I alter the value field in a raster?ArcGIS Raster Calculator modifying bit depth of outputs?Raster calculator with EVI in ArcGIS



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








5















I need you help trying to calculate Topographic Exposure (TOPEX) on a DEM in ArcGIS. I am trying to figure out wind exposure on a DEM with 25m cells.
There is a great blog post where someone explains how to do it but he uses GRASS. Jamie Popkin's GIS Blog I thought I would be able to put the same equation into ArcGIS Raster Calculator but it says the equation is invalid. I've tried playing with it as much as I can but I can't seem to make it work.



His first equation is:



r.mapcalc incl4north = "atan(((dem - dem[4,0])) / ((25 * 4)))"


And then he goes on to string a bunch of them together



enter image description here



Does anyone know how the equation should appear in Raster Calculator in ArcGIS Desktop?










share|improve this question
























  • ArcGIS raster calculator uses a Python syntax, and it looks like your example does not. So that will need to be changed. Also I think the ArcTan function is written as ATan not atan. I think its case sensitive. Finally I am not sure how to get cells a set number of distance way, but I don't think dem[up,right] is the correct syntax. Could be wrong about that though. Why not just use GRASS?

    – Taylor H.
    Mar 14 '14 at 14:43






  • 2





    The purpose of this calculation is "to take the maximum inclination for all distances from 100m to 2000m." There are far more efficient ways to do it! Even with the relatively limited raster calculator methods, you can compute annular focal maxima at all cell distances out to 2000m, divide the differences between those and the original DEM value by the distances, and pick the largest of the bunch. Only then do you need to apply the arctangent. Closely related calculations are "available sky" or "topographic openness".

    – whuber
    Mar 17 '14 at 20:43











  • @Mary Lynn, I don't know about GRASS, but Whitebox GAT has a toolbox for calculating exposure (Wind Related Terrain Attributes) which include tools for Directional Relief, Exposure Towards a Wind Flux, Fetch Analysis, Horizon Angle, and Relative Aspect. These might simplify your measures. Also, whuber is correct in stating that topographic openness is an excellent attribute for measuring exposure. There's a good description of each attribute here: link.springer.com/chapter/10.1007%2F978-3-540-77800-4_21

    – WhiteboxDev
    Aug 11 '14 at 13:26

















5















I need you help trying to calculate Topographic Exposure (TOPEX) on a DEM in ArcGIS. I am trying to figure out wind exposure on a DEM with 25m cells.
There is a great blog post where someone explains how to do it but he uses GRASS. Jamie Popkin's GIS Blog I thought I would be able to put the same equation into ArcGIS Raster Calculator but it says the equation is invalid. I've tried playing with it as much as I can but I can't seem to make it work.



His first equation is:



r.mapcalc incl4north = "atan(((dem - dem[4,0])) / ((25 * 4)))"


And then he goes on to string a bunch of them together



enter image description here



Does anyone know how the equation should appear in Raster Calculator in ArcGIS Desktop?










share|improve this question
























  • ArcGIS raster calculator uses a Python syntax, and it looks like your example does not. So that will need to be changed. Also I think the ArcTan function is written as ATan not atan. I think its case sensitive. Finally I am not sure how to get cells a set number of distance way, but I don't think dem[up,right] is the correct syntax. Could be wrong about that though. Why not just use GRASS?

    – Taylor H.
    Mar 14 '14 at 14:43






  • 2





    The purpose of this calculation is "to take the maximum inclination for all distances from 100m to 2000m." There are far more efficient ways to do it! Even with the relatively limited raster calculator methods, you can compute annular focal maxima at all cell distances out to 2000m, divide the differences between those and the original DEM value by the distances, and pick the largest of the bunch. Only then do you need to apply the arctangent. Closely related calculations are "available sky" or "topographic openness".

    – whuber
    Mar 17 '14 at 20:43











  • @Mary Lynn, I don't know about GRASS, but Whitebox GAT has a toolbox for calculating exposure (Wind Related Terrain Attributes) which include tools for Directional Relief, Exposure Towards a Wind Flux, Fetch Analysis, Horizon Angle, and Relative Aspect. These might simplify your measures. Also, whuber is correct in stating that topographic openness is an excellent attribute for measuring exposure. There's a good description of each attribute here: link.springer.com/chapter/10.1007%2F978-3-540-77800-4_21

    – WhiteboxDev
    Aug 11 '14 at 13:26













5












5








5


2






I need you help trying to calculate Topographic Exposure (TOPEX) on a DEM in ArcGIS. I am trying to figure out wind exposure on a DEM with 25m cells.
There is a great blog post where someone explains how to do it but he uses GRASS. Jamie Popkin's GIS Blog I thought I would be able to put the same equation into ArcGIS Raster Calculator but it says the equation is invalid. I've tried playing with it as much as I can but I can't seem to make it work.



His first equation is:



r.mapcalc incl4north = "atan(((dem - dem[4,0])) / ((25 * 4)))"


And then he goes on to string a bunch of them together



enter image description here



Does anyone know how the equation should appear in Raster Calculator in ArcGIS Desktop?










share|improve this question
















I need you help trying to calculate Topographic Exposure (TOPEX) on a DEM in ArcGIS. I am trying to figure out wind exposure on a DEM with 25m cells.
There is a great blog post where someone explains how to do it but he uses GRASS. Jamie Popkin's GIS Blog I thought I would be able to put the same equation into ArcGIS Raster Calculator but it says the equation is invalid. I've tried playing with it as much as I can but I can't seem to make it work.



His first equation is:



r.mapcalc incl4north = "atan(((dem - dem[4,0])) / ((25 * 4)))"


And then he goes on to string a bunch of them together



enter image description here



Does anyone know how the equation should appear in Raster Calculator in ArcGIS Desktop?







arcgis-desktop spatial-analyst raster-calculator topography climate






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 8 at 13:10









PolyGeo

54k1782246




54k1782246










asked Mar 14 '14 at 14:20









Mary LynnMary Lynn

262




262












  • ArcGIS raster calculator uses a Python syntax, and it looks like your example does not. So that will need to be changed. Also I think the ArcTan function is written as ATan not atan. I think its case sensitive. Finally I am not sure how to get cells a set number of distance way, but I don't think dem[up,right] is the correct syntax. Could be wrong about that though. Why not just use GRASS?

    – Taylor H.
    Mar 14 '14 at 14:43






  • 2





    The purpose of this calculation is "to take the maximum inclination for all distances from 100m to 2000m." There are far more efficient ways to do it! Even with the relatively limited raster calculator methods, you can compute annular focal maxima at all cell distances out to 2000m, divide the differences between those and the original DEM value by the distances, and pick the largest of the bunch. Only then do you need to apply the arctangent. Closely related calculations are "available sky" or "topographic openness".

    – whuber
    Mar 17 '14 at 20:43











  • @Mary Lynn, I don't know about GRASS, but Whitebox GAT has a toolbox for calculating exposure (Wind Related Terrain Attributes) which include tools for Directional Relief, Exposure Towards a Wind Flux, Fetch Analysis, Horizon Angle, and Relative Aspect. These might simplify your measures. Also, whuber is correct in stating that topographic openness is an excellent attribute for measuring exposure. There's a good description of each attribute here: link.springer.com/chapter/10.1007%2F978-3-540-77800-4_21

    – WhiteboxDev
    Aug 11 '14 at 13:26

















  • ArcGIS raster calculator uses a Python syntax, and it looks like your example does not. So that will need to be changed. Also I think the ArcTan function is written as ATan not atan. I think its case sensitive. Finally I am not sure how to get cells a set number of distance way, but I don't think dem[up,right] is the correct syntax. Could be wrong about that though. Why not just use GRASS?

    – Taylor H.
    Mar 14 '14 at 14:43






  • 2





    The purpose of this calculation is "to take the maximum inclination for all distances from 100m to 2000m." There are far more efficient ways to do it! Even with the relatively limited raster calculator methods, you can compute annular focal maxima at all cell distances out to 2000m, divide the differences between those and the original DEM value by the distances, and pick the largest of the bunch. Only then do you need to apply the arctangent. Closely related calculations are "available sky" or "topographic openness".

    – whuber
    Mar 17 '14 at 20:43











  • @Mary Lynn, I don't know about GRASS, but Whitebox GAT has a toolbox for calculating exposure (Wind Related Terrain Attributes) which include tools for Directional Relief, Exposure Towards a Wind Flux, Fetch Analysis, Horizon Angle, and Relative Aspect. These might simplify your measures. Also, whuber is correct in stating that topographic openness is an excellent attribute for measuring exposure. There's a good description of each attribute here: link.springer.com/chapter/10.1007%2F978-3-540-77800-4_21

    – WhiteboxDev
    Aug 11 '14 at 13:26
















ArcGIS raster calculator uses a Python syntax, and it looks like your example does not. So that will need to be changed. Also I think the ArcTan function is written as ATan not atan. I think its case sensitive. Finally I am not sure how to get cells a set number of distance way, but I don't think dem[up,right] is the correct syntax. Could be wrong about that though. Why not just use GRASS?

– Taylor H.
Mar 14 '14 at 14:43





ArcGIS raster calculator uses a Python syntax, and it looks like your example does not. So that will need to be changed. Also I think the ArcTan function is written as ATan not atan. I think its case sensitive. Finally I am not sure how to get cells a set number of distance way, but I don't think dem[up,right] is the correct syntax. Could be wrong about that though. Why not just use GRASS?

– Taylor H.
Mar 14 '14 at 14:43




2




2





The purpose of this calculation is "to take the maximum inclination for all distances from 100m to 2000m." There are far more efficient ways to do it! Even with the relatively limited raster calculator methods, you can compute annular focal maxima at all cell distances out to 2000m, divide the differences between those and the original DEM value by the distances, and pick the largest of the bunch. Only then do you need to apply the arctangent. Closely related calculations are "available sky" or "topographic openness".

– whuber
Mar 17 '14 at 20:43





The purpose of this calculation is "to take the maximum inclination for all distances from 100m to 2000m." There are far more efficient ways to do it! Even with the relatively limited raster calculator methods, you can compute annular focal maxima at all cell distances out to 2000m, divide the differences between those and the original DEM value by the distances, and pick the largest of the bunch. Only then do you need to apply the arctangent. Closely related calculations are "available sky" or "topographic openness".

– whuber
Mar 17 '14 at 20:43













@Mary Lynn, I don't know about GRASS, but Whitebox GAT has a toolbox for calculating exposure (Wind Related Terrain Attributes) which include tools for Directional Relief, Exposure Towards a Wind Flux, Fetch Analysis, Horizon Angle, and Relative Aspect. These might simplify your measures. Also, whuber is correct in stating that topographic openness is an excellent attribute for measuring exposure. There's a good description of each attribute here: link.springer.com/chapter/10.1007%2F978-3-540-77800-4_21

– WhiteboxDev
Aug 11 '14 at 13:26





@Mary Lynn, I don't know about GRASS, but Whitebox GAT has a toolbox for calculating exposure (Wind Related Terrain Attributes) which include tools for Directional Relief, Exposure Towards a Wind Flux, Fetch Analysis, Horizon Angle, and Relative Aspect. These might simplify your measures. Also, whuber is correct in stating that topographic openness is an excellent attribute for measuring exposure. There's a good description of each attribute here: link.springer.com/chapter/10.1007%2F978-3-540-77800-4_21

– WhiteboxDev
Aug 11 '14 at 13:26










1 Answer
1






active

oldest

votes


















1














From what I know, it is not possible to use relative pixel index in ArcGIS raster calculator like you can do in GRASS. The best way to use such indexing method would be to use arcpy.rastertonumpyarray then loop on all pixel values to compute your angles. Something like



for i in range(height):
for j in range(width):
newarray[i,j] = max( math.atan((oldarray[i, j+4] - array[i,j])/4), atan((oldarray[i, j+8] - array[i,j])/8)) etc... )


Of course, this code will not work as it is because it some indices will be out of range. Also, you should be careful because numpy indexing start at the top left.



Another workaround is to use a stack of shifted raster that you could use in raster calculator, but this would give you a lot of useless rasters.






share|improve this answer























    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
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f89725%2fcalculating-topographic-exposure-with-arcgis-raster-calculator%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














    From what I know, it is not possible to use relative pixel index in ArcGIS raster calculator like you can do in GRASS. The best way to use such indexing method would be to use arcpy.rastertonumpyarray then loop on all pixel values to compute your angles. Something like



    for i in range(height):
    for j in range(width):
    newarray[i,j] = max( math.atan((oldarray[i, j+4] - array[i,j])/4), atan((oldarray[i, j+8] - array[i,j])/8)) etc... )


    Of course, this code will not work as it is because it some indices will be out of range. Also, you should be careful because numpy indexing start at the top left.



    Another workaround is to use a stack of shifted raster that you could use in raster calculator, but this would give you a lot of useless rasters.






    share|improve this answer



























      1














      From what I know, it is not possible to use relative pixel index in ArcGIS raster calculator like you can do in GRASS. The best way to use such indexing method would be to use arcpy.rastertonumpyarray then loop on all pixel values to compute your angles. Something like



      for i in range(height):
      for j in range(width):
      newarray[i,j] = max( math.atan((oldarray[i, j+4] - array[i,j])/4), atan((oldarray[i, j+8] - array[i,j])/8)) etc... )


      Of course, this code will not work as it is because it some indices will be out of range. Also, you should be careful because numpy indexing start at the top left.



      Another workaround is to use a stack of shifted raster that you could use in raster calculator, but this would give you a lot of useless rasters.






      share|improve this answer

























        1












        1








        1







        From what I know, it is not possible to use relative pixel index in ArcGIS raster calculator like you can do in GRASS. The best way to use such indexing method would be to use arcpy.rastertonumpyarray then loop on all pixel values to compute your angles. Something like



        for i in range(height):
        for j in range(width):
        newarray[i,j] = max( math.atan((oldarray[i, j+4] - array[i,j])/4), atan((oldarray[i, j+8] - array[i,j])/8)) etc... )


        Of course, this code will not work as it is because it some indices will be out of range. Also, you should be careful because numpy indexing start at the top left.



        Another workaround is to use a stack of shifted raster that you could use in raster calculator, but this would give you a lot of useless rasters.






        share|improve this answer













        From what I know, it is not possible to use relative pixel index in ArcGIS raster calculator like you can do in GRASS. The best way to use such indexing method would be to use arcpy.rastertonumpyarray then loop on all pixel values to compute your angles. Something like



        for i in range(height):
        for j in range(width):
        newarray[i,j] = max( math.atan((oldarray[i, j+4] - array[i,j])/4), atan((oldarray[i, j+8] - array[i,j])/8)) etc... )


        Of course, this code will not work as it is because it some indices will be out of range. Also, you should be careful because numpy indexing start at the top left.



        Another workaround is to use a stack of shifted raster that you could use in raster calculator, but this would give you a lot of useless rasters.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 14 '14 at 20:49









        radouxjuradouxju

        41.3k144122




        41.3k144122



























            draft saved

            draft discarded
















































            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%2f89725%2fcalculating-topographic-exposure-with-arcgis-raster-calculator%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

            QGIS export composer to PDF scale the map [closed] Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Print Composer QGIS 2.6, how to export image?QGIS 2.8.1 print composer won't export all OpenCycleMap base layer tilesSave Print/Map QGIS composer view as PNG/PDF using Python (without changing anything in visible layout)?Export QGIS Print Composer PDF with searchable text labelsQGIS Print Composer does not change from landscape to portrait orientation?How can I avoid map size and scale changes in print composer?Fuzzy PDF export in QGIS running on macSierra OSExport the legend into its 100% size using Print ComposerScale-dependent rendering in QGIS PDF output