Code Monkey home page Code Monkey logo

dasymetric-toolbox-opensource's Introduction

Intelligent Dasymetric Toolbox (Open Source)

Beta

The EnviroAtlas Intelligent Dasymetric Toolbox for Open Source GIS is currently in development. The most recent release for ESRI ArcMap 10.3 is available at https://www.epa.gov/enviroatlas/dasymetric-toolbox.

Overview

Dasymetric mapping is a geospatial technique that uses information such as land cover types to more accurately distribute data within selected boundaries like census blocks.

The Intelligent Dasymetric Mapping (IDM) Toolbox is available to download. This toolbox uses Python 3.6 and open source GIS libraries. An additional version is available as a toolbox for ESRI ArcGIS Pro

Dasymetric example image

The image on the left shows a map of the population by block group based solely on the census data. The image on the right shows the dasymetric population allocation for several block groups in Tampa, Fla.
  • EnviroAtlas researchers use the dasymetric data to calculate the distribution of ecosystem services, and other metrics including walking distances, viewsheds, resource use, and exposure potential.
  • For more information on the Dasymetric data created for EnviroAtlas, see our website or Dasymetric Allocation of Population Fact Sheet.

Installation

To install this application you will need Python 3.6 and several libraries. A conda environment file is provided.

# Clone this repository
$ git clone https://github.com/USEPA/Dasymetric-Toolbox-OpenSource

# Go into the repository
$ cd Dasymetric-Toolbox-OpenSource

# create environment
$ conda env create -f environment.yml

# Activate environment
$ source activate idm 
# for Windows use [conda activate idm]

# Run the app
$ python idm.py --help

Usage

idm.py [-h] [uninhabited_file] [minimum_sampling_area] [minimum_sample] 
[percent] [pop_nodata] [anc_nodata] population_features 
population_count_field population_key_field ancillary_raster output_directory 

Description

-h, --help
Description and explanation of arguments

uninhabited_file (optional) An optional feature class containing uninhabited areas

minimum_sampling_area The minimum number of raster cells in a source polygon for it to be considered representative of a class - default = 1

minimum_sample The minimum number of source units to ensure a representative sample for a land cover class - default = 3

percent The minimum percent of a source polygon's area that an ancillary class must cover in order for the source polygon to be considered representative of that class. Please enter as a decimal - default = 0.95

pop_nodata The population_features will be converted to raster and this will be the NoData value - default = 0

anc_nodata
The NoData value for the ancillary raster - default = 0

population_features
Path to polygon shapefile with unique identifiers and a count of the population for each polygon

population_count_field
The field in the population_features that stores the polygon's populations

population_key_field
The unique identifier field (must be positive whole numbers) for each polygon in population_features.

ancillary_raster
Path to categorical raster (e.g., GeoTiff) containing classes that are indicative of the spatial distribution of population (e.g., land cover).

output_directory
Path where all outputs from the script will be saved.

Preset Densities

The user can set a population density for any ancillary class using their own domain knowledge by modifying the 'config.json' file in the toolbox's root directory.

The preset densities for the following land cover classes from the 2011 National Land Cover Database (NLCD) are set to 0 people per pixel:

  • 11, Open Water
  • 12, Perennial Ice/Snow
  • 95, Emergent Herbaceous Wetlands

Examples

Example data are provided.

mkdir -p output
python idm.py ./data/2010_blocks_DE.shp POP10 polyID ./data/nlcd_2011_DE.tif ./output

Running the script with uninhabited polygons

mkdir -p output
python idm.py --uninhabited_file uninhab_DE.shp ./data/2010_blocks_DE.shp POP10 polyID ./data/nlcd_2011_DE.tif ./output

Contact

U.S. Environmental Protection Agency
Office of Research and Development
Durham, NC 27709
https://www.epa.gov/enviroatlas/forms/contact-us-about-enviroatlas

Credits

The Intelligent Dasymetric Toolbox for ArcGIS Pro was developed for EnviroAtlas. EnviroAtlas is a collaborative effort led by U.S. EPA that provides geospatial data, easy-to-use tools, and other resources related to ecosystem services, their stressors, and human health.

The dasymetric toolbox using open source GIS was developed in January 2020 by Anam Khan1 and Jeremy Baynes2. This release also introduced optional functionality to mask known uninhabited areas.

The toolbox was originally developed for ArcMap 10 by Torrin Hultgren3

The dasymetric toolbox follows the the methods by Mennis and Hultgren (2006)4.

1 Oak Ridge Associated Universities, National Student Services Contractor at the U.S. EPA
2 U.S. EPA
3 National Geospatial Support Team at U.S. EPA
4 Mennis, Jeremy & Hultgren, Torrin. (2006). Intelligent Dasymetric Mapping and Its Application to Areal Interpolation. Cartography and Geographic Information Science. 33. 179-194.

License

MIT License

Copyright (c) 2019 U.S. Federal Government (in countries where recognized)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

EPA Disclaimer

The United States Environmental Protection Agency (EPA) GitHub project code is provided on an "as is" basis and the user assumes responsibility for its use. EPA has relinquished control of the information and no longer has responsibility to protect the integrity , confidentiality, or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by EPA. The EPA seal and logo shall not be used in any manner to imply endorsement of any commercial product or activity by EPA or the United States Government.

dasymetric-toolbox-opensource's People

Contributors

jeremybaynes avatar rwashing523 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

firmanhadi hbienn

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.