Add CLI functionality

master
Chris Leaman 6 years ago
parent df2edd1abd
commit 1e8ed28536

@ -4,11 +4,12 @@
# PROJECT RULES #
#################################################################################
.PHONY: mat_to_csv
mat-to-csv: ##@data Converts raw .mat files to .csv for python
cd ./src/data/ && python mat_to_csv.py
sites-csv-to-shp: ./data/interim/sites.shp
cd ./src/data && python csv_to_shp.py
sites-csv-to-shp: ##@data Create the sites.shp from sites.csv
cd ./src/data && python csv_to_shp.py sites_csv_to_shp "..\..\data\interim\sites.csv" "..\..\data\interim\sites.shp"
#################################################################################
# Self Documenting Commands #

@ -2,14 +2,17 @@
Converts .csv files to .shape files
"""
from fiona.crs import from_epsg
import click
import fiona
from shapely.geometry import Point, mapping
from fiona import collection
import pandas as pd
import os
from fiona.crs import from_epsg
from shapely.geometry import Point, mapping
def sites_csv_to_shp(input_csv='.\data\interim\sites.csv', output_shp='.\data\interim\sites.shp'):
@click.command()
@click.argument('input_csv')
@click.argument('output_shp')
def sites_csv_to_shp(input_csv, output_shp):
"""
Converts our dataframe of sites to .shp to load in QGis
:param input_csv:
@ -34,5 +37,12 @@ def sites_csv_to_shp(input_csv='.\data\interim\sites.csv', output_shp='.\data\in
}
output.write({'geometry': mapping(point), 'properties': prop})
@click.group()
def cli():
pass
if __name__ == '__main__':
sites_csv_to_shp()
cli.add_command(sites_csv_to_shp)
cli()

Loading…
Cancel
Save