Climate Data Gathering
Developed a script that automatically retrieves and archives climatic data from Environment Canada. This script was developed to retrieve all years of available data for specific stations that were used on a project basis but has since been modified to retrieve and archive all stations with available data and archived within an SQL database. This automation saved a majority of time during my NC thesis project as data was only available to be downloaded at the year-by-year for each site while this program can retrieve and archive all data for a specific station within seconds, removing the point-click repetition.
Developing Pre-programmed GIS models
Basic GIS tasks are usually completed over and over again on a daily basis. With the help and knowledge of python scripting I have developed multiple scripts that complete these tasks programmatically. This helps to save time and ensure that the results are always going to be correct with minimal user error. Some basic tasks I have scripted include:
example of site selection model can be seen here.
- Statistical models programmed used to generate hot spot analysis for both crime and disease tracking. This model included techniques such as nearest neighbour analysis, directional distribution, and regression models.
- Custom site selection models used in ArcGIS, with options used to change input variables and settings while maintaining data integrity and efficiency.
- QA/QC check of data. This script runs through each row and column in a data set, returning rows consisting of errors. Whether the data falls outside a predefined range or text are inserted in a number column, this script will return the values and rows that fall outside ones criteria. This script has been useful with the usage of large open data allowing for a quick and relatively easy check before analysis is completed.
- Updating XY coordinates. This script is used to update GIS datasets that consist of wrong or updated variables. Comparing two datasets with one another and making updates where needed programmatically allows for zero minimal error and saved user time.
- Generating Mapbooks. ArcGIS provides a great tool of the development of mapbooks, and with the help of some scripts a mapbook can be generated consisting of a title page, overview page, multiple maps. This is particularly useful when making a large set of updates over a long period of time. Instead of manually printing and updating each page for every update, this script can be run producing a new and updated mapbook instantaneously.
- Custom Model Builder tasks. Model builder is a great tool within arcGIS, but it is an even better tool once applied with some python scripts allowing for unique tailoring for each project on hand.
example of site selection model can be seen here.
Calculating Raster Properties
When trying to calculate the properties of a raster (min, max, mean, STD) in arcGIS, the Raster Property tool has to be run individually for each raster. This can be time consuming when dealing with multiple rasters, and it does not produce an user friendly table. The python script developed takes a list of temperature rasters that were created using kriging interpolation, and generates one text file compiling a list of min, max, mean and STD for each raster. The output text file was then inputted into excel for easy statistical analysis, quickly and time efficiently.
Click here for full script.
Click here for full script.
Manipulate Street Address
This script demonstrates the ability to manipulate text files (.txt) within python. This script takes an input text file of addresses, and exports them into a new text file with a more user friendly format. The input addresses have many attributes that can not be used for querying due to the fact that they are formatted into one column. The manipulated output text file splits the address into a more user friendly format, separating: Street names, Street numbers, Surface Type, City, Province and Postal Codes separated allowing for easy SQL Querying.
Using python to create Feature Classes from XY data
This script demonstrates how python can be used within the arcGIS environment. This script has an takes a folder consisting of multiple text files (.txt) that contains lists of properties and their location in Latitude and Longitude. These text files are inputted, and produces point features based on each line of XY data. This data is then merged to create one final point feature class, while counting the numbers that lie within a specific extent.
Click here for full script.
Click here for full script.