Incorporating ArcGIS API for Javascript to Design Web Applications for Viewing Features in the George Washington Birthplace National Monument

Problem Description

While ArcGIS Online’s web application allows users some control over the functionality of the app, more control over the design of the web application may be required.  ArcGIS API for Javacript grants users this greater functionality.  The purpose of the exercise was to explore ArcGIS API for Javascript’s uses with the George Washington Birthplace National Monument (GEWA) data.

Analyses Procedures

The initial step for this task was to publish the web services housing GEWA data.  Templates for Javascript widget programming were used through Notepad++ and were modified further.  Besides hosting the six hosted web service layers, I created a title for the web application, a topo-vector basemap, and a customer layout of light blue.  I also incorporated a basemap gallery.  I changed the names of the layers for clarity and colored a subset of the fences representing the barriers to the park.  Other widgets I created were a pop-up widget for the site’s building–its title is the features’ name, and the pop-up informs the users whether the building contributes to the sits–a legend widget, a layer widget, and a coordinates widget.  The last allows users to see the latitude and longitude, scale, and zoom of the map to provide context.

Results

The final result of this project was a hosted web application, accessed by the public through a URL.  The layers included were the boundary fences, buildings, roads, cultural vegetation, water bodies, and natural vegetation.  Users would be able to utilize the web application to see the physical characteristics of the park. The web application could be used as a guide to the area.

Web Application Created with ArcGIS API for Javascript

Reflection

The project allowed me to experiment with writing Javascript to create custom web mapping applications.  This project allowed me to publish my own web services and create my own widgets.  As more data is required for website publication, utilizing more control over the design outside the scope of ArcGIS Online web applications is necessary.  I foresee that in future professional work, I will be required to use it for displaying project outputs.

____________________________________________________________________________________________________________________________________

Locating North Carolina Historical Sites Threatened by Sea Level Rise

Problem Description

Since human settlements are often found near the ocean, many historical sites will become vulnerable to sea level rise leading to 2050 due to climate change. The project locates the number of coastal sites listed publicly on the National Register of Historic Places in North Carolina that will be under threat and the median income by census tract from middle-class and poverty level. To illustrate the issue, I incorporated publicly available data from TIGER/lines, American Fact Finder, and sea level rise data from the National Oceanic and Atmospheric Administration. Vulnerable sites were selected based on projected flooding of the raised sea levels and by median income. The analysis should assist in determining whether residents are able to fund preventative measure for sites based on income or if federal or state aid is required for those in poverty level areas.

Analyses Procedures

The project was accomplished by developing python scripts utilizing the arcpy package for ArcGIS.  The python script’s main functions were to download, unzip, and clean the necessary data, both tabular and geospatial.  CSV files were cleaned and missing values were filled in order to later perform joins.  The sea level data was added to the map and historical features from the National Register of Historical Places were clipped to the North Carolina shapefile.  Buffer areas for the selected historical point data were calculated by type to represent the estimated affected areas of the buildings and then all results were merged into one dataset.  Sites within a certain proximity of the sea level rise shapefile were determined.  Mean income from the census data was joined to the North Carolina census tract shapefile.  The joined census tract shapefile, the historic shapefile with sites near the sea level rises, and the NC counties shapefile were intersected, with subsequent duplicate entries deleted.   Sites based on user-determined poverty and middle-income ranges were selected and converted to point features.  The resulting points were saved to a map document, along with the sea level rise shapefle, and NC counties.  Map elements were included such as title, scale, credits, and north arrow.  A cleaned version of the excel data from the US Census Data was written to the workspace.

Results

The final python script allows users easy downloading and unzipping of data from the internet.  It also writes a new CSV file from mean income of North Carolina residents by census tract.  The script allows users to input the geoprocessing workspace, the buffers and measurement system for the types of historical architecture, the sea level rise shapefile, the distance from water in feet, the income type from the census data, the poverty end range, and middle income end range.  The point data with sites within the determined income range are displayed on the map, along with the requested sea level rise shapefile, and NC counties.

Map Output from Python Script

Reflection

This project aided me in understanding how python scripting can aid in creating analyses for users without the pointing-and-clicking in analyses conducted prior to this programming course.  This methodology can be applied to automating sites’ fragility by different sea level rise height and distance from the sea level.  Python is imperative for more advanced GIS users to automate and increase functionality than usually found in the included geoprocessing toolboxes.