Source: https://chris35wills.github.io/papers/python_scripting_for_spatial_data_processing.pdf