Add CLI functionality

master
Chris Leaman 6 years ago
parent df2edd1abd
commit 1e8ed28536

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

@ -2,14 +2,17 @@
Converts .csv files to .shape files Converts .csv files to .shape files
""" """
from fiona.crs import from_epsg import click
import fiona import fiona
from shapely.geometry import Point, mapping
from fiona import collection
import pandas as pd 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 Converts our dataframe of sites to .shp to load in QGis
:param input_csv: :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}) output.write({'geometry': mapping(point), 'properties': prop})
@click.group()
def cli():
pass
if __name__ == '__main__': if __name__ == '__main__':
sites_csv_to_shp() cli.add_command(sites_csv_to_shp)
cli()

Loading…
Cancel
Save