Wednesday, July 20, 2022

Applications in GIS - M3 Visibility Analysis

In week 3 of this course we explored the basics of 3D visualization in ArcPro, how to share and organize that data, and how to conduct Viewshed and Line Of Sight analysis (LOS). 
These can be vital processes, as 3D display often helps communicate ideas and visualizations more clearly than 2D display, and viewshed and line of sight can both assist when determining what is visible or accessible to targets. In a real world application this analysis could be used to check radio wave transmission, camera or radar coverage, and manage visual access to resources like mountain views or emergency assistance kiosks. 

In 3D Visualization we learned different types and methods of assigning three dimensional symbology, including things like picture fill, procedural fill, and rule packages to create more detailed and unique symbols. 

Embarcadero Park and downtown San Diego rendered in a 3D Scene with customized symbology.

As part of the 3D Sharing class we authored a three dimensional scene that gave me the opportunity to apply some of the basics learned in 3D Visualization. This meant extruding 2D polygons based on their height for buildings, and then correcting where the buildings "sat" with the Layer 3D To Feature Class tool. This correction made several buildings in elevated terrain suddenly become visible, because they had previously been drawing "under" the elevated ground of the hill. Trees had been included as points, so I added z values with the Add Surface Information tool based on height, then used the Feature To 3D By Attribute tool to make trees a 3D feature based on their new z-axis. In order to get the trees to display properly, they had to be removed and then re-added as a preset layer, with appropriate symbology. 

3D map of part of Portland Oregon, with extruded trees and buildings. This was created for sharing and is also available online on My Content Page.

In order to Publish the buildings in the scene (the only multipatch layer) I used the Create Object 3D Scene Layer Content tool and made a shareable .slpk file of the buildings layer. I attempted to move the package file directly to my ArcOnline account from Google Drive, but the .slpk file type is not one of the four filetypes that can be uploaded directly from Google. Instead I downloaded the package and uploaded it from my device. I followed the instructions for properly labelling and describing my building layer as an Item on My Content page, then published it and opened it in SceneViewer where I used Capture Slides and Daylight tools to view the 3D buildings in different lighting and saved the views as slides. 

During the Viewshed Analysis we were given a scenario with light sources at two possible heights, and used the Viewshed Analysis tool to see how much of a hypothetical campground terrain would be illuminated by the lights. 

Viewshed Analysis rasters displaying how the four lights cover the campground at heights of 3 meters (left) and 10 meters (right). The lightest shade represents coverage by only one light, while the darkest shade represents coverage by four lights.

Since the hypothetical campground was requesting that at least half the space be covered by 3 or more lights, I used the Greater Than raster function with a Raster2 value of 2 to highlight just the areas illuminated by 3 or more lights in each of the two light height scenarios. Based on the coverage from these rasters, it was clear that the lights would need to be at a height of 10 meters (OFFSETA = 10) for at least half of the campground to be covered. 

Boolean rasters generated from the Greater Than tool that display the area covered by at least three lights when the lights are mounted at 3 meters (left) and when the lights are mounted at 10 meters (right). The 10 meter lights illuminate at least half of the campground.

The Line of Sight analysis centered around the use and parameters of the Line of Sight tool. We were provided with a three dimensional model of a section of Philadelphia, complete with buildings, observation points, and a parade route line. I used the Construct Sight Lines tool to create lines between the observation points and the parade route, then input those lines into the Line of Sight tool (with buildings as inputs for obstructions) to get a line feature class that was color coded based on whether the parade was visible or not along that line of sight. 

However, because humans don't have eagle eye vision, I needed to limit the lines to only those that were equal or less than 1,100 ft long. This is the commonly accepted value for clear day visibility. To do this, I calculated and added the length of the lines as an attribute to the feature class with the Add Z tool, and then used Select By Attribute and Delete tool with the expression TarISVis = 0 OR where Length3D is greater than 1100. This selected and removed lines that either could not see the parade route, or required more than 1,100 ft of visibility. 

Lines of sight from the elevated observation points that would be able to see the parade route (red) in downtown Philadelphia on a clear day. 

In the second part of the Line of Sight lesson, we explored a module that would also complete these steps, but for visibility of 600 ft, which may happen on a foggy or rainy day. 

A view of the module, which would run the LOS analysis for the dataset with changes to the expression that will remove lines with a length greater than 600 ft. 

The module with reduced visibility returned a map with fewer lines of sight than when the LOS analysis was conducted for a clear day.

Fewer viable lines of sight when the visibility is reduced to just 600ft. 

 




Sunday, July 17, 2022

Applications in GIS - M2 Forestry and LiDAR

 

LiDAR imagery of the Big Meadows Area in the Shenandoah National Park, VA. This three dimensional view is through using a Scene as the basemap in ArcPro.

