{"id":765,"date":"2026-10-09T08:59:26","date_gmt":"2026-10-09T08:59:26","guid":{"rendered":"https:\/\/helpwithmygisassignment.com\/blog\/?p=765"},"modified":"2026-10-11T10:27:49","modified_gmt":"2026-10-11T10:27:49","slug":"raster-calculator-expressions-gis","status":"publish","type":"post","link":"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/","title":{"rendered":"Raster Calculator Expressions GIS: 5 Essential Formulas"},"content":{"rendered":"<div id=\"model-response-message-contentr_e2fc121132f993c9\" class=\"markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color stronger tutor-markdown-rendering\" dir=\"ltr\" aria-busy=\"false\" aria-live=\"polite\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Raster_Calculator_Expressions_GIS_5_Essential_Formulas\" >Raster Calculator Expressions GIS: 5 Essential Formulas<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Quick_Navigation_Table_of_Contents\" >Quick Navigation \/ Table of Contents<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#1_Fundamentals_of_Map_Algebra_in_GIS\" >1. Fundamentals of Map Algebra in GIS<\/a><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Master_raster_calculator_expressions_gis_formulas_in_QGIS_and_ArcGIS_Pro_Learn_Map_Algebra_syntax_for_land_suitability_masking_and_NDVI\" >Master raster calculator expressions gis formulas in QGIS and ArcGIS Pro. Learn Map Algebra syntax for land suitability, masking, and NDVI.<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Map_Algebra_Category_Breakdown\" >Map Algebra Category Breakdown<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#2_5_Essential_Raster_Calculator_Expressions_GIS_Formulas\" >2. 5 Essential Raster Calculator Expressions GIS Formulas<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Formula_1_Normalized_Difference_Vegetation_Index_NDVI\" >Formula 1: Normalized Difference Vegetation Index (NDVI)<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Mathematical_Formula\" >Mathematical Formula<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Expression_Syntax\" >Expression Syntax<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Formula_2_Conditional_Statements_for_Suitability_Masking\" >Formula 2: Conditional Statements for Suitability Masking<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Scenario\" >Scenario<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Expression_Syntax-2\" >Expression Syntax<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Formula_3_Unit_Conversions\" >Formula 3: Unit Conversions<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Elevation_Convert_Meters_to_Feet\" >Elevation: Convert Meters to Feet<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Temperature_Convert_Celsius_to_Fahrenheit\" >Temperature: Convert Celsius to Fahrenheit<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Formula_4_Combining_Multi-Criteria_Layers_into_Binary_Suitability_Maps\" >Formula 4: Combining Multi-Criteria Layers into Binary Suitability Maps<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Scenario-2\" >Scenario<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Expression_Syntax-3\" >Expression Syntax<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Formula_5_Replacing_NoData_Values_with_Zero\" >Formula 5: Replacing NoData Values with Zero<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Expression_Syntax-4\" >Expression Syntax<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Pro_Tip_Preventing_Spatial_Alignment_Grid_Mismatch_Errors\" >Pro Tip: Preventing Spatial Alignment &amp; Grid Mismatch Errors<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#3_Software_Comparison_QGIS_vs_ArcGIS_Pro_Syntax_Rules\" >3. Software Comparison: QGIS vs. ArcGIS Pro Syntax Rules<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#4_Frequently_Asked_Questions_FAQ\" >4. Frequently Asked Questions (FAQ)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Why_am_I_getting_a_syntax_error_in_my_Map_Algebra_expression\" >Why am I getting a syntax error in my Map Algebra expression?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#How_do_I_write_a_conditional_IF_statement_in_QGIS_Raster_Calculator\" >How do I write a conditional IF statement in QGIS Raster Calculator?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#Why_does_my_raster_output_result_in_all_0s_or_NoData\" >Why does my raster output result in all 0s or NoData?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/#5_Conclusion_Summary\" >5. Conclusion &amp; Summary<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1 data-path-to-node=\"3\"><span class=\"ez-toc-section\" id=\"Raster_Calculator_Expressions_GIS_5_Essential_Formulas\"><\/span>Raster Calculator Expressions GIS: 5 Essential Formulas<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<div>In spatial analysis and remote sensing lab assignments, grid-based cell manipulation is a foundational skill. Mastering <b data-path-to-node=\"5\" data-index-in-node=\"120\">raster calculator expressions GIS<\/b> syntax allows you to run complex Map Algebra operations\u2014ranging from spectral band math and unit conversions to multi-criteria land suitability modeling.<\/div>\n<div>However, students frequently run into syntax errors, incorrect boolean logic operators, or unexpected <code data-path-to-node=\"6\" data-index-in-node=\"102\">NoData<\/code> outputs when entering expressions in desktop GIS tools. This tutorial provides a developer-friendly reference guide covering five essential Map Algebra formulas, detailing exact syntax rules for both <b data-path-to-node=\"6\" data-index-in-node=\"309\">QGIS<\/b> and <b data-path-to-node=\"6\" data-index-in-node=\"318\">ArcGIS Pro<\/b>.<\/div>\n<h2 data-path-to-node=\"8\"><span class=\"ez-toc-section\" id=\"Quick_Navigation_Table_of_Contents\"><\/span>Quick Navigation \/ Table of Contents<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol start=\"1\" data-path-to-node=\"9\">\n<li>\n<div><b data-path-to-node=\"9,0,0\" data-index-in-node=\"0\">Core Concepts:<\/b> Map Algebra Operators &amp; Data Types<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,1,0\" data-index-in-node=\"0\">5 Essential Raster Calculator Expressions GIS Formulas<\/b><\/div>\n<ul data-path-to-node=\"9,1,1\">\n<li>\n<div>Formula 1: Normalized Difference Vegetation Index (NDVI)<\/div>\n<\/li>\n<li>\n<div>Formula 2: Conditional Masking (<code data-path-to-node=\"9,1,1,1,0\" data-index-in-node=\"32\">Con<\/code> \/ <code data-path-to-node=\"9,1,1,1,0\" data-index-in-node=\"38\">IF<\/code>)<\/div>\n<\/li>\n<li>\n<div>Formula 3: Unit Conversions (Elevation &amp; Temperature)<\/div>\n<\/li>\n<li>\n<div>Formula 4: Multi-Criteria Binary Overlay Modeling<\/div>\n<\/li>\n<li>\n<div>Formula 5: Replacing <code data-path-to-node=\"9,1,1,4,0\" data-index-in-node=\"21\">NoData<\/code> Pixels with Constant Values<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,2,0\" data-index-in-node=\"0\">Software Comparison:<\/b> QGIS vs. ArcGIS Pro Syntax Rules<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,3,0\" data-index-in-node=\"0\">Pro Tip:<\/b> Managing Spatial Resolution, Extents, and Cell Alignment<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,4,0\" data-index-in-node=\"0\">Frequently Asked Questions (FAQ)<\/b><\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"9,5,0\" data-index-in-node=\"0\">Conclusion &amp; Syntax Reference Summary<\/b><\/div>\n<\/li>\n<\/ol>\n<h2 data-path-to-node=\"11\"><span class=\"ez-toc-section\" id=\"1_Fundamentals_of_Map_Algebra_in_GIS\"><\/span>1. Fundamentals of Map Algebra in GIS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div>Map Algebra is the mathematical language used to manipulate geographic raster grids. Operations process datasets on a cell-by-cell basis across aligned layers.<\/div>\n<div class=\"code-block ng-tns-c1384409826-92 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQsgM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-92\">\n<div class=\"animated-opacity ng-tns-c1384409826-92\">\n<pre class=\"ng-tns-c1384409826-92\"><code class=\"code-container formatted ng-tns-c1384409826-92 no-decoration-radius\" role=\"text\" data-test-id=\"code-content\">+-------------------------------------------------------------------------+\r\n|                        INPUT RASTER GRID LAYERS                         |\r\n|             Aligned Cell Grids (Band 4, Band 5, DEM, Land Cover)        |\r\n+------------------------------------+------------------------------------+\r\n                                     |\r\n                                     v\r\n                  +-------------------------------------+\r\n                  |      MAP ALGEBRA EXPRESSION ENGINE  |\r\n                  |  Mathematical, Relational, Logical  |\r\n                  +------------------+------------------+\r\n                                     |\r\n            +------------------------+------------------------+\r\n            |                                                 |\r\n            v                                                 v\r\n  [ Arithmetic Operators ]    [ Relational Operators ]     [ Logical \/ Conditional ]\r\n  + , - , * , \/ , ^           &gt; , &lt; , == , &gt;= , &lt;= , !=   AND (&amp;) , OR (|) , Con \/ IF\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h6 data-path-to-node=\"14\"><span class=\"ez-toc-section\" id=\"Master_raster_calculator_expressions_gis_formulas_in_QGIS_and_ArcGIS_Pro_Learn_Map_Algebra_syntax_for_land_suitability_masking_and_NDVI\"><\/span>Master raster calculator expressions gis formulas in QGIS and ArcGIS Pro. Learn Map Algebra syntax for land suitability, masking, and NDVI.<span class=\"ez-toc-section-end\"><\/span><\/h6>\n<h3 data-path-to-node=\"14\"><span class=\"ez-toc-section\" id=\"Map_Algebra_Category_Breakdown\"><\/span>Map Algebra Category Breakdown<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul data-path-to-node=\"15\">\n<li>\n<div><b data-path-to-node=\"15,0,0\" data-index-in-node=\"0\">Arithmetic Operations:<\/b> Basic math functions calculated cell-by-cell (<span class=\"math-inline\" data-math=\"+\" data-index-in-node=\"69\">$+$<\/span>, <span class=\"math-inline\" data-math=\"-\" data-index-in-node=\"72\">$-$<\/span>, <span class=\"math-inline\" data-math=\"*\" data-index-in-node=\"75\">$*$<\/span>, <span class=\"math-inline\" data-math=\"\/\" data-index-in-node=\"78\">$\/$<\/span>).<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"15,1,0\" data-index-in-node=\"0\">Relational Operations:<\/b> Comparative evaluations that return boolean values (<span class=\"math-inline\" data-math=\"1\" data-index-in-node=\"75\">$1$<\/span> for True, <span class=\"math-inline\" data-math=\"0\" data-index-in-node=\"87\">$0$<\/span> for False).<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"15,2,0\" data-index-in-node=\"0\">Logical Operations:<\/b> Combine multiple criteria using boolean operators (<code data-path-to-node=\"15,2,0\" data-index-in-node=\"71\">AND<\/code>, <code data-path-to-node=\"15,2,0\" data-index-in-node=\"76\">OR<\/code>, <code data-path-to-node=\"15,2,0\" data-index-in-node=\"80\">NOT<\/code>).<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"15,3,0\" data-index-in-node=\"0\">Conditional Statements:<\/b> Evaluate conditions per cell and assign dynamic output values based on whether the statement evaluates to True or False.<\/div>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"17\"><span class=\"ez-toc-section\" id=\"2_5_Essential_Raster_Calculator_Expressions_GIS_Formulas\"><\/span>2. 5 Essential Raster Calculator Expressions GIS Formulas<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3 data-path-to-node=\"18\"><span class=\"ez-toc-section\" id=\"Formula_1_Normalized_Difference_Vegetation_Index_NDVI\"><\/span>Formula 1: Normalized Difference Vegetation Index (NDVI)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>NDVI quantifies vegetation health by measuring the difference between Near-Infrared (NIR) light (which healthy vegetation strongly reflects) and Red light (which vegetation absorbs).<\/div>\n<div><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-776\" src=\"https:\/\/helpwithmygisassignment.com\/blog\/wp-content\/uploads\/2026\/10\/watermarked_img_771103633075423744-1024x559.jpg\" alt=\"raster calculator expressions gis ndvi formula\" width=\"1024\" height=\"559\" srcset=\"https:\/\/helpwithmygisassignment.com\/blog\/wp-content\/uploads\/2026\/10\/watermarked_img_771103633075423744-1024x559.jpg 1024w, https:\/\/helpwithmygisassignment.com\/blog\/wp-content\/uploads\/2026\/10\/watermarked_img_771103633075423744-300x164.jpg 300w, https:\/\/helpwithmygisassignment.com\/blog\/wp-content\/uploads\/2026\/10\/watermarked_img_771103633075423744-768x419.jpg 768w, https:\/\/helpwithmygisassignment.com\/blog\/wp-content\/uploads\/2026\/10\/watermarked_img_771103633075423744.jpg 1408w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/div>\n<h4 data-path-to-node=\"20\"><span class=\"ez-toc-section\" id=\"Mathematical_Formula\"><\/span>Mathematical Formula<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div data-path-to-node=\"21\">\n<div class=\"math-block\" data-math=\"\\text{NDVI} = \\frac{\\text{NIR} - \\text{Red}}{\\text{NIR} + \\text{Red}}\">$$\\text{NDVI} = \\frac{\\text{NIR} &#8211; \\text{Red}}{\\text{NIR} + \\text{Red}}$$<\/div>\n<\/div>\n<h4 data-path-to-node=\"22\"><span class=\"ez-toc-section\" id=\"Expression_Syntax\"><\/span>Expression Syntax<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul class=\"md-has-block-component\" data-path-to-node=\"23\">\n<li>\n<div><b data-path-to-node=\"23,0,0\" data-index-in-node=\"0\">ArcGIS Pro (Raster Calculator \/ Spatial Analyst):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-93 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQswM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-93\">\n<div class=\"animated-opacity ng-tns-c1384409826-93\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-93 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-93\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-93 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-93\"><code class=\"code-container formatted ng-tns-c1384409826-93\" role=\"text\" data-test-id=\"code-content\">(Float(<span class=\"hljs-string\">\"Landsat8_B5.tif\"<\/span>) - Float(<span class=\"hljs-string\">\"Landsat8_B4.tif\"<\/span>)) \/ (Float(<span class=\"hljs-string\">\"Landsat8_B5.tif\"<\/span>) + Float(<span class=\"hljs-string\">\"Landsat8_B4.tif\"<\/span>))\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"23,1,0\" data-index-in-node=\"0\">QGIS (Raster Calculator):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-94 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQtAM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-94\">\n<div class=\"animated-opacity ng-tns-c1384409826-94\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-94 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-94\">SQL<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-94 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-94\"><code class=\"code-container formatted ng-tns-c1384409826-94\" role=\"text\" data-test-id=\"code-content\">(\"Landsat8_B5@1\" <span class=\"hljs-operator\">-<\/span> \"Landsat8_B4@1\") <span class=\"hljs-operator\">\/<\/span> (\"Landsat8_B5@1\" <span class=\"hljs-operator\">+<\/span> \"Landsat8_B4@1\")\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<blockquote data-path-to-node=\"24\">\n<div><b data-path-to-node=\"24,0\" data-index-in-node=\"0\">Syntax Note:<\/b> In ArcGIS Pro, integer rasters perform integer division by default. Wrapping band variables in the <code data-path-to-node=\"24,0\" data-index-in-node=\"112\">Float()<\/code> function ensures floating-point calculations with decimal values between <code data-path-to-node=\"24,0\" data-index-in-node=\"193\">-1.0<\/code> and <code data-path-to-node=\"24,0\" data-index-in-node=\"202\">+1.0<\/code>.<\/div>\n<\/blockquote>\n<h3 data-path-to-node=\"26\"><span class=\"ez-toc-section\" id=\"Formula_2_Conditional_Statements_for_Suitability_Masking\"><\/span>Formula 2: Conditional Statements for Suitability Masking<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>Conditional logic allows you to isolate pixels that meet specific criteria when building <b data-path-to-node=\"5,1,1,0,1,0\" data-index-in-node=\"90\">raster calculator expressions gis<\/b> models.<\/div>\n<div><\/div>\n<h4 data-path-to-node=\"28\"><span class=\"ez-toc-section\" id=\"Scenario\"><\/span>Scenario<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div>Select elevation pixels higher than 1,500 meters and assign them a value of <code data-path-to-node=\"29\" data-index-in-node=\"76\">1<\/code>. Reassign all lower elevations to <code data-path-to-node=\"29\" data-index-in-node=\"112\">0<\/code>.<\/div>\n<h4 data-path-to-node=\"30\"><span class=\"ez-toc-section\" id=\"Expression_Syntax-2\"><\/span>Expression Syntax<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul class=\"md-has-block-component\" data-path-to-node=\"31\">\n<li>\n<div><b data-path-to-node=\"31,0,0\" data-index-in-node=\"0\">ArcGIS Pro (<code data-path-to-node=\"31,0,0\" data-index-in-node=\"12\">Con<\/code> Tool \/ Map Algebra):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-95 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQtQM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-95\">\n<div class=\"animated-opacity ng-tns-c1384409826-95\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-95 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-95\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-95 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-95\"><code class=\"code-container formatted ng-tns-c1384409826-95\" role=\"text\" data-test-id=\"code-content\">Con(<span class=\"hljs-string\">\"DEM_Meters.tif\"<\/span> &gt; <span class=\"hljs-number\">1500<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">0<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"31,1,0\" data-index-in-node=\"0\">QGIS (<code data-path-to-node=\"31,1,0\" data-index-in-node=\"6\">IF<\/code> Statement):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-96 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQtgM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-96\">\n<div class=\"animated-opacity ng-tns-c1384409826-96\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-96 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-96\">SQL<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-96 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-96\"><code class=\"code-container formatted ng-tns-c1384409826-96\" role=\"text\" data-test-id=\"code-content\">if(\"DEM_Meters@1\" <span class=\"hljs-operator\">&gt;<\/span> <span class=\"hljs-number\">1500<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">0<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<h3 data-path-to-node=\"33\"><span class=\"ez-toc-section\" id=\"Formula_3_Unit_Conversions\"><\/span>Formula 3: Unit Conversions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>Lab assignments often require converting measurement units across spatial datasets using simple <b data-path-to-node=\"5,2,1,0,1,0\" data-index-in-node=\"97\">raster calculator expressions gis<\/b> syntax.<\/div>\n<h4 data-path-to-node=\"35\"><span class=\"ez-toc-section\" id=\"Elevation_Convert_Meters_to_Feet\"><\/span>Elevation: Convert Meters to Feet<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div data-path-to-node=\"36\">\n<div class=\"math-block\" data-math=\"\\text{Feet} = \\text{Meters} \\times 3.28084\">$$\\text{Feet} = \\text{Meters} \\times 3.28084$$<\/div>\n<\/div>\n<ul class=\"md-has-block-component\" data-path-to-node=\"37\">\n<li>\n<div><b data-path-to-node=\"37,0,0\" data-index-in-node=\"0\">ArcGIS Pro:<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-97 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQtwM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-97\">\n<div class=\"animated-opacity ng-tns-c1384409826-97\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-97 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-97\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-97 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-97\"><code class=\"code-container formatted ng-tns-c1384409826-97\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-string\">\"Elevation_m.tif\"<\/span> * <span class=\"hljs-number\">3.28084<\/span>\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"37,1,0\" data-index-in-node=\"0\">QGIS:<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-98 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQuAM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-98\">\n<div class=\"animated-opacity ng-tns-c1384409826-98\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-98 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-98\">SQL<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-98 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-98\"><code class=\"code-container formatted ng-tns-c1384409826-98\" role=\"text\" data-test-id=\"code-content\">\"Elevation_m@1\" <span class=\"hljs-operator\">*<\/span> <span class=\"hljs-number\">3.28084<\/span>\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<h4 data-path-to-node=\"38\"><span class=\"ez-toc-section\" id=\"Temperature_Convert_Celsius_to_Fahrenheit\"><\/span>Temperature: Convert Celsius to Fahrenheit<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div data-path-to-node=\"39\">\n<div class=\"math-block\" data-math=\"\\text{Fahrenheit} = (\\text{Celsius} \\times 1.8) + 32\">$$\\text{Fahrenheit} = (\\text{Celsius} \\times 1.8) + 32$$<\/div>\n<\/div>\n<ul class=\"md-has-block-component\" data-path-to-node=\"40\">\n<li>\n<div><b data-path-to-node=\"40,0,0\" data-index-in-node=\"0\">ArcGIS Pro:<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-99 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQuQM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-99\">\n<div class=\"animated-opacity ng-tns-c1384409826-99\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-99 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-99\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-99 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-99\"><code class=\"code-container formatted ng-tns-c1384409826-99\" role=\"text\" data-test-id=\"code-content\">(<span class=\"hljs-string\">\"Temp_Celsius.tif\"<\/span> * <span class=\"hljs-number\">1.8<\/span>) + <span class=\"hljs-number\">32<\/span>\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"40,1,0\" data-index-in-node=\"0\">QGIS:<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-100 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQugM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-100\">\n<div class=\"animated-opacity ng-tns-c1384409826-100\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-100 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-100\">SQL<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-100 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-100\"><code class=\"code-container formatted ng-tns-c1384409826-100\" role=\"text\" data-test-id=\"code-content\">(\"Temp_Celsius@1\" <span class=\"hljs-operator\">*<\/span> <span class=\"hljs-number\">1.8<\/span>) <span class=\"hljs-operator\">+<\/span> <span class=\"hljs-number\">32<\/span>\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<h3 data-path-to-node=\"42\"><span class=\"ez-toc-section\" id=\"Formula_4_Combining_Multi-Criteria_Layers_into_Binary_Suitability_Maps\"><\/span>Formula 4: Combining Multi-Criteria Layers into Binary Suitability Maps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>Syntax errors usually stem from missing parentheses or incorrect boolean operators when constructing <b data-path-to-node=\"5,3,1,0,1,0\" data-index-in-node=\"102\">raster calculator expressions gis<\/b> statements.<\/div>\n<h4 data-path-to-node=\"44\"><span class=\"ez-toc-section\" id=\"Scenario-2\"><\/span>Scenario<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div>Identify suitable construction sites that satisfy three conditions:<\/div>\n<ol start=\"1\" data-path-to-node=\"46\">\n<li>\n<div>Slope is less than 10 degrees.<\/div>\n<\/li>\n<li>\n<div>Distance to roads is less than 500 meters.<\/div>\n<\/li>\n<li>\n<div>Land cover category equals <code data-path-to-node=\"46,2,0\" data-index-in-node=\"27\">5<\/code> (cleared grassland).<\/div>\n<\/li>\n<\/ol>\n<h4 data-path-to-node=\"47\"><span class=\"ez-toc-section\" id=\"Expression_Syntax-3\"><\/span>Expression Syntax<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul class=\"md-has-block-component\" data-path-to-node=\"48\">\n<li>\n<div><b data-path-to-node=\"48,0,0\" data-index-in-node=\"0\">ArcGIS Pro (Python Bitwise Syntax):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-101 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQuwM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-101\">\n<div class=\"animated-opacity ng-tns-c1384409826-101\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-101 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-101\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-101 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-101\"><code class=\"code-container formatted ng-tns-c1384409826-101\" role=\"text\" data-test-id=\"code-content\">(<span class=\"hljs-string\">\"Slope.tif\"<\/span> &lt; <span class=\"hljs-number\">10<\/span>) &amp; (<span class=\"hljs-string\">\"Road_Distance.tif\"<\/span> &lt; <span class=\"hljs-number\">500<\/span>) &amp; (<span class=\"hljs-string\">\"LandCover.tif\"<\/span> == <span class=\"hljs-number\">5<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"48,1,0\" data-index-in-node=\"0\">QGIS (Relational Logical Syntax):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-102 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQvAM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-102\">\n<div class=\"animated-opacity ng-tns-c1384409826-102\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-102 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-102\">SQL<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-102 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-102\"><code class=\"code-container formatted ng-tns-c1384409826-102\" role=\"text\" data-test-id=\"code-content\">(\"Slope@1\" <span class=\"hljs-operator\">&lt;<\/span> <span class=\"hljs-number\">10<\/span>) <span class=\"hljs-keyword\">AND<\/span> (\"Road_Distance@1\" <span class=\"hljs-operator\">&lt;<\/span> <span class=\"hljs-number\">500<\/span>) <span class=\"hljs-keyword\">AND<\/span> (\"LandCover@1\" <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-number\">5<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<blockquote data-path-to-node=\"49\">\n<div><b data-path-to-node=\"49,0\" data-index-in-node=\"0\">Result:<\/b> Cells that satisfy all three criteria evaluate to <code data-path-to-node=\"49,0\" data-index-in-node=\"58\">1<\/code> (Suitable), while all other cells return <code data-path-to-node=\"49,0\" data-index-in-node=\"101\">0<\/code> (Unsuitable). For details on weighted overlay models, see our article on <code data-path-to-node=\"49,0\" data-index-in-node=\"176\">For details on weighted overlay models, see our article on [<a href=\"https:\/\/helpwithmygisassignment.com\/blog\/multi-criteria-evaluation-gis-site-selection-2\/\">Multi Criteria Evaluation GIS Guide<\/a>]<\/code><\/div>\n<\/blockquote>\n<h3 data-path-to-node=\"51\"><span class=\"ez-toc-section\" id=\"Formula_5_Replacing_NoData_Values_with_Zero\"><\/span>Formula 5: Replacing <code data-path-to-node=\"51\" data-index-in-node=\"21\">NoData<\/code> Values with Zero<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>When combining rasters using addition or multiplication, any pixel intersecting a <code data-path-to-node=\"52\" data-index-in-node=\"82\">NoData<\/code> cell evaluates to <code data-path-to-node=\"52\" data-index-in-node=\"107\">NoData<\/code>. Replacing null values with zero prevents dataset gaps during overlay modeling.<\/div>\n<h4 data-path-to-node=\"53\"><span class=\"ez-toc-section\" id=\"Expression_Syntax-4\"><\/span>Expression Syntax<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul class=\"md-has-block-component\" data-path-to-node=\"54\">\n<li>\n<div><b data-path-to-node=\"54,0,0\" data-index-in-node=\"0\">ArcGIS Pro (<code data-path-to-node=\"54,0,0\" data-index-in-node=\"12\">IsNull<\/code> + <code data-path-to-node=\"54,0,0\" data-index-in-node=\"21\">Con<\/code>):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-103 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQvQM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-103\">\n<div class=\"animated-opacity ng-tns-c1384409826-103\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-103 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-103\">Python<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-103 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-103\"><code class=\"code-container formatted ng-tns-c1384409826-103\" role=\"text\" data-test-id=\"code-content\">Con(IsNull(<span class=\"hljs-string\">\"Precipitation.tif\"<\/span>), <span class=\"hljs-number\">0<\/span>, <span class=\"hljs-string\">\"Precipitation.tif\"<\/span>)\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"54,1,0\" data-index-in-node=\"0\">QGIS (<code data-path-to-node=\"54,1,0\" data-index-in-node=\"6\">NO_DATA<\/code> Null Clause):<\/b><\/div>\n<div class=\"code-block ng-tns-c1384409826-104 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQvgM\">\n<div class=\"formatted-code-block-internal-container ng-tns-c1384409826-104\">\n<div class=\"animated-opacity ng-tns-c1384409826-104\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c1384409826-104 ng-star-inserted\">\n<p><span class=\"ng-tns-c1384409826-104\">SQL<\/span><\/p>\n<div class=\"buttons ng-tns-c1384409826-104 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c1384409826-104\"><code class=\"code-container formatted ng-tns-c1384409826-104\" role=\"text\" data-test-id=\"code-content\">if(\"Precipitation@1\" <span class=\"hljs-keyword\">IS<\/span> <span class=\"hljs-keyword\">NULL<\/span>, <span class=\"hljs-number\">0<\/span>, \"Precipitation@1\")\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<blockquote data-path-to-node=\"56\">\n<h3 data-path-to-node=\"56,0\"><span class=\"ez-toc-section\" id=\"Pro_Tip_Preventing_Spatial_Alignment_Grid_Mismatch_Errors\"><\/span>Pro Tip: Preventing Spatial Alignment &amp; Grid Mismatch Errors<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>Executing raster calculations on layers with mismatched cell sizes, extent boundaries, or coordinate systems can lead to misaligned grid outputs or distorted results.<\/div>\n<div><b data-path-to-node=\"56,2\" data-index-in-node=\"0\">Best Practices Before Executing Expressions:<\/b><\/div>\n<ol start=\"1\" data-path-to-node=\"56,3\">\n<li>\n<div><b data-path-to-node=\"56,3,0,0\" data-index-in-node=\"0\">Environments &amp; Extents:<\/b> In ArcGIS Pro, open <b data-path-to-node=\"56,3,0,0\" data-index-in-node=\"44\">Environments<\/b> in the Geoprocessing Pane and set <b data-path-to-node=\"56,3,0,0\" data-index-in-node=\"91\">Extent<\/b> and <b data-path-to-node=\"56,3,0,0\" data-index-in-node=\"102\">Snap Raster<\/b> to your primary study area layer.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"56,3,1,0\" data-index-in-node=\"0\">Reproject Layers:<\/b> Ensure all input rasters share the exact same Projected Coordinate System (PCS) before entering expressions.<\/div>\n<\/li>\n<li>\n<div><b data-path-to-node=\"56,3,2,0\" data-index-in-node=\"0\">Match Spatial Resolution:<\/b> Use the <b data-path-to-node=\"56,3,2,0\" data-index-in-node=\"34\">Resample<\/b> tool to standardize pixel resolutions (e.g., matching a 10m Sentinel band to a 30m DEM) prior to running complex map algebra.<\/div>\n<\/li>\n<\/ol>\n<div>For full expression documentation and built-in functions, consult the official <a class=\"ng-star-inserted\" href=\"https:\/\/www.google.com\/search?q=https:\/\/docs.qgis.org\/latest\/en\/docs\/user_manual\/working_with_raster\/raster_calculator.html\" target=\"_blank\" rel=\"noopener\" data-hveid=\"0\" data-ved=\"0CAAQ_4QMahgKEwjBxsLGsqyXAxUAAAAAHQAAAAAQvwM\">QGIS Raster Calculator Syntax Documentation<\/a>.<\/div>\n<\/blockquote>\n<h2 data-path-to-node=\"59\"><span class=\"ez-toc-section\" id=\"3_Software_Comparison_QGIS_vs_ArcGIS_Pro_Syntax_Rules\"><\/span>3. Software Comparison: QGIS vs. ArcGIS Pro Syntax Rules<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<table data-path-to-node=\"60\">\n<thead>\n<tr>\n<td><strong>Syntax Feature<\/strong><\/td>\n<td><strong>QGIS Raster Calculator<\/strong><\/td>\n<td><strong>ArcGIS Pro Raster Calculator<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><span data-path-to-node=\"60,1,0,0\"><b data-path-to-node=\"60,1,0,0\" data-index-in-node=\"0\">Layer Variables<\/b><\/span><\/td>\n<td><span data-path-to-node=\"60,1,1,0\">Enclosed in double quotes with band suffix: <code data-path-to-node=\"60,1,1,0\" data-index-in-node=\"44\">\"Layer@1\"<\/code><\/span><\/td>\n<td><span data-path-to-node=\"60,1,2,0\">Enclosed in quotes or referenced as layer objects: <code data-path-to-node=\"60,1,2,0\" data-index-in-node=\"51\">\"Layer.tif\"<\/code><\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"60,2,0,0\"><b data-path-to-node=\"60,2,0,0\" data-index-in-node=\"0\">Equality Operator<\/b><\/span><\/td>\n<td><span data-path-to-node=\"60,2,1,0\">Single equals sign: <code data-path-to-node=\"60,2,1,0\" data-index-in-node=\"20\">=<\/code><\/span><\/td>\n<td><span data-path-to-node=\"60,2,2,0\">Double equals sign: <code data-path-to-node=\"60,2,2,0\" data-index-in-node=\"20\">==<\/code><\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"60,3,0,0\"><b data-path-to-node=\"60,3,0,0\" data-index-in-node=\"0\">Conditional Function<\/b><\/span><\/td>\n<td><span data-path-to-node=\"60,3,1,0\"><code data-path-to-node=\"60,3,1,0\" data-index-in-node=\"0\">if(condition, true_value, false_value)<\/code><\/span><\/td>\n<td><span data-path-to-node=\"60,3,2,0\"><code data-path-to-node=\"60,3,2,0\" data-index-in-node=\"0\">Con(condition, true_value, false_value)<\/code><\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"60,4,0,0\"><b data-path-to-node=\"60,4,0,0\" data-index-in-node=\"0\">Logical AND<\/b><\/span><\/td>\n<td><span data-path-to-node=\"60,4,1,0\">Written word: <code data-path-to-node=\"60,4,1,0\" data-index-in-node=\"14\">AND<\/code><\/span><\/td>\n<td><span data-path-to-node=\"60,4,2,0\">Bitwise ampersand: <code data-path-to-node=\"60,4,2,0\" data-index-in-node=\"19\">&amp;<\/code><\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"60,5,0,0\"><b data-path-to-node=\"60,5,0,0\" data-index-in-node=\"0\">Logical OR<\/b><\/span><\/td>\n<td><span data-path-to-node=\"60,5,1,0\">Written word: <code data-path-to-node=\"60,5,1,0\" data-index-in-node=\"14\">OR<\/code><\/span><\/td>\n<td><span data-path-to-node=\"60,5,2,0\">Bitwise pipe: `<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-path-to-node=\"60,6,0,0\"><b data-path-to-node=\"60,6,0,0\" data-index-in-node=\"0\">Null Value Test<\/b><\/span><\/td>\n<td><span data-path-to-node=\"60,6,1,0\"><code data-path-to-node=\"60,6,1,0\" data-index-in-node=\"0\">layer IS NULL<\/code><\/span><\/td>\n<td><span data-path-to-node=\"60,6,2,0\"><code data-path-to-node=\"60,6,2,0\" data-index-in-node=\"0\">IsNull(layer)<\/code><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 data-path-to-node=\"62\"><span class=\"ez-toc-section\" id=\"4_Frequently_Asked_Questions_FAQ\"><\/span>4. Frequently Asked Questions (FAQ)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3 data-path-to-node=\"63\"><span class=\"ez-toc-section\" id=\"Why_am_I_getting_a_syntax_error_in_my_Map_Algebra_expression\"><\/span>Why am I getting a syntax error in my Map Algebra expression?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>Syntax errors usually stem from missing parentheses, using a single equals (<code data-path-to-node=\"64\" data-index-in-node=\"76\">=<\/code>) instead of a double equals (<code data-path-to-node=\"64\" data-index-in-node=\"107\">==<\/code>) in ArcGIS Pro, forgetting <code data-path-to-node=\"64\" data-index-in-node=\"137\">Float()<\/code> conversions during integer division, or missing double quotes around layer names.<\/div>\n<h3 data-path-to-node=\"65\"><span class=\"ez-toc-section\" id=\"How_do_I_write_a_conditional_IF_statement_in_QGIS_Raster_Calculator\"><\/span>How do I write a conditional IF statement in QGIS Raster Calculator?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>In QGIS, use the syntax structure <code data-path-to-node=\"66\" data-index-in-node=\"34\">if(condition, value_if_true, value_if_false)<\/code>. For example, <code data-path-to-node=\"66\" data-index-in-node=\"93\">if(\"DEM@1\" &gt; 500, 1, 0)<\/code> assigns <code data-path-to-node=\"66\" data-index-in-node=\"125\">1<\/code> to elevation cells over 500 meters and <code data-path-to-node=\"66\" data-index-in-node=\"166\">0<\/code> to all other cells.<\/div>\n<h3 data-path-to-node=\"67\"><span class=\"ez-toc-section\" id=\"Why_does_my_raster_output_result_in_all_0s_or_NoData\"><\/span>Why does my raster output result in all 0s or NoData?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>Outputs evaluate entirely to <code data-path-to-node=\"68\" data-index-in-node=\"29\">0<\/code> or <code data-path-to-node=\"68\" data-index-in-node=\"34\">NoData<\/code> when input layers do not spatially overlap, when coordinate systems are mismatched, or when boolean statements contain mutually exclusive conditions (e.g., <code data-path-to-node=\"68\" data-index-in-node=\"197\">value &gt; 10 AND value &lt; 5<\/code>).<\/div>\n<h2 data-path-to-node=\"70\"><span class=\"ez-toc-section\" id=\"5_Conclusion_Summary\"><\/span>5. Conclusion &amp; Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div>Mastering <b data-path-to-node=\"71\" data-index-in-node=\"10\">raster calculator expressions GIS<\/b> syntax is a crucial step toward executing advanced spatial modeling, remote sensing index calculations, and site suitability workflows. By following platform-specific syntax rules, handling <code data-path-to-node=\"71\" data-index-in-node=\"234\">NoData<\/code> values cleanly, and standardizing layer projections before processing, you can execute error-free Map Algebra operations in any lab assignment.<\/div>\n<div><b data-path-to-node=\"72\" data-index-in-node=\"0\">Key Takeaways:<\/b><\/div>\n<ul data-path-to-node=\"73\">\n<li>\n<div>Use <code data-path-to-node=\"73,0,0\" data-index-in-node=\"4\">Float()<\/code> in ArcGIS Pro to enforce decimal outputs during division.<\/div>\n<\/li>\n<li>\n<div>Match conditional functions to your software: <code data-path-to-node=\"73,1,0\" data-index-in-node=\"46\">Con()<\/code> in ArcGIS Pro vs. <code data-path-to-node=\"73,1,0\" data-index-in-node=\"70\">if()<\/code> in QGIS.<\/div>\n<\/li>\n<li>\n<div>Use double equals (<code data-path-to-node=\"73,2,0\" data-index-in-node=\"19\">==<\/code>) for equality tests in ArcGIS Pro and single equals (<code data-path-to-node=\"73,2,0\" data-index-in-node=\"75\">=<\/code>) in QGIS.<\/div>\n<\/li>\n<li>\n<div>Verify layer extents, pixel resolutions, and coordinate systems before running calculations.<\/div>\n<\/li>\n<\/ul>\n<div class=\"attachment-container unknown md-has-block-component\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Raster Calculator Expressions GIS: 5 Essential Formulas In spatial analysis and remote sensing lab assignments, grid-based cell manipulation is a foundational skill. Mastering raster calculator expressions GIS syntax allows you to run complex Map Algebra operations\u2014ranging from spectral band math and unit conversions to multi-criteria land suitability modeling. However, students frequently run into syntax errors, &#8230; <a title=\"Raster Calculator Expressions GIS: 5 Essential Formulas\" class=\"read-more\" href=\"https:\/\/helpwithmygisassignment.com\/blog\/raster-calculator-expressions-gis\/\" aria-label=\"Read more about Raster Calculator Expressions GIS: 5 Essential Formulas\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":776,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-765","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis-articles"],"_links":{"self":[{"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/posts\/765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/comments?post=765"}],"version-history":[{"count":5,"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/posts\/765\/revisions"}],"predecessor-version":[{"id":839,"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/posts\/765\/revisions\/839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/media\/776"}],"wp:attachment":[{"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/media?parent=765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/categories?post=765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helpwithmygisassignment.com\/blog\/wp-json\/wp\/v2\/tags?post=765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}