Skip to content

Commit

Permalink
Merge pull request #365 from DataverseLabs/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
SimonMolinsky committed Feb 9, 2023
2 parents f77c032 + 1596c32 commit 49835f2
Show file tree
Hide file tree
Showing 247 changed files with 8,662 additions and 1,852 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/python-package-install-linux-check.yml
@@ -0,0 +1,31 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Pyinterpolate pip dependencies installation test on windows

on:
push:
branches: [ "main", "dev", "dependencies" ]
pull_request:
branches: [ "main", "dev", "dependencies" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
pip install -r requirements.txt
31 changes: 31 additions & 0 deletions .github/workflows/python-package-install-macos-check.yml
@@ -0,0 +1,31 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Pyinterpolate pip dependencies installation test on windows

on:
push:
branches: [ "main", "dev", "dependencies" ]
pull_request:
branches: [ "main", "dev", "dependencies" ]

jobs:
build:

runs-on: macos-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
pip install -r requirements.txt
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -4,7 +4,7 @@

# Pyinterpolate

**version 0.3.6** - *Kyiv*
**version 0.3.7** - *Kyiv*

---

Expand Down
21 changes: 18 additions & 3 deletions changelog.rst 100755 → 100644
Expand Up @@ -6,14 +6,29 @@ Pyinterpolate is the Python library for **geostatistics** and **spatial statisti
Changes by date
===============

2023-02-XX
2023-02-09
----------

**version 0.3.7**

* (enhancement) added logging to Poisson Kriging ATP process,
* (enhancement) added logging to Simple Kriging process,
*
* (test) added functional test for `smooth_blocks` function,
* (debug) too broad exception in `download_air_quality_poland` is narrowed to `KeyError`,
* (enhancement) log points that cannot be assigned to any area in `PointSupport` class,
* (enhancement) `transform_ps_to_dict()` function takes custom parameters for lon, lat, value and index,
* (test) `check_limits()` function tests,
* (test) plotting function of the `VariogramCloud()` class is tested and slightly changed to return `True` if everything has worked fine,
* (tutorials) new tutorial about `ExperimentalVariogram` and `VariogramCloud` classes,
* (test) new tests for `calculate_average_semivariance()` function from `block` module,
* (enhancement) function `inblock_semivariance` has been optimized,
* (docs) updated `__init__.py` of `variogram.theoretical` module,
* (enhancement) scatter plot represented as a swarm plot in `VariogramCloud`,
* (enhancement) added directional kriging for ATA and ATP Poisson Kriging,
* (debug) warning for directional kriging functions,
* (enhancement) initialization of `KrigingObject` dataclass,
* (ci/cd) added new workflow tests for MacOS and Ubuntu,
* (enhancement) added logging to Simple Kriging process.


2023-01-16
----------
Expand Down
Binary file modified docs/build/doctrees/api/api.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/datatypes/core.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/distance/distance.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/idw/idw.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/io/io.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/kriging/block/block_kriging.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/kriging/kriging.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/kriging/point/point_kriging.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/pipelines/data/download.doctree
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/doctrees/api/pipelines/pipelines.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/variogram/block/block.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/doctrees/api/variogram/theoretical/theoretical.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/variogram/variogram.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/viz/viz.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/community/community.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/community/doc_parts/contributors.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/community/doc_parts/forum.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/community/doc_parts/use_cases.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/developer/dev.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/developer/doc_parts/bugs.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/developer/doc_parts/development.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/developer/doc_parts/package.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/developer/doc_parts/reqs.doctree
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/build/doctrees/index.doctree
Binary file not shown.
Expand Up @@ -1015,7 +1015,7 @@
},
{
"cell_type": "markdown",
"id": "3d90c342",
"id": "7930a4e9",
"metadata": {
"collapsed": false,
"pycharm": {
Expand Down
Binary file modified docs/build/doctrees/science/biblio.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/science/cite.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/setup/setup.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/usage/good_practices.doctree
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/doctrees/usage/quickstart.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/usage/tutorials.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/build/html/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: b6ff2721fc32f5ea6338e058f2e17684
config: 50d69c1a039395d70471780c0e12bf7f
tags: 645f666f9bcd5a90fca523b33c5a78b7
18 changes: 16 additions & 2 deletions docs/build/html/_modules/index.html
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &#8212; Pyinterpolate 0.3.5 documentation</title>
<title>Overview: module code &#8212; Pyinterpolate 0.3.7 documentation</title>



Expand Down Expand Up @@ -99,7 +99,7 @@



<p class="title logo__title">Pyinterpolate 0.3.5 documentation</p>
<p class="title logo__title">Pyinterpolate 0.3.7 documentation</p>

</a>

Expand Down Expand Up @@ -170,6 +170,13 @@
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../usage/learning_materials.html">
Learning Materials
</a>
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../science/biblio.html">
Bibliography
Expand Down Expand Up @@ -303,6 +310,13 @@
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../usage/learning_materials.html">
Learning Materials
</a>
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../science/biblio.html">
Bibliography
Expand Down
67 changes: 56 additions & 11 deletions docs/build/html/_modules/pyinterpolate/distance/distance.html
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>pyinterpolate.distance.distance &#8212; Pyinterpolate 0.3.5 documentation</title>
<title>pyinterpolate.distance.distance &#8212; Pyinterpolate 0.3.6 documentation</title>



Expand Down Expand Up @@ -99,7 +99,7 @@



<p class="title logo__title">Pyinterpolate 0.3.5 documentation</p>
<p class="title logo__title">Pyinterpolate 0.3.6 documentation</p>

</a>

Expand Down Expand Up @@ -170,6 +170,13 @@
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../../../usage/learning_materials.html">
Learning Materials
</a>
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../../../science/biblio.html">
Bibliography
Expand Down Expand Up @@ -303,6 +310,13 @@
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../../../usage/learning_materials.html">
Learning Materials
</a>
</li>


<li class="nav-item">
<a class="nav-link nav-internal" href="../../../science/biblio.html">
Bibliography
Expand Down Expand Up @@ -388,7 +402,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<span class="k">def</span> <span class="nf">_calc_b2b_dist_from_array</span><span class="p">(</span><span class="n">blocks</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand Down Expand Up @@ -420,7 +434,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<span class="k">def</span> <span class="nf">_calc_b2b_dist_from_dataframe</span><span class="p">(</span><span class="n">blocks</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">,</span> <span class="n">gpd</span><span class="o">.</span><span class="n">GeoDataFrame</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand Down Expand Up @@ -448,7 +462,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<span class="k">def</span> <span class="nf">_calc_b2b_dist_from_dict</span><span class="p">(</span><span class="n">blocks</span><span class="p">:</span> <span class="n">Dict</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand Down Expand Up @@ -480,7 +494,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<span class="k">def</span> <span class="nf">_calc_b2b_dist_from_ps</span><span class="p">(</span><span class="n">blocks</span><span class="p">:</span> <span class="n">PointSupport</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand All @@ -498,7 +512,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<div class="viewcode-block" id="calc_block_to_block_distance"><a class="viewcode-back" href="../../../api/distance/distance.html#pyinterpolate.calc_block_to_block_distance">[docs]</a><span class="k">def</span> <span class="nf">calc_block_to_block_distance</span><span class="p">(</span><span class="n">blocks</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="n">Dict</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">gpd</span><span class="o">.</span><span class="n">GeoDataFrame</span><span class="p">,</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">,</span> <span class="n">PointSupport</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Function calculates distances between blocks.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand Down Expand Up @@ -537,7 +551,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<span class="k">def</span> <span class="nf">_calculate_block_to_block_distance</span><span class="p">(</span><span class="n">block_1</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">block_2</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">float</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Function calculates distance between two blocks based on how they are divided (into the point support grid).</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Function calculates distance between two blocks based on how they are divided (into the point support grid).</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand Down Expand Up @@ -599,8 +613,39 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">rad2deg</span><span class="p">(</span><span class="n">ang</span> <span class="o">%</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">))</span>


<span class="k">def</span> <span class="nf">calc_angles_between_points</span><span class="p">(</span><span class="n">vec1</span><span class="p">,</span> <span class="n">vec2</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Function calculates distances between two groups of points as their cross product.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> vec1 : numpy array</span>
<span class="sd"> The first set of coordinates.</span>

<span class="sd"> vec2 : numpy array</span>
<span class="sd"> The second set of coordinates.</span>

<span class="sd"> origin : Iterable, optional</span>
<span class="sd"> The coordinates (x, y) of origin.</span>

<span class="sd"> Returns</span>
<span class="sd"> -------</span>
<span class="sd"> angles : numpy array</span>
<span class="sd"> An array with angles between all points from ``vec1`` to all points from ``vec2``, where rows are angles between</span>
<span class="sd"> points from ``vec1`` to points from ``vec2`` (columns).</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">angles</span> <span class="o">=</span> <span class="p">[]</span>

<span class="k">for</span> <span class="n">point</span> <span class="ow">in</span> <span class="n">vec1</span><span class="p">:</span>
<span class="n">row</span> <span class="o">=</span> <span class="n">calc_angles</span><span class="p">(</span><span class="n">vec2</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="n">point</span><span class="p">)</span>
<span class="n">angles</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">row</span><span class="o">.</span><span class="n">flatten</span><span class="p">())</span>

<span class="n">angles</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">angles</span><span class="p">)</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span>
<span class="k">return</span> <span class="n">angles</span>


<span class="k">def</span> <span class="nf">calc_angles</span><span class="p">(</span><span class="n">points_b</span><span class="p">:</span> <span class="n">Iterable</span><span class="p">,</span> <span class="n">point_a</span><span class="p">:</span> <span class="n">Iterable</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">origin</span><span class="p">:</span> <span class="n">Iterable</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Function calculates angles between points and origin or between vectors from origin to points and a vector from</span>
<span class="sd"> a specific point to origin.</span>

Expand Down Expand Up @@ -643,7 +688,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<div class="viewcode-block" id="calc_point_to_point_distance"><a class="viewcode-back" href="../../../api/distance/distance.html#pyinterpolate.calc_point_to_point_distance">[docs]</a><span class="k">def</span> <span class="nf">calc_point_to_point_distance</span><span class="p">(</span><span class="n">points_a</span><span class="p">,</span> <span class="n">points_b</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Function calculates distances between two group of points of a single group to itself.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Function calculates distances between two group of points of a single group to itself.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand All @@ -669,7 +714,7 @@ <h1>Source code for pyinterpolate.distance.distance</h1><div class="highlight"><


<span class="k">def</span> <span class="nf">calculate_angular_distance</span><span class="p">(</span><span class="n">angles</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">expected_direction</span><span class="p">:</span> <span class="nb">float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Function calculates minimal direction between one vector and other vectors.</span>

<span class="sd"> Parameters</span>
Expand Down

0 comments on commit 49835f2

Please sign in to comment.