diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-mixmasta.spec | 498 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 500 insertions, 0 deletions
@@ -0,0 +1 @@ +/mixmasta-0.6.9.tar.gz diff --git a/python-mixmasta.spec b/python-mixmasta.spec new file mode 100644 index 0000000..eea1f49 --- /dev/null +++ b/python-mixmasta.spec @@ -0,0 +1,498 @@ +%global _empty_manifest_terminate_build 0 +Name: python-mixmasta +Version: 0.6.9 +Release: 1 +Summary: A library for common scientific model transforms +License: MIT license +URL: https://github.com/jataware/mixmasta +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/42/21/cf29f591d0a0fa76e0f4ad46febc7e7a63dcd84251054513b67d2531c5cc/mixmasta-0.6.9.tar.gz +BuildArch: noarch + +Requires: python3-bump2version +Requires: python3-Click +Requires: python3-coverage +Requires: python3-Cython +Requires: python3-flake8 +Requires: python3-fuzzywuzzy +Requires: python3-GDAL +Requires: python3-geofeather +Requires: python3-geopandas +Requires: python3-netCDF4 +Requires: python3-numpy +Requires: python3-openpyxl +Requires: python3-pip +Requires: python3-pydantic +Requires: python3-pyproj +Requires: python3-Levenshtein +Requires: python3-rasterio +Requires: python3-Rtree +Requires: python3-Shapely +Requires: python3-Sphinx +Requires: python3-tox +Requires: python3-tqdm +Requires: python3-twine +Requires: python3-watchdog +Requires: python3-wheel +Requires: python3-xarray +Requires: python3-xlrd + +%description +# mixmasta +[](https://github.com/jataware/mixmasta/actions/workflows/python.yaml) + +A library for common scientific model transforms. This library enables fast and intuitive transforms including: + +* Converting a `geotiff` to a `csv` +* Converting a `NetCDF` to a `csv` +* Geocoding `csv`, `xls`, and `xlsx` data that contains latitude and longitude + + +## Setup + +See `docs/docker.md` for instructions on running Mixmasta in Docker (easiest!). + +Ensure you have a working installation of [GDAL](https://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#FAQ-InstallationandBuilding) + +You also need to ensure that `numpy` is installed prior to `mixmasta` installation. This is an artifact of GDAL, which will build incorrectly if `numpy` is not already configured: + +``` +pip install numpy==1.20.1 +pip install mixmasta +``` + +> Note: if you had a prior installation of GDAL you may need to run `pip install mixmasta --no-cache-dir` in a clean environment. + +You must install the GADM2 and GADM3 data with: + +``` +mixmasta download +``` + +## Usage + + +Examples can be found in the `input` directory. + +Convert a geotiff to a dataframe with: + +``` +from mixmasta import mixmasta as mix +df = mix.raster2df('chirps-v2.0.2021.01.3.tif', feature_name='rainfall', band=1) +``` + +Note that you should specify the data band of the geotiff to process if it is multi-band. You may also specify the name of the feature column to produce. You may optionally specify a `date` if the geotiff has an associated date. For example: + +Convert a NetCDF to a dataframe with: + +``` +from mixmasta import mixmasta as mix +df = mix.netcdf2df('tos_O1_2001-2002.nc') +``` + +Geocode a dataframe: + +``` +from mixmasta import mixmasta as mix + +# First, load in the geotiff as a dataframe +df = mix.raster2df('chirps-v2.0.2021.01.3.tif', feature_name='rainfall', band=1) + +# next, we can geocode the dataframe to the admin-level desired (`admin2` or `admin3`) +# by specifying the names of the x and y columns +# in this case, we will geocode to admin2 where x,y are are 'longitude' and 'latitude', respectively. +df_g = mix.geocode("admin2", df, x='longitude', y='latitude') +``` + +## Running with CLI + +After cloning the repository and changing to the `mixmasta` directory, you can run mixmasta via the command line. + +Set-up: + +While you can point `mixmasta` to any file you would like to transform, the examples below assume your file is in the `inputs` folder; the transformed `.csv` file will be written to the `outputs` folder. + +- Transform geotiff to geocoded csv: +``` +mixmasta mix --xform=geotiff --input_file=chirps-v2.0.2021.01.3.tif --output_file=geotiffTEST.csv --geo=admin2 --feature_name=rainfall --band=1 --date='5/4/2010' --x=longitude --y=latitude +``` + +- Transform geotiff to csv: +``` +mixmasta mix --xform=geotiff --input_file=maxhop1.tif --output_file=maxhopOUT.csv --geo=admin2 --feature_name=probabilty --band=1 --x=longitude --y=latitude +``` + +- Transform netcdf to geocoded csv: + +``` +mixmasta mix --xform=netcdf --input_file=tos_O1_2001-2002.nc --output_file=netcdf.csv --geo=admin2 --x=lon --y=lat +``` + +- Transform netcdf to csv: +``` +mixmasta mix --xform=netcdf --input_file=tos_O1_2001-2002.nc --output_file=netcdf.csv +``` + +-geocode an existing csv file: + +``` +mixmasta mix --xform=geocode --input_file=no_geo.csv --geo=admin3 --output_file=geoed_no_geo.csv --x=longitude --y=latitude +``` + +## World Modelers Specific Normalization + +For the World Modelers program, it is necessary to convert arbitrary `csv`, `geotiff`, and `netcdf` files into a CauseMos compliant format. This can be accomplished by leveraging a `mapping` annotation file and the `causemosify` command. The output is a `gzipped` `parquet` file. This may be invoked with: + +``` +mixmasta causemosify --input_file=chirps-v2.0.2021.01.3.tif --mapper=mapper.json --geo=admin3 --output_file=causemosified_example +``` + +This will produce a file called `causemosified_example.parquet.gzip` which can be read using Pandas with: + +``` +pd.read_parquet('causemosified_example.parquet.gzip') +``` + +## Other Documents +- Docker Instructions: `docs/docker.md` +- Geo Entity Resolution Description: `docs/geo-tentity-resolution.md` +- Package Testing in SpaceTag Env: `docs/spacetag-test.md` + +## Credits + +This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [audreyr/cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage) project template. + + +# History + +## 0.1.0 (2021-02-24) + +- First release on PyPI. + + + + + +%package -n python3-mixmasta +Summary: A library for common scientific model transforms +Provides: python-mixmasta +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-mixmasta +# mixmasta +[](https://github.com/jataware/mixmasta/actions/workflows/python.yaml) + +A library for common scientific model transforms. This library enables fast and intuitive transforms including: + +* Converting a `geotiff` to a `csv` +* Converting a `NetCDF` to a `csv` +* Geocoding `csv`, `xls`, and `xlsx` data that contains latitude and longitude + + +## Setup + +See `docs/docker.md` for instructions on running Mixmasta in Docker (easiest!). + +Ensure you have a working installation of [GDAL](https://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#FAQ-InstallationandBuilding) + +You also need to ensure that `numpy` is installed prior to `mixmasta` installation. This is an artifact of GDAL, which will build incorrectly if `numpy` is not already configured: + +``` +pip install numpy==1.20.1 +pip install mixmasta +``` + +> Note: if you had a prior installation of GDAL you may need to run `pip install mixmasta --no-cache-dir` in a clean environment. + +You must install the GADM2 and GADM3 data with: + +``` +mixmasta download +``` + +## Usage + + +Examples can be found in the `input` directory. + +Convert a geotiff to a dataframe with: + +``` +from mixmasta import mixmasta as mix +df = mix.raster2df('chirps-v2.0.2021.01.3.tif', feature_name='rainfall', band=1) +``` + +Note that you should specify the data band of the geotiff to process if it is multi-band. You may also specify the name of the feature column to produce. You may optionally specify a `date` if the geotiff has an associated date. For example: + +Convert a NetCDF to a dataframe with: + +``` +from mixmasta import mixmasta as mix +df = mix.netcdf2df('tos_O1_2001-2002.nc') +``` + +Geocode a dataframe: + +``` +from mixmasta import mixmasta as mix + +# First, load in the geotiff as a dataframe +df = mix.raster2df('chirps-v2.0.2021.01.3.tif', feature_name='rainfall', band=1) + +# next, we can geocode the dataframe to the admin-level desired (`admin2` or `admin3`) +# by specifying the names of the x and y columns +# in this case, we will geocode to admin2 where x,y are are 'longitude' and 'latitude', respectively. +df_g = mix.geocode("admin2", df, x='longitude', y='latitude') +``` + +## Running with CLI + +After cloning the repository and changing to the `mixmasta` directory, you can run mixmasta via the command line. + +Set-up: + +While you can point `mixmasta` to any file you would like to transform, the examples below assume your file is in the `inputs` folder; the transformed `.csv` file will be written to the `outputs` folder. + +- Transform geotiff to geocoded csv: +``` +mixmasta mix --xform=geotiff --input_file=chirps-v2.0.2021.01.3.tif --output_file=geotiffTEST.csv --geo=admin2 --feature_name=rainfall --band=1 --date='5/4/2010' --x=longitude --y=latitude +``` + +- Transform geotiff to csv: +``` +mixmasta mix --xform=geotiff --input_file=maxhop1.tif --output_file=maxhopOUT.csv --geo=admin2 --feature_name=probabilty --band=1 --x=longitude --y=latitude +``` + +- Transform netcdf to geocoded csv: + +``` +mixmasta mix --xform=netcdf --input_file=tos_O1_2001-2002.nc --output_file=netcdf.csv --geo=admin2 --x=lon --y=lat +``` + +- Transform netcdf to csv: +``` +mixmasta mix --xform=netcdf --input_file=tos_O1_2001-2002.nc --output_file=netcdf.csv +``` + +-geocode an existing csv file: + +``` +mixmasta mix --xform=geocode --input_file=no_geo.csv --geo=admin3 --output_file=geoed_no_geo.csv --x=longitude --y=latitude +``` + +## World Modelers Specific Normalization + +For the World Modelers program, it is necessary to convert arbitrary `csv`, `geotiff`, and `netcdf` files into a CauseMos compliant format. This can be accomplished by leveraging a `mapping` annotation file and the `causemosify` command. The output is a `gzipped` `parquet` file. This may be invoked with: + +``` +mixmasta causemosify --input_file=chirps-v2.0.2021.01.3.tif --mapper=mapper.json --geo=admin3 --output_file=causemosified_example +``` + +This will produce a file called `causemosified_example.parquet.gzip` which can be read using Pandas with: + +``` +pd.read_parquet('causemosified_example.parquet.gzip') +``` + +## Other Documents +- Docker Instructions: `docs/docker.md` +- Geo Entity Resolution Description: `docs/geo-tentity-resolution.md` +- Package Testing in SpaceTag Env: `docs/spacetag-test.md` + +## Credits + +This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [audreyr/cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage) project template. + + +# History + +## 0.1.0 (2021-02-24) + +- First release on PyPI. + + + + + +%package help +Summary: Development documents and examples for mixmasta +Provides: python3-mixmasta-doc +%description help +# mixmasta +[](https://github.com/jataware/mixmasta/actions/workflows/python.yaml) + +A library for common scientific model transforms. This library enables fast and intuitive transforms including: + +* Converting a `geotiff` to a `csv` +* Converting a `NetCDF` to a `csv` +* Geocoding `csv`, `xls`, and `xlsx` data that contains latitude and longitude + + +## Setup + +See `docs/docker.md` for instructions on running Mixmasta in Docker (easiest!). + +Ensure you have a working installation of [GDAL](https://trac.osgeo.org/gdal/wiki/FAQInstallationAndBuilding#FAQ-InstallationandBuilding) + +You also need to ensure that `numpy` is installed prior to `mixmasta` installation. This is an artifact of GDAL, which will build incorrectly if `numpy` is not already configured: + +``` +pip install numpy==1.20.1 +pip install mixmasta +``` + +> Note: if you had a prior installation of GDAL you may need to run `pip install mixmasta --no-cache-dir` in a clean environment. + +You must install the GADM2 and GADM3 data with: + +``` +mixmasta download +``` + +## Usage + + +Examples can be found in the `input` directory. + +Convert a geotiff to a dataframe with: + +``` +from mixmasta import mixmasta as mix +df = mix.raster2df('chirps-v2.0.2021.01.3.tif', feature_name='rainfall', band=1) +``` + +Note that you should specify the data band of the geotiff to process if it is multi-band. You may also specify the name of the feature column to produce. You may optionally specify a `date` if the geotiff has an associated date. For example: + +Convert a NetCDF to a dataframe with: + +``` +from mixmasta import mixmasta as mix +df = mix.netcdf2df('tos_O1_2001-2002.nc') +``` + +Geocode a dataframe: + +``` +from mixmasta import mixmasta as mix + +# First, load in the geotiff as a dataframe +df = mix.raster2df('chirps-v2.0.2021.01.3.tif', feature_name='rainfall', band=1) + +# next, we can geocode the dataframe to the admin-level desired (`admin2` or `admin3`) +# by specifying the names of the x and y columns +# in this case, we will geocode to admin2 where x,y are are 'longitude' and 'latitude', respectively. +df_g = mix.geocode("admin2", df, x='longitude', y='latitude') +``` + +## Running with CLI + +After cloning the repository and changing to the `mixmasta` directory, you can run mixmasta via the command line. + +Set-up: + +While you can point `mixmasta` to any file you would like to transform, the examples below assume your file is in the `inputs` folder; the transformed `.csv` file will be written to the `outputs` folder. + +- Transform geotiff to geocoded csv: +``` +mixmasta mix --xform=geotiff --input_file=chirps-v2.0.2021.01.3.tif --output_file=geotiffTEST.csv --geo=admin2 --feature_name=rainfall --band=1 --date='5/4/2010' --x=longitude --y=latitude +``` + +- Transform geotiff to csv: +``` +mixmasta mix --xform=geotiff --input_file=maxhop1.tif --output_file=maxhopOUT.csv --geo=admin2 --feature_name=probabilty --band=1 --x=longitude --y=latitude +``` + +- Transform netcdf to geocoded csv: + +``` +mixmasta mix --xform=netcdf --input_file=tos_O1_2001-2002.nc --output_file=netcdf.csv --geo=admin2 --x=lon --y=lat +``` + +- Transform netcdf to csv: +``` +mixmasta mix --xform=netcdf --input_file=tos_O1_2001-2002.nc --output_file=netcdf.csv +``` + +-geocode an existing csv file: + +``` +mixmasta mix --xform=geocode --input_file=no_geo.csv --geo=admin3 --output_file=geoed_no_geo.csv --x=longitude --y=latitude +``` + +## World Modelers Specific Normalization + +For the World Modelers program, it is necessary to convert arbitrary `csv`, `geotiff`, and `netcdf` files into a CauseMos compliant format. This can be accomplished by leveraging a `mapping` annotation file and the `causemosify` command. The output is a `gzipped` `parquet` file. This may be invoked with: + +``` +mixmasta causemosify --input_file=chirps-v2.0.2021.01.3.tif --mapper=mapper.json --geo=admin3 --output_file=causemosified_example +``` + +This will produce a file called `causemosified_example.parquet.gzip` which can be read using Pandas with: + +``` +pd.read_parquet('causemosified_example.parquet.gzip') +``` + +## Other Documents +- Docker Instructions: `docs/docker.md` +- Geo Entity Resolution Description: `docs/geo-tentity-resolution.md` +- Package Testing in SpaceTag Env: `docs/spacetag-test.md` + +## Credits + +This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [audreyr/cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage) project template. + + +# History + +## 0.1.0 (2021-02-24) + +- First release on PyPI. + + + + + +%prep +%autosetup -n mixmasta-0.6.9 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-mixmasta -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.9-1 +- Package Spec generated @@ -0,0 +1 @@ +39c698c50ad9db243e3b0e7216ffdedf mixmasta-0.6.9.tar.gz |