ImageryTileLayer with COG

This sample shows how to add an instance of ImageryTileLayer that references a Cloud Optimized GeoTiff file to a Map in a MapView. A Cloud Optimized GeoTiff (COG) file is a regular GeoTiff file that is hosted on CORS enabled HTTPS server.

The COG file in this sample contains Landsat 8 satellite imagery taken over Bolivia on July 19, 2019. The COG takes advantage of all the capabilities of ImageryTileLayer, since it can be added by setting the url property of the ImageryTileLayer to point to the url of the COG file.

Use dark colors for code blocksCopy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179  const layer = new ImageryTileLayer({  url: "https://ss6imagery.arcgisonline.com/imagery_sample/landsat8/Bolivia_LC08_L1TP_001069_20190719_MS.tiff",  bandIds: [3, 2, 1],  }); 

The Landsat 8 satellite imagery consists of nine spectral bands. The sample allows users to change between common band combinations for the ImageryTileLayer by updating the bandIds property.

Use dark colors for code blocksCopy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179  // change the common bandIds combination for the landsat 8 imagery  const bandIdsSelect = document.getElementById("bandIdsSelect");  bandIdsSelect.addEventListener("change", () => {  const bands = bandIdsSelect.value.split(",").map(Number);  layer.bandIds = bands;  }); 

Users can click on the ImageryTileLayer to calculate the NDVI value and create a spectral profile chart for the clicked location as shown in the code snippet below.

Use dark colors for code blocksCopy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179  view.on("click", (event) => {  view.graphics.removeAll();  layer.identify(event.mapPoint).then((results) => {  if (results.value) {  view.graphics.add(  new Graphic({  geometry: event.mapPoint,  symbol: {  type: "simple-marker",  color: "cyan",  },  }),  );  // calculate the NDVI value for the clicked location on the image  const ndvi =  (results.value[4] - results.value[3]) / (results.value[4] + results.value[3]);  document.getElementById("ndviValueDiv").innerHTML =  `NDVI value: <b>${ndvi.toFixed(3)}</b>`;   // Update the spectral chart for the clicked location on the image  spectralChart.data.datasets[0].data = results.value;  spectralChart.update(0);  if (chartDiv.style.display === "none") {  chartDiv.style.display = "block";  }  }  });  }); 

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.