1 00:00:00,520 --> 00:00:02,650 - [Instructor] In this last lecture for module seven, 2 00:00:02,650 --> 00:00:05,780 we'll take another look at visibility analysis. 3 00:00:05,780 --> 00:00:07,920 We've already explored the Viewshed tool 4 00:00:07,920 --> 00:00:10,810 or at least minimally explored the Viewshed tool. 5 00:00:10,810 --> 00:00:13,960 We'll take another look at that as well as other options 6 00:00:15,100 --> 00:00:19,333 for assessing visual quality of a landscape. 7 00:00:21,410 --> 00:00:25,121 Now Viewsheds as you recall identify cells in a raster 8 00:00:25,121 --> 00:00:28,950 that can be seen from one or more observation points. 9 00:00:28,950 --> 00:00:31,960 And we'll focus in this lecture on three primary options 10 00:00:31,960 --> 00:00:34,610 for performing this type of analysis, 11 00:00:34,610 --> 00:00:38,653 Viewshed, Observer Points, and Viewshed Two. 12 00:00:39,640 --> 00:00:42,410 Now we've worked with the Viewshed tool already 13 00:00:42,410 --> 00:00:44,510 dealing with individual appoints 14 00:00:44,510 --> 00:00:47,570 to assess their visibility on the landscape. 15 00:00:47,570 --> 00:00:50,090 In this lecture, we'll quickly review that, 16 00:00:50,090 --> 00:00:53,663 but also look at analyzing line features. 17 00:00:54,670 --> 00:00:57,360 Observer Points produce output rasters 18 00:00:57,360 --> 00:01:00,880 that store information about which observers 19 00:01:00,880 --> 00:01:02,623 can see a particular cell. 20 00:01:03,900 --> 00:01:07,700 And finally, the Viewshed Two tool can do both of these, 21 00:01:07,700 --> 00:01:10,690 the frequency or the observers, 22 00:01:10,690 --> 00:01:13,673 but uses a geodesic method for calculation. 23 00:01:14,740 --> 00:01:18,580 I won't go into all the math here, but this takes us back 24 00:01:18,580 --> 00:01:21,430 to conversations about coordinate systems. 25 00:01:21,430 --> 00:01:24,510 The surface raster and the observers are transformed 26 00:01:24,510 --> 00:01:26,520 from the input coordinate system 27 00:01:26,520 --> 00:01:29,653 to a three-dimensional geocentric coordinate system. 28 00:01:31,320 --> 00:01:35,940 This produces a more accurate result from the analysis 29 00:01:35,940 --> 00:01:39,863 but can be much more computationally intensive. 30 00:01:41,470 --> 00:01:43,840 The other thing to note about the Viewshed Two tool 31 00:01:43,840 --> 00:01:46,867 is that it uses the graphics processing unit, a GPU, 32 00:01:47,908 --> 00:01:51,723 instead of a central processing unit, a CPU. 33 00:01:52,950 --> 00:01:56,380 And you'll probably see a warning 34 00:01:56,380 --> 00:01:58,240 indicating that's the case 35 00:01:58,240 --> 00:02:00,110 when you work on your own examples 36 00:02:00,110 --> 00:02:01,873 for Viewshed Two analysis. 37 00:02:03,870 --> 00:02:07,500 Now recall that the Viewshed tool requires an input raster 38 00:02:07,500 --> 00:02:11,470 and either a point or polyline observer features 39 00:02:11,470 --> 00:02:14,600 in order to produce an output raster. 40 00:02:14,600 --> 00:02:17,450 In the previous examples that we use the Viewshed tool for, 41 00:02:17,450 --> 00:02:20,720 we analyze a single point at a time. 42 00:02:20,720 --> 00:02:22,380 In this current example, 43 00:02:22,380 --> 00:02:25,610 I've got 10 different picnic site locations 44 00:02:25,610 --> 00:02:27,610 scattered throughout the Mad River Valley 45 00:02:27,610 --> 00:02:29,513 that will serve as my input points. 46 00:02:30,400 --> 00:02:32,200 If I look at the output raster, 47 00:02:32,200 --> 00:02:35,890 I see that it ranges in value from zero to 10 48 00:02:35,890 --> 00:02:39,040 where zero indicates that none of the observation points, 49 00:02:39,040 --> 00:02:43,470 those picnic spots, can see a location on the landscape 50 00:02:43,470 --> 00:02:46,470 or 10 meaning all of those picnic spots 51 00:02:46,470 --> 00:02:49,700 can see a particular location on the landscape. 52 00:02:49,700 --> 00:02:53,290 We can also open the attribute table and get information 53 00:02:53,290 --> 00:02:55,960 about the number of cells that are visible from 54 00:02:55,960 --> 00:02:58,320 the number of different locations. 55 00:02:58,320 --> 00:03:00,380 What we can't do with this information 56 00:03:00,380 --> 00:03:04,430 is determine which picnic spot can see which location. 57 00:03:04,430 --> 00:03:07,860 We might be able to infer some of those low-end values, 58 00:03:07,860 --> 00:03:09,410 but it gets more complicated 59 00:03:10,670 --> 00:03:12,500 the more observation sites that can see 60 00:03:12,500 --> 00:03:13,853 a particular location. 61 00:03:14,920 --> 00:03:17,770 Instead if we want that kind of information, 62 00:03:17,770 --> 00:03:20,570 we can use the Observer Points tool. 63 00:03:20,570 --> 00:03:24,660 Note that the setup for the Observer Points tool 64 00:03:24,660 --> 00:03:27,930 looks very similar to the Viewshed tool. 65 00:03:27,930 --> 00:03:32,930 We need an input raster, some point observation features, 66 00:03:33,070 --> 00:03:35,083 and specify an output raster name. 67 00:03:36,000 --> 00:03:37,380 Note that the big difference here 68 00:03:37,380 --> 00:03:39,180 between Viewshed and Observer Points 69 00:03:39,180 --> 00:03:43,480 is that Observer Points can only deal with point inputs. 70 00:03:43,480 --> 00:03:46,360 So we've got our same 10 picnic spots 71 00:03:46,360 --> 00:03:47,983 and I run that analysis. 72 00:03:48,870 --> 00:03:52,140 The output looks mostly the same, 73 00:03:52,140 --> 00:03:54,993 but the way that the values are coded is quite different. 74 00:03:55,970 --> 00:03:59,140 First of all, we see that the values range 75 00:03:59,140 --> 00:04:01,633 from zero to 1,023. 76 00:04:02,630 --> 00:04:06,600 If I look at the output table, the attribute table itself, 77 00:04:06,600 --> 00:04:09,240 I see what I was expecting to see 78 00:04:09,240 --> 00:04:13,860 in terms of my object ID, my value and my count. 79 00:04:13,860 --> 00:04:17,780 But I also see these OBS followed by some number. 80 00:04:17,780 --> 00:04:21,783 In this case, ranging from OBS one to OBS ten, 81 00:04:22,820 --> 00:04:26,280 one column for each of our different observation sites, 82 00:04:26,280 --> 00:04:27,773 those picnic locations. 83 00:04:28,730 --> 00:04:30,070 The interpretation of this table 84 00:04:30,070 --> 00:04:32,220 might seem a bit tricky at first, 85 00:04:32,220 --> 00:04:36,080 but on closer inspection, it's relatively straightforward. 86 00:04:36,080 --> 00:04:38,823 Let's look at the row with object ID value two. 87 00:04:40,480 --> 00:04:43,947 It's got a value of one, 4,559 pixels 88 00:04:46,610 --> 00:04:49,820 in our output dataset take on that value 89 00:04:49,820 --> 00:04:54,510 and we note by reading across that OBS one 90 00:04:54,510 --> 00:04:57,750 has a value of one while the other observation sites 91 00:04:57,750 --> 00:04:59,760 have a value of zero. 92 00:04:59,760 --> 00:05:02,560 That means that any pixel in my output dataset 93 00:05:02,560 --> 00:05:04,630 coated with a value of one 94 00:05:04,630 --> 00:05:07,943 can only be seen from observation point one. 95 00:05:08,910 --> 00:05:13,210 If we move down to the row where the object ID equals four 96 00:05:13,210 --> 00:05:16,000 and the value is equal to three, 97 00:05:16,000 --> 00:05:21,000 we note that values of three indicate that those locations 98 00:05:21,470 --> 00:05:24,167 are visible from both observation point one 99 00:05:24,167 --> 00:05:26,530 and observation point two. 100 00:05:26,530 --> 00:05:30,220 So lots of information included in this table 101 00:05:30,220 --> 00:05:32,570 as long as you know how to unpack it. 102 00:05:32,570 --> 00:05:34,290 One other thing to note here 103 00:05:34,290 --> 00:05:38,100 given my 10 observation points, my 10 picnic areas, 104 00:05:38,100 --> 00:05:40,810 there are 300 different combinations 105 00:05:40,810 --> 00:05:43,710 of visibility that appear in the output table 106 00:05:43,710 --> 00:05:44,543 and we can see that 107 00:05:44,543 --> 00:05:46,590 on the bottom of the attribute table itself 108 00:05:46,590 --> 00:05:49,723 where I have zero of 300 records selected. 109 00:05:52,300 --> 00:05:55,420 Let's take another look at Observer Points. 110 00:05:55,420 --> 00:05:59,240 And in this case, I want to compute the above ground raster. 111 00:05:59,240 --> 00:06:02,220 This indicates the amount of fill 112 00:06:02,220 --> 00:06:05,160 or the elevation that would need to be raised 113 00:06:05,160 --> 00:06:09,510 at this location in order to be able to see spots 114 00:06:09,510 --> 00:06:11,060 that are not currently visible. 115 00:06:11,970 --> 00:06:15,190 So first things first we run the Observer Points 116 00:06:16,390 --> 00:06:18,380 and then we look at the output. 117 00:06:18,380 --> 00:06:21,500 Over on the right-hand side, depicted in red, 118 00:06:21,500 --> 00:06:25,410 we can see the Viewshed from that particular observer point. 119 00:06:25,410 --> 00:06:29,100 I have that draped over the top of the above ground raster. 120 00:06:29,100 --> 00:06:33,150 Those values are shown in blue, and we can see that 121 00:06:33,150 --> 00:06:37,570 in order to make locations that are not currently visible 122 00:06:37,570 --> 00:06:40,780 from this particular observer point visible, 123 00:06:40,780 --> 00:06:45,270 we'd need to raise the elevation of that observation point 124 00:06:45,270 --> 00:06:47,830 by almost 2,000 meters. 125 00:06:47,830 --> 00:06:50,140 We note that maximum value from the legend 126 00:06:50,140 --> 00:06:55,140 for my above ground raster. 127 00:06:55,310 --> 00:06:59,180 Let's take another look at an Observer Points example. 128 00:06:59,180 --> 00:07:01,570 In this case, I've just got three points 129 00:07:01,570 --> 00:07:03,380 that I want to evaluate, 130 00:07:03,380 --> 00:07:07,620 a trailhead and two shelters up off the long trail. 131 00:07:07,620 --> 00:07:10,420 I've run my Observer Points calculation 132 00:07:10,420 --> 00:07:13,913 and I return seven different possible combinations. 133 00:07:14,750 --> 00:07:19,513 So our values range from zero to seven. 134 00:07:22,970 --> 00:07:24,520 We can see those combinations 135 00:07:24,520 --> 00:07:27,130 in the table over on the right hand side. 136 00:07:27,130 --> 00:07:28,290 A value of zero means 137 00:07:28,290 --> 00:07:30,460 none of the observation points are visible 138 00:07:31,460 --> 00:07:35,380 whereas a value of seven means all three points are visible 139 00:07:36,270 --> 00:07:37,393 in that location. 140 00:07:38,760 --> 00:07:43,760 I can update the legend to indicate the visibility 141 00:07:45,270 --> 00:07:49,240 at each location ranging from can't see any 142 00:07:49,240 --> 00:07:50,483 to can see all three. 143 00:07:51,330 --> 00:07:55,120 Now suppose I want to assign an economic value 144 00:07:55,120 --> 00:07:57,580 to each of those pixels based on 145 00:07:57,580 --> 00:08:00,173 what can be seen from that location. 146 00:08:02,060 --> 00:08:06,070 I can use a tool known as reclass by table. 147 00:08:06,070 --> 00:08:07,920 This is similar to the reclassified tool 148 00:08:07,920 --> 00:08:10,060 that we've used before, but in this case, 149 00:08:10,060 --> 00:08:14,760 I'm specifying the values via a table that I've created 150 00:08:14,760 --> 00:08:17,000 and we can see that table on the right. 151 00:08:17,000 --> 00:08:20,670 A value of zero gets a reclass value of zero. 152 00:08:20,670 --> 00:08:21,860 A value of seven 153 00:08:21,860 --> 00:08:24,650 meaning all three of my locations are visible 154 00:08:24,650 --> 00:08:27,163 gets a value of $175. 155 00:08:28,390 --> 00:08:30,900 The tool set up over on the left indicates 156 00:08:30,900 --> 00:08:33,903 the required parameterization to make this work. 157 00:08:35,050 --> 00:08:39,100 I've input my raster data set that I want to reclassify, 158 00:08:39,100 --> 00:08:41,660 I've specified my remap table, 159 00:08:41,660 --> 00:08:46,103 and then identified the appropriate fields for those values. 160 00:08:47,440 --> 00:08:49,950 Once I run that operation, 161 00:08:49,950 --> 00:08:53,060 visually we don't see any difference, 162 00:08:53,060 --> 00:08:56,990 but the values themselves are now coded differently. 163 00:08:56,990 --> 00:09:01,020 And I could, for example, run zonal statistics 164 00:09:01,020 --> 00:09:04,910 on this new output to summarize the economic value 165 00:09:04,910 --> 00:09:07,333 of visibility at the town level. 166 00:09:08,210 --> 00:09:09,513 So I've done that here. 167 00:09:11,530 --> 00:09:15,200 I joined that output from my zonal statistics 168 00:09:15,200 --> 00:09:19,860 to the town boundaries data, and I can display the sum 169 00:09:19,860 --> 00:09:22,990 of the visual values for each town. 170 00:09:22,990 --> 00:09:24,783 Let's move on to Viewshed Two. 171 00:09:25,620 --> 00:09:30,290 Now, in this case, the dialog box for Viewshed Two 172 00:09:30,290 --> 00:09:33,430 is quite a bit more complicated than that 173 00:09:33,430 --> 00:09:35,563 of the Viewshed tool itself. 174 00:09:36,520 --> 00:09:39,620 Once again, we still need to specify an input raster, 175 00:09:39,620 --> 00:09:42,900 provide input point or polyline observer features 176 00:09:42,900 --> 00:09:45,200 and specify an output raster, 177 00:09:45,200 --> 00:09:47,480 but that's the bare minimum that you can do 178 00:09:47,480 --> 00:09:49,253 to make the Viewshed tool run. 179 00:09:50,100 --> 00:09:53,033 Note that when I've specified my input raster 180 00:09:53,033 --> 00:09:55,500 that I receive a warning message. 181 00:09:55,500 --> 00:09:56,760 Input elevation raster 182 00:09:56,760 --> 00:09:58,600 should have a vertical coordinate system 183 00:09:58,600 --> 00:10:01,440 that has heights reference to a spheroid. 184 00:10:01,440 --> 00:10:04,350 All this is telling me is that my digital elevation model 185 00:10:04,350 --> 00:10:08,223 does not have a vertical coordinate system specified. 186 00:10:09,430 --> 00:10:13,370 That's okay since my vertical units are the same 187 00:10:13,370 --> 00:10:16,510 as my X, Y units, in this case meters. 188 00:10:16,510 --> 00:10:19,450 However, if your vertical units were something different 189 00:10:19,450 --> 00:10:22,410 than your X, Y units, you would definitely want to make sure 190 00:10:22,410 --> 00:10:24,060 that you correct this issue 191 00:10:24,060 --> 00:10:26,623 in order to derive the most accurate results. 192 00:10:28,480 --> 00:10:29,910 I can look at more detail 193 00:10:29,910 --> 00:10:33,113 about that warning here in the ArcGIS Pro help. 194 00:10:35,530 --> 00:10:37,770 Now, the other thing that you can specify 195 00:10:38,710 --> 00:10:42,300 in Viewshed tool is the analysis type. 196 00:10:42,300 --> 00:10:45,220 And for this first example, we'll look at the frequency 197 00:10:45,220 --> 00:10:48,720 and this mimics what we saw from the very first example 198 00:10:48,720 --> 00:10:51,730 of this lecture where we ran a Viewshed analysis 199 00:10:51,730 --> 00:10:55,250 with multiple points and the output showed the number 200 00:10:55,250 --> 00:10:58,083 of Observer Points that could see a particular location. 201 00:10:59,165 --> 00:11:01,740 And if I look at my outputs here, it looks very similar 202 00:11:01,740 --> 00:11:04,373 to what we saw from that first Viewshed example. 203 00:11:06,360 --> 00:11:08,600 Now let's change it up a bit. 204 00:11:08,600 --> 00:11:12,000 All the same settings except for our analysis type this time 205 00:11:12,000 --> 00:11:13,553 will be set to observers. 206 00:11:14,460 --> 00:11:18,120 And because I've changed that analysis type to observers, 207 00:11:18,120 --> 00:11:21,000 I will also be producing an output table, 208 00:11:21,000 --> 00:11:23,440 the output observer region relationship table 209 00:11:23,440 --> 00:11:26,383 that we see right below the analysis type parameter. 210 00:11:28,700 --> 00:11:33,210 So it appears that my process has completed with warnings. 211 00:11:33,210 --> 00:11:35,170 And in this particular case, 212 00:11:35,170 --> 00:11:37,793 it's a warning about a GPU being used, 213 00:11:38,670 --> 00:11:41,790 remember a graphical processing unit being used 214 00:11:41,790 --> 00:11:43,723 to run this particular procedure. 215 00:11:45,640 --> 00:11:47,270 I've received this message every time 216 00:11:47,270 --> 00:11:50,663 I've run Viewshed Two even when it successfully concludes. 217 00:11:52,930 --> 00:11:53,763 Here's the difference 218 00:11:53,763 --> 00:11:56,480 between the two outputs that we just generated. 219 00:11:56,480 --> 00:11:59,300 Over on the left hand side, we've got that frequency, 220 00:11:59,300 --> 00:12:02,450 the number of observers that can see a particular location. 221 00:12:02,450 --> 00:12:05,330 And over on the right hand side, 222 00:12:05,330 --> 00:12:07,650 we've got the observers output, 223 00:12:07,650 --> 00:12:10,440 these different combinations of observation points 224 00:12:10,440 --> 00:12:13,010 that can see a specific location. 225 00:12:13,010 --> 00:12:16,853 Note here that those values range from one to 1,023. 226 00:12:19,020 --> 00:12:23,510 If I look at the attribute tables for the different outputs, 227 00:12:23,510 --> 00:12:26,150 I can notice that I have my 10 observers 228 00:12:26,150 --> 00:12:28,010 so those two tables on the top, 229 00:12:28,010 --> 00:12:31,170 I've sorted the observer column in ascending order 230 00:12:31,170 --> 00:12:33,993 on the left and descending order on the right. 231 00:12:35,240 --> 00:12:38,180 I do the same thing for the region column 232 00:12:38,180 --> 00:12:41,320 and notice that the lowest region value is one 233 00:12:41,320 --> 00:12:44,940 and that highest region value is 1,023. 234 00:12:44,940 --> 00:12:47,420 Again, this is information we could also see 235 00:12:47,420 --> 00:12:49,160 on that last slide. 236 00:12:49,160 --> 00:12:51,830 These tables are a bit more dense to unpack 237 00:12:51,830 --> 00:12:55,550 so it's important to note that multiple different observers 238 00:12:55,550 --> 00:12:57,190 can see the same region. 239 00:12:57,190 --> 00:13:01,040 And in fact, that region value is assigned 240 00:13:01,040 --> 00:13:03,880 based on the observers that can see it. 241 00:13:03,880 --> 00:13:05,130 So in that table 242 00:13:05,130 --> 00:13:07,750 in the lower right-hand corner of the slide, 243 00:13:07,750 --> 00:13:12,750 we see that all 10 observers can see that region 1,023. 244 00:13:15,260 --> 00:13:17,920 So note that there could be repeats of the observers 245 00:13:17,920 --> 00:13:21,580 and repeats of the region within the table. 246 00:13:21,580 --> 00:13:25,180 You might consider creating a pivot table 247 00:13:25,180 --> 00:13:27,800 depending on how you want to use this information 248 00:13:27,800 --> 00:13:29,393 for subsequent analysis. 249 00:13:31,920 --> 00:13:35,360 Let's take another look at a Viewshed example here, 250 00:13:35,360 --> 00:13:40,040 this time using the Viewshed Two tool once again. 251 00:13:40,040 --> 00:13:43,200 In this case, I've got my same setup, 252 00:13:43,200 --> 00:13:46,150 I'm using a single point at a trailhead location 253 00:13:46,150 --> 00:13:48,520 on the long trail using that same DEM 254 00:13:49,370 --> 00:13:51,233 and specifying my output raster. 255 00:13:53,000 --> 00:13:55,670 One thing that I'm gonna do differently this time though 256 00:13:55,670 --> 00:13:58,240 is applying observer offset. 257 00:13:58,240 --> 00:14:02,560 So imagine that you have a tower of some height 258 00:14:02,560 --> 00:14:05,000 at your particular observation location, 259 00:14:05,000 --> 00:14:07,470 so no longer are you standing just on the ground, 260 00:14:07,470 --> 00:14:09,290 you're climbing to the top of that tower 261 00:14:09,290 --> 00:14:11,540 or the top of that offset 262 00:14:11,540 --> 00:14:13,583 and evaluating the Viewshed from there. 263 00:14:15,170 --> 00:14:16,520 Over on the left, 264 00:14:16,520 --> 00:14:21,260 we see what's returned from that Viewshed Two tool 265 00:14:21,260 --> 00:14:23,830 when no offset is specified. 266 00:14:23,830 --> 00:14:25,600 Over on the right, 267 00:14:25,600 --> 00:14:28,940 we see the Viewshed that's generated 268 00:14:28,940 --> 00:14:32,060 when the offset is used shown in blue 269 00:14:32,060 --> 00:14:36,540 with the result from the no offset draped on top 270 00:14:36,540 --> 00:14:38,223 and red there for comparison. 271 00:14:40,170 --> 00:14:42,150 If we really wanted to get more detailed 272 00:14:42,150 --> 00:14:44,810 about the difference between the two outputs, 273 00:14:44,810 --> 00:14:48,000 we could use either the minus geo processing tool 274 00:14:48,000 --> 00:14:50,620 or set up a formula in raster calculator 275 00:14:50,620 --> 00:14:53,930 to compute difference between those two surfaces, 276 00:14:53,930 --> 00:14:57,270 the one with the offset and the one without the offset. 277 00:14:57,270 --> 00:14:59,150 So I show both examples here 278 00:14:59,150 --> 00:15:02,300 in this slide and they generate the same result 279 00:15:02,300 --> 00:15:04,790 that we see here on this slide. 280 00:15:04,790 --> 00:15:07,240 Now if I open the individual attribute tables 281 00:15:07,240 --> 00:15:11,360 for the no offset Viewshed, the offset Viewshed, 282 00:15:11,360 --> 00:15:13,770 and the difference between the two, 283 00:15:13,770 --> 00:15:18,250 I can subtract those counts for the value of one 284 00:15:18,250 --> 00:15:19,840 in my two inputs 285 00:15:19,840 --> 00:15:22,963 and derive that same result for the output. 286 00:15:26,470 --> 00:15:30,060 Now let's come back to the original Viewshed tool 287 00:15:30,060 --> 00:15:33,100 and look at what happens with linear features. 288 00:15:33,100 --> 00:15:36,010 In this case, I've got a small trail segment 289 00:15:36,010 --> 00:15:39,350 from the long trail identified in blue 290 00:15:39,350 --> 00:15:40,900 over in the image in the right. 291 00:15:44,090 --> 00:15:46,030 From my Viewshed output, 292 00:15:46,030 --> 00:15:51,030 I see that there are between zero and 633 observers 293 00:15:52,510 --> 00:15:56,380 for each of the locations within the study area. 294 00:15:56,380 --> 00:15:58,790 Now, how did I get at that number? 295 00:15:58,790 --> 00:16:03,790 Well, when you use a line input for your Viewshed tool, 296 00:16:03,940 --> 00:16:07,900 ArcGIS uses all of the nodes and vertices 297 00:16:07,900 --> 00:16:09,823 as those observation points. 298 00:16:10,710 --> 00:16:13,060 We don't have any control over where those nodes 299 00:16:13,060 --> 00:16:15,800 and vertices are located, unless we were the ones 300 00:16:15,800 --> 00:16:18,920 to digitize that line feature to begin with. 301 00:16:18,920 --> 00:16:21,473 Instead, let's consider another option here. 302 00:16:22,630 --> 00:16:25,870 I can use a tool known as generate points along line 303 00:16:25,870 --> 00:16:30,770 to generate points at a fixed interval along a line segment. 304 00:16:30,770 --> 00:16:31,603 So in this case, 305 00:16:31,603 --> 00:16:34,380 I'm inputting that same long trail segment that I used 306 00:16:34,380 --> 00:16:37,960 for my Viewshed a minute ago and I'm specifying 307 00:16:37,960 --> 00:16:42,290 that I want points to be located every 100 meters 308 00:16:42,290 --> 00:16:44,230 along that line feature. 309 00:16:44,230 --> 00:16:47,570 I've also indicated that I want to include the end points 310 00:16:47,570 --> 00:16:48,853 of my line feature. 311 00:16:51,200 --> 00:16:55,090 Here's the result of that tool shown here on the left. 312 00:16:55,090 --> 00:16:57,620 On the right hand side, on the top, 313 00:16:57,620 --> 00:17:00,410 I've opened the long trail segment attribute table 314 00:17:00,410 --> 00:17:05,000 to see that the shape length is about 2,250 meters. 315 00:17:05,000 --> 00:17:08,850 Remember that we specified a 100 meter interval 316 00:17:08,850 --> 00:17:12,500 as well as the inclusion of the start and end points 317 00:17:12,500 --> 00:17:17,230 in the creation of those points along that line. 318 00:17:17,230 --> 00:17:19,840 If I look at the attribute table for the output 319 00:17:19,840 --> 00:17:23,720 of this operation, I see that I've got 24 points 320 00:17:23,720 --> 00:17:24,773 that were generated. 321 00:17:26,900 --> 00:17:28,360 At 100 meter spacing 322 00:17:28,360 --> 00:17:30,440 and including the starting and ending points, 323 00:17:30,440 --> 00:17:33,380 that seems about right given the input shape length 324 00:17:33,380 --> 00:17:34,563 of that line feature. 325 00:17:36,370 --> 00:17:40,070 From here, I can compute the Viewshed using those points 326 00:17:40,070 --> 00:17:43,920 that I just generated as my observer locations. 327 00:17:43,920 --> 00:17:45,980 Notice the output, in this case, 328 00:17:45,980 --> 00:17:48,650 it ranges from zero to 20 observers 329 00:17:48,650 --> 00:17:50,980 but the same general pattern of visibility 330 00:17:51,830 --> 00:17:53,963 is revealed from this analysis. 331 00:17:55,860 --> 00:17:58,430 And here I compare the two with the line result 332 00:17:58,430 --> 00:18:01,763 on the left and the point result over on the right. 333 00:18:02,910 --> 00:18:05,320 Now that's a visual comparison. 334 00:18:05,320 --> 00:18:08,480 Suppose I want to go into a bit more detail 335 00:18:08,480 --> 00:18:10,970 and compare the two outputs. 336 00:18:10,970 --> 00:18:13,550 Well, I could look at the percent 337 00:18:13,550 --> 00:18:15,990 of each of the observation points 338 00:18:15,990 --> 00:18:18,120 that can see a particular location. 339 00:18:18,120 --> 00:18:21,020 That way, I'm comparing a standardized value 340 00:18:21,020 --> 00:18:22,960 between the two outputs. 341 00:18:22,960 --> 00:18:25,860 So in this case, I'll use the divide tool 342 00:18:27,070 --> 00:18:31,820 and because I know I had 24 points in that data set 343 00:18:31,820 --> 00:18:34,150 that I generated, the point dataset, 344 00:18:34,150 --> 00:18:39,150 I'll divide my Viewshed points, that output raster, by 24. 345 00:18:41,020 --> 00:18:44,400 Now we see the result of that over on the right hand side, 346 00:18:44,400 --> 00:18:47,890 a raster dataset with values of all zero. 347 00:18:47,890 --> 00:18:50,433 Well, what do you suppose is going on here? 348 00:18:51,510 --> 00:18:55,690 Note that my input raster is of type integer 349 00:18:55,690 --> 00:18:58,320 and the value that I specified as the divisor 350 00:18:59,550 --> 00:19:01,540 is also of type integer. 351 00:19:01,540 --> 00:19:04,590 This means that ArcGIS will by default 352 00:19:04,590 --> 00:19:08,593 write an output raster dataset that is of type integer. 353 00:19:09,740 --> 00:19:13,530 And since the only options then are zero or one, 354 00:19:13,530 --> 00:19:18,530 ArcGIS will round down to the nearest available number, 355 00:19:19,000 --> 00:19:21,550 in this case, all zeros. 356 00:19:21,550 --> 00:19:23,870 So how do we fix that? 357 00:19:23,870 --> 00:19:27,730 Well in this case it's actually a pretty simple fix, 358 00:19:27,730 --> 00:19:31,510 although not maybe the easiest thing to identify clearly. 359 00:19:31,510 --> 00:19:35,270 Instead of entering 24 as my constant value, 360 00:19:35,270 --> 00:19:40,270 I entered 24.0 and make that division. 361 00:19:40,940 --> 00:19:42,930 Now that was the easy one, because remember, 362 00:19:42,930 --> 00:19:45,070 I could see how many observation points 363 00:19:45,070 --> 00:19:49,420 were generated along that line, 24. 364 00:19:49,420 --> 00:19:52,930 What about for the other case where the nodes 365 00:19:52,930 --> 00:19:56,604 and vertices are used for observation points? 366 00:19:56,604 --> 00:19:59,790 In that case, if you want it to get at the number of 367 00:19:59,790 --> 00:20:01,720 vertices included in your data set, 368 00:20:01,720 --> 00:20:04,020 you need to go into the editing environment 369 00:20:04,020 --> 00:20:07,840 and I can see that there are 746 nodes and vertices 370 00:20:07,840 --> 00:20:11,620 associated with that segment of the long trail. 371 00:20:11,620 --> 00:20:14,843 So I set up the divide tool the same way here. 372 00:20:16,440 --> 00:20:20,593 Now I can compare the percent visibility of the two. 373 00:20:21,700 --> 00:20:23,330 A couple of things to note. 374 00:20:23,330 --> 00:20:27,090 Again, the visual pattern is mostly the same. 375 00:20:27,090 --> 00:20:30,560 And interestingly, the range of values 376 00:20:30,560 --> 00:20:34,240 is almost identical where the line percent visible 377 00:20:34,240 --> 00:20:37,670 ranges from zero to 85% 378 00:20:37,670 --> 00:20:41,743 and the point percent visible ranges from zero to 83%. 379 00:20:43,890 --> 00:20:47,620 I could use raster calculator or the minus tool 380 00:20:47,620 --> 00:20:49,360 to subtract one from the other. 381 00:20:49,360 --> 00:20:53,280 In this case, I'm subtracting the percent of the points 382 00:20:53,280 --> 00:20:56,120 that are visible from the percent of the line 383 00:20:56,120 --> 00:20:58,530 that is visible to produce this output 384 00:20:58,530 --> 00:21:00,860 over on the right hand side. 385 00:21:00,860 --> 00:21:02,720 Once again, it's pretty interesting 386 00:21:02,720 --> 00:21:07,590 to note the range of values there are almost identical 387 00:21:07,590 --> 00:21:10,950 from the negative end to the positive extent, 388 00:21:10,950 --> 00:21:15,190 but what we can see is that generally speaking, 389 00:21:15,190 --> 00:21:18,690 there are more places where the line percent visible 390 00:21:18,690 --> 00:21:21,380 is less than the point percent visible. 391 00:21:21,380 --> 00:21:24,870 We see that because the output graphic is dominated 392 00:21:24,870 --> 00:21:27,763 by those colors on the negative end of the spectrum. 393 00:21:30,500 --> 00:21:33,700 So we've dealt with point observations 394 00:21:33,700 --> 00:21:35,910 and line observations. 395 00:21:35,910 --> 00:21:37,700 What happens when you have a polygon 396 00:21:37,700 --> 00:21:41,500 and you want to compute the view from a polygon? 397 00:21:41,500 --> 00:21:43,870 Well, you have a couple of different options here, 398 00:21:43,870 --> 00:21:46,170 but this is one I really like to use, 399 00:21:46,170 --> 00:21:48,270 the create random points. 400 00:21:48,270 --> 00:21:52,650 So in this case, instead of trying to assess every point 401 00:21:52,650 --> 00:21:54,090 within a polygon, 402 00:21:54,090 --> 00:21:56,830 an impossible task I might note by the way, 403 00:21:56,830 --> 00:21:59,950 we'll just create some random subset of points 404 00:21:59,950 --> 00:22:02,370 scattered about the polygon itself 405 00:22:02,370 --> 00:22:04,920 then we use the create random points geo processing tool 406 00:22:04,920 --> 00:22:06,440 to do that. 407 00:22:06,440 --> 00:22:09,460 Now you specify a constraining feature class, 408 00:22:09,460 --> 00:22:11,460 in this case my trail buffer, 409 00:22:11,460 --> 00:22:14,720 a buffered region around that trail segment 410 00:22:14,720 --> 00:22:18,620 and you tell ArcGIS the number of points that you want, 411 00:22:18,620 --> 00:22:20,950 I've specified 100 in this case, 412 00:22:20,950 --> 00:22:22,580 and said that points are not allowed 413 00:22:22,580 --> 00:22:25,023 to be closer than 10 meters together. 414 00:22:26,300 --> 00:22:29,080 And here's the output from that tool operation. 415 00:22:29,080 --> 00:22:32,730 I've got my 100 points scattered around that polygon 416 00:22:32,730 --> 00:22:35,793 and now ready for use in the Viewshed tool. 417 00:22:37,970 --> 00:22:40,380 I produce my Viewshed result 418 00:22:40,380 --> 00:22:43,800 just like we've seen in past examples here. 419 00:22:43,800 --> 00:22:47,370 I note that the polygon containing those points 420 00:22:47,370 --> 00:22:49,470 is that dark red blob that you see 421 00:22:49,470 --> 00:22:51,640 in the middle of the image on the left 422 00:22:51,640 --> 00:22:55,653 and the Viewshed is represented in that blue color ramp. 423 00:22:58,950 --> 00:23:03,410 Now, suppose I wanted to do another calculation here 424 00:23:04,320 --> 00:23:07,610 that indicates the extent of my Viewshed. 425 00:23:07,610 --> 00:23:10,120 In this case, I don't care how many people can see 426 00:23:10,120 --> 00:23:13,970 or how many observation points a location is visible from, 427 00:23:13,970 --> 00:23:17,300 just whether or not the location is visible. 428 00:23:17,300 --> 00:23:21,240 I could use the reclassify approach where I say 429 00:23:21,240 --> 00:23:25,180 that any cell value of zero stays zero 430 00:23:25,180 --> 00:23:28,460 and any cell value from one to 100, 431 00:23:28,460 --> 00:23:30,380 remembering of course that our maximum value 432 00:23:30,380 --> 00:23:33,453 in this case was 98 should be converted to one. 433 00:23:34,400 --> 00:23:37,070 I could also do the same exact operation 434 00:23:37,070 --> 00:23:41,340 using raster calculator and a con function 435 00:23:41,340 --> 00:23:44,820 where I specify that my random points Viewshed 436 00:23:44,820 --> 00:23:48,500 if the value is greater than zero assign a value of one, 437 00:23:48,500 --> 00:23:50,823 otherwise assign a value of zero. 438 00:23:51,820 --> 00:23:54,563 Once again, either way will produce the same result. 439 00:23:56,290 --> 00:23:59,340 So now I've defined the visible extent 440 00:23:59,340 --> 00:24:01,313 from that polygon in question. 441 00:24:04,930 --> 00:24:08,170 I could couple that once again 442 00:24:08,170 --> 00:24:11,110 with the percent of observation points 443 00:24:11,110 --> 00:24:13,560 that can see a particular location. 444 00:24:13,560 --> 00:24:16,180 In this case, I'm dividing by 100 445 00:24:16,180 --> 00:24:18,550 or I could use raster calculator to perform 446 00:24:18,550 --> 00:24:20,253 that same computation. 447 00:24:22,010 --> 00:24:23,920 And here's the output that I see 448 00:24:23,920 --> 00:24:27,900 for my percent visible calculation 449 00:24:27,900 --> 00:24:31,743 ranging from zero all the way up to 98%. 450 00:24:33,180 --> 00:24:36,770 When I put the two next to each other, I get an indication 451 00:24:36,770 --> 00:24:39,960 of the visible extent from the polygon of interest 452 00:24:39,960 --> 00:24:43,940 as well as the percent visibility from that polygon, 453 00:24:43,940 --> 00:24:45,960 potentially suggesting locations 454 00:24:45,960 --> 00:24:49,380 that might receive further protections 455 00:24:49,380 --> 00:24:51,160 if we're worried about the visual quality 456 00:24:51,160 --> 00:24:54,663 from this important location within the center of town. 457 00:24:55,810 --> 00:24:58,270 I think that's enough examples for me. 458 00:24:58,270 --> 00:25:00,740 You're probably all ready to get your hands dirty. 459 00:25:00,740 --> 00:25:03,330 Feel free to turn your attention to the lab assignment 460 00:25:03,330 --> 00:25:06,020 and as always ask questions on YellowDig 461 00:25:06,020 --> 00:25:08,520 and let me know if I can be of further assistance.