Giter Site home page Giter Site logo

ealameda31 / msa-mapper Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 357 KB

Geocodes locations and maps coordinates to Census MSAs

Home Page: https://ealameda31.github.io/msa-mapper/

License: MIT License

Dockerfile 3.24% Python 96.76%
addresses census-bureau geocoder python3 metropolitan-areas

msa-mapper's Introduction

msa-mapper

Python library which helps users geocode locations and map longitude/latitude coordinates to the Metropolitan Statistical Areas (MSAs) defined by the Census Bureau.


Table of Contents

Requirements

The Python version used for development is 3.10.4. Below are a series of steps to follow before installation:

  1. Create a Python virtual environment where the library can be installed

  2. Clone this repository within a computer directory (folder) of your choice (please ensure Git is installed and an SSH key is specified for your profile):

      git clone [email protected]:Ealameda31/msa-mapper.git
  3. Initialize Git LFS and pull the files the library needs for certain functions:

      git lfs install
      git lfs pull

Installation

After activating a Python virtual environment, users should navigate to the repository contents (i.e., cd msa-mapper/) and run the following command:

  python setup.py bdist_wheel 

This should create a dist folder within your directory containing the wheel file. Then, the library can be installed within your environment by running the command below:

  pip install dist/*

If users are experiencing issues with geospatial packages, download them from Christoph Gohlke's Binaries. Download and install the wheel file that corresponds to the environment's Python version (i.e., Python 3.10.4 = cp310). Usually problems resolve after manually installing GDAL and Fiona.

Documentation

Library structure, function documentation, and examples to follow can be found on this webpage.

Manual Dependencies

Shapefiles are manually uploaded and are located within the internal directory of the library. These file are stored in Git LFS to avoid unnecessary data downloads. They are updated on an infrequent basis (every 10 years) but finding a way to cross-reference the shapefiles programmatically would be ideal. s

Contact

Feel free to create an issue within this GitHub repository if a bug is found or for additional enhancements. The developers will typically respond within 48 hours.

For additional questions and/or use-cases, please contact Enrique M. Alameda-Basora ([email protected]).

msa-mapper's People

Contributors

ealameda31 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

msa-mapper's Issues

Integration test for library

Add a simple integration test that call main modules of Python library together and only runs if both unit tests pass.

CI/CD for dev branch

  • Build Python library through Docker container
  • Run testing modules
  • Ensure mkdocs site can be built

CI/CD for master branch

  • Build Python library through Docker container (PR is made/merged)
  • Run pytest modules (PR is made)
  • Build mkdocs site to ensure it can be built (PR is made)
  • Serve mkdocs site and render (when PR is merged)
  • Check version and release updates (when PR is merged)

README.md

Finish documentation for README.md

  • Add Git LFS information
  • Add how to obtain geospatial packages to successfully install requirements
  • Show how to install within virtual environment

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.