Skip to content

jGaboardi/tigernet

Repository files navigation

GitHub release PyPI version Conda Version Conda Recipe

TigerNet

Network Topology via TIGER/Line Edges

unittests codecov made-with-python Code style: black pre-commit

What is TigerNet and how does it work?

TigerNet is an open-source Python library that addresses concerns in topology and builds accurate spatial network representations from TIGER/Line data, specifically TIGER/Line edges. This is achieved through a 7-step process that roughly is as follows:

  1. creation of initial TIGER/Line edges subset (features with a road-type MTFCC)
  2. creation of initial segments subset (retain only specified road-type MTFCCs)
  3. welding of limited-access segments (limited-access segments — freeways, etc. — that share a non-articulation point are isolated and welded together)
  4. welding of general segments (surface street segments that share a non-articulation point are isolated and welded together)
  5. splitting of general segments (surface street segments that cross at known intersections are split)
  6. cleansing of the segment data (steps 4 and 5 are repeated until the data is deemed "clean" enough for network instantiation)
  7. building of the network (creation of network topology with the option of further simplification to eliminate all remaining non-articulation points — a pseudo graph-theoretic object — while maintaining spatial accuracy)

Important

After some consideration, this repo will serve as a stub for the tigernet implementation developed for Gaboardi (2019), which can be cited in future publications through its DOI. Currently, some of the concepts are already being incorporated into spaghetti, with more of the functionality in the original tigernet potential (such as network measures pysal/spaghetti#126).

Examples

Installation

Pypi python versions Currently tigernet officially supports 3.8, 3.9, and 3.10.

(Recommended) Install the current release via conda-forge by running:

$ conda install tigernet

Install the current release from PyPI by running:

$ pip install tigernet

Install the most current development version of tigernet by running:

$ pip install git+https://github.com/jGaboardi/tigernet

Support

If you are having issues, please create an issue.

License

The project is licensed under the BSD 3-Clause license.

Citations

@misc{tigernet_gaboardi_2019,
  author  = {James David Gaboardi},
  title   = {jGaboardi/tigernet},
  month   = {aug},
  year    = {2019},
  doi     = {10.5281/zenodo.204572461},
  url     = {https://github.com/jGaboardi/tigernet}
}

Related projects

References

  • The original method for tigernet is described in Chapter 1 of Gaboardi (2019).
    • James D. Gaboardi (2019). Populated Polygons to Networks: A Population-Centric Approach to Spatial Network Allocation. ProQuest Dissertations Publishing.
  • The results of secondary analysis (spatial representions of population) were presented in Gaboardi (2020) and can also be found in Chapter 3 of Gaboardi (2019).
    • James D. Gaboardi (2020, November). Validation of Abstract Population Representations. Presented at the 2019 Atlanta Research Data Center Annual Research Conference at Vanderbilt University (ARDC), Nashville, Tennessee: Zenodo. DOI
  • The WeightedParcels_Leon_FL_2010 dataset is based on that used in Gaboardi (2019), which was produced in Strode et al. (2018).
    • Georgianna Strode, Victor Mesev, and Juliana Maantay (2018). Improving Dasymetric Population Estimates for Land Parcels: Data Pre-processing Steps. Southeastern Geographer 58 (3), 300–316. doi: 10.1353/sgo.2018.0030.