In week 2 of Applications in GIS we looked at LiDAR imagery and used a series of tools within ArcPro Spatial Analyst and ArcPro 3D Analyst programs to digest the data into maps that displayed elevation, vegetation cover, vegetation height, and tree canopy density. This module was an exercise in manipulating three-dimensional data into different feature types, including points and rasters, and helped emphasize the myriad of information that can be gained from a good LiDAR .las file.

 One of the first tasks in our lab after downloading and extracting the las file into ArcPro was to create a basic digital elevation model (DEM) by filtering to display only ground points and generating a raster using the LAS Dataset to Raster tool. For this tool we used natural neighbor to fill voids and a sampling value of 6 with cell size as the sampling type. Our second task was to create a digital surface model (DSM) by filtering only the non-ground points and using the tool to create a raster again with the same settings. The result of this left us with two comparable rasters, one displaying ground topography and another displaying points that were non-ground topography (ostensibly, trees). 

With these two rasters we used the Minus tool to get the difference between 'tree surface elevation' (DSM) and the 'ground elevation' (DEM) which left us with tree height over the area. 

Full-console view of the digital surface model (DSM) derived from the LiDAR data; a raster displaying the elevation on non-ground points in the .las file.  

The next objective was to calculate vegetation biomass density, but first we needed to change the .las 3D shape into multipoint datasets again distinguishing the ground from vegetation. This was accomplished by running the LAS to Multipoint tool with average point spacing from the .las file, and Class Code as 2 for the ground and 1 for the vegetation. [These class codes are determined from the .las metadata]. We converted the multipoint files with Point to Raster, and set the cell size to 3 times the point spacing of the .las file. Basic data cleanup with the IS NULL and Con tools helped fill in empty values in the rasters. Then we used the Plus, Float, and Divide tools to calculate a raster that contained the tree canopy density based on the number of vegetation points and ground points in the cell. 

Final objectives from this lab; a calculated raster displaying canopy density and another displaying canopy height, here represented with a histogram. Both of these could be valuable tools for forestry management.

These products were both fairly quick calculations in ArcPro from the LiDAR data to determine tree height and canopy density through the surveyed area, and they clearly displayed areas with human structures, healthy forest, and disturbed or sparse areas. These maps would be highly useful to a land manager or forester since they quickly highlight the vegetation resources in a consistent manner throughout the survey area.  

Sunday, July 10, 2022

Applications in GIS - M1 Crime Analysis


For our first lab in Applications in GIS we explored different methods of hotspot analysis through the lens of crime analysis in Washington DC and Chicago. 
I enjoyed the amount of background available in this module; the examples and articles made it easier to tie in statistics-heavy concepts with the hotspot map imagery we see frequently for crime, school standards, and even Covid-19 impacts.
Grid-Overlay Hotspot Analysis

Kernel Density Hotspot Analysis
Local Moran's I Hotspot Analysis

In creating the grid overlay analysis, we were given a pre-made 1/2 mile cell grid clipped to the City of Chicago boundary. This gave a basis for the analysis, and by using a spatial join to add a point shapefile of all 2017 homicides, students could create an additional field called Join_Count where the number of joins would be the number of homicides within that cell in 2017. I exported a new shapefile from that dataset containing only the cells with homicides greater than zero, and then followed the recommendation for a top 20% analysis. This was done by finding the top 20% most frequent homicide cells in 2017, and then exporting those cells into another shapefile. The shapefile was still a collection of squares, so I used the Dissolve tool to merge them together as a single polygon representing the top 20% homicide locations in 2017. This type of analysis may be most helpful for establishing high priority areas within a city grid.

The Kernel Density analysis relied primarily on the Kernel Density tool, for which students could input the homicides 2017 point shapefile, and receive a raster showing the different "kernels" of dense and frequent homicides in 2017. I manipulated the symbology on this raster -which comes with a wide gradient range- to have only two breaks in values. One break included everything from zero to three times the mean, the other break included everything from three times the mean to the maximum. From there I used the Reclassify tool to get the values into bins of either "1" or "2" and the Raster to Polygon tool to get the resulting raster into a polygon shapefile with areas as either of those bins as values. I exported only the "2" values into a separate shapefile, and this represented the areas of Chicago that had homicides in 2017 three times higher than the average. 

The final type of hotspot analysis in this lab was a Local Moran's I analysis, where we were asked to use census data to determine the rate of homicides per household. The first step was to use spatial join and combine the 2017 homicide point shapefile with a shapefile containing census data and census tracts. Like the grid overlay, this created a Join_Count field where the number of joins was the number of homicides that had happened in that census tract in 2017. Using this Join_Count number and the number of total households form the census data, I created a new field that displayed the number of homicides per 1000 households. This was then the field that I input into the Cluster and Outlier Analysis (Anselin Local Moran's I) tool to return a shapefile, from which I exported the "High Highs" that showed census tracts with the most frequent and most clustered homicides in 2017. Like the grid overlay, these High-High tracts were still individual bordered shapes, so I combined them with the Dissolve tool to display the areas in 2017 Chicago that had frequent and clustered homicides. 

Overall I greatly enjoyed this assignment, and it was a great reminder what can be accomplished by manipulating the fields in a shapefile. 

GIS Portfolio

 As a final assignment at the end of my time with University of West Florida, I have built a GIS portfolio StoryMap. The final product is em...