From ccbb9de04a78452baa54a134d72f81c5cc22e2b0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 21 Jul 2018 05:46:12 -0400 Subject: [PATCH] Update to latest version. --- .gitignore | 1 + ...ix-default-cmap-for-Matplotlib-2.0.0.patch | 30 ------- ...determination-of-expected-dash-style.patch | 87 ------------------- ...round-test-issues-on-non-x86-systems.patch | 73 ---------------- ...s-construction-from-scalar-on-pandas.patch | 32 ------- python-geopandas.spec | 18 ++-- sources | 2 +- 7 files changed, 9 insertions(+), 234 deletions(-) delete mode 100644 0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch delete mode 100644 0002-TST-Fix-determination-of-expected-dash-style.patch delete mode 100644 0003-Workaround-test-issues-on-non-x86-systems.patch delete mode 100644 0004-BUG-fix-GeoSeries-construction-from-scalar-on-pandas.patch diff --git a/.gitignore b/.gitignore index 3f782a8..f5f1a41 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /geopandas-0.3.0.tar.gz +/geopandas-0.4.0.tar.gz diff --git a/0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch b/0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch deleted file mode 100644 index 3f475bf..0000000 --- a/0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ff44cd10b0e3bcdb583c034f8450507ed4a461c8 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 19 Sep 2017 00:48:06 -0400 -Subject: [PATCH 1/4] Fix default cmap for Matplotlib 2.0.0. - -Signed-off-by: Elliott Sales de Andrade ---- - geopandas/plotting.py | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/geopandas/plotting.py b/geopandas/plotting.py -index 31b6284..a198e50 100644 ---- a/geopandas/plotting.py -+++ b/geopandas/plotting.py -@@ -402,8 +402,11 @@ def plot_dataframe(df, column=None, cmap=None, color=None, ax=None, - # Define `values` as a Series - if categorical: - if cmap is None: -- if LooseVersion(matplotlib.__version__) >= '2.0': -+ if LooseVersion(matplotlib.__version__) >= '2.0.1': - cmap = 'tab10' -+ elif LooseVersion(matplotlib.__version__) >= '2.0.0': -+ # Erroneous name. -+ cmap = 'Vega10' - else: - cmap = 'Set1' - categories = list(set(df[column].values)) --- -2.17.1 - diff --git a/0002-TST-Fix-determination-of-expected-dash-style.patch b/0002-TST-Fix-determination-of-expected-dash-style.patch deleted file mode 100644 index a2410bc..0000000 --- a/0002-TST-Fix-determination-of-expected-dash-style.patch +++ /dev/null @@ -1,87 +0,0 @@ -From f1ccfb43a0d0cc400474a60d984e653dfd292063 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 19 Sep 2017 01:02:43 -0400 -Subject: [PATCH 2/4] TST: Fix determination of expected dash style. - -In Matplotlib 2.0.0, there was a minimum dash length that was eventually -removed because it was problematic. The expected line style does not -apply this minimum. - -Signed-off-by: Elliott Sales de Andrade ---- - geopandas/tests/test_plotting.py | 27 +++++++++++++++------------ - 1 file changed, 15 insertions(+), 12 deletions(-) - -diff --git a/geopandas/tests/test_plotting.py b/geopandas/tests/test_plotting.py -index b3f98b7..03ab184 100644 ---- a/geopandas/tests/test_plotting.py -+++ b/geopandas/tests/test_plotting.py -@@ -184,24 +184,26 @@ class TestLineStringPlotting: - _check_colors(self.N, ax.collections[0].get_colors(), ['green']*self.N) - - def test_style_kwargs(self): -- - # linestyle (style patterns depend on linewidth, therefore pin to 1) - linestyle = 'dashed' -- ax = self.lines.plot(linestyle=linestyle, linewidth=1) -- exp_ls = _style_to_linestring_onoffseq(linestyle) -+ linewidth = 1 -+ -+ ax = self.lines.plot(linestyle=linestyle, linewidth=linewidth) -+ exp_ls = _style_to_linestring_onoffseq(linestyle, linewidth) - for ls in ax.collections[0].get_linestyles(): - assert ls[0] == exp_ls[0] -- assert tuple(ls[1]) == exp_ls[1] -+ assert ls[1] == exp_ls[1] - -- ax = self.df.plot(linestyle=linestyle, linewidth=1) -+ ax = self.df.plot(linestyle=linestyle, linewidth=linewidth) - for ls in ax.collections[0].get_linestyles(): - assert ls[0] == exp_ls[0] -- assert tuple(ls[1]) == exp_ls[1] -+ assert ls[1] == exp_ls[1] - -- ax = self.df.plot(column='values', linestyle=linestyle, linewidth=1) -+ ax = self.df.plot(column='values', linestyle=linestyle, -+ linewidth=linewidth) - for ls in ax.collections[0].get_linestyles(): - assert ls[0] == exp_ls[0] -- assert tuple(ls[1]) == exp_ls[1] -+ assert ls[1] == exp_ls[1] - - - class TestPolygonPlotting: -@@ -469,10 +471,10 @@ class TestPlotCollections: - # pass through of kwargs - coll = plot_linestring_collection(ax, self.lines, linestyle='--', - linewidth=1) -- exp_ls = _style_to_linestring_onoffseq('dashed') -+ exp_ls = _style_to_linestring_onoffseq('--', 1) - res_ls = coll.get_linestyle()[0] - assert res_ls[0] == exp_ls[0] -- assert tuple(res_ls[1]) == exp_ls[1] -+ assert res_ls[1] == exp_ls[1] - ax.cla() - - def test_linestrings_values(self): -@@ -619,14 +621,15 @@ def _check_colors(N, actual_colors, expected_colors, alpha=None): - '{} != {}'.format(actual, conv.to_rgba(expected, alpha=alpha)) - - --def _style_to_linestring_onoffseq(linestyle): -+def _style_to_linestring_onoffseq(linestyle, linewidth): - """ Converts a linestyle string representation, namely one of: - ['dashed', 'dotted', 'dashdot', 'solid'], - documented in `Collections.set_linestyle`, - to the form `onoffseq`. - """ - if LooseVersion(matplotlib.__version__) >= '2.0': -- return matplotlib.lines._get_dash_pattern(linestyle) -+ offset, dashes = matplotlib.lines._get_dash_pattern(linestyle) -+ return matplotlib.lines._scale_dashes(offset, dashes, linewidth) - else: - from matplotlib.backend_bases import GraphicsContextBase - return GraphicsContextBase.dashd[linestyle] --- -2.17.1 - diff --git a/0003-Workaround-test-issues-on-non-x86-systems.patch b/0003-Workaround-test-issues-on-non-x86-systems.patch deleted file mode 100644 index f929373..0000000 --- a/0003-Workaround-test-issues-on-non-x86-systems.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 0e9bc3047ad66778835ee5ad2d7d767ac1caec24 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 28 Nov 2017 02:24:32 -0500 -Subject: [PATCH 3/4] Workaround test issues on non-x86 systems. - -Signed-off-by: Elliott Sales de Andrade ---- - geopandas/tests/test_overlay.py | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git a/geopandas/tests/test_overlay.py b/geopandas/tests/test_overlay.py -index d928224..fc7ae2e 100644 ---- a/geopandas/tests/test_overlay.py -+++ b/geopandas/tests/test_overlay.py -@@ -34,41 +34,47 @@ class TestDataFrame: - # why is the sindex not generated automatically? - self.polydf2._generate_sindex() - -- self.union_shape = (180, 7) -+ # Some errors on non-x86 cause different results here. -+ # https://github.com/geopandas/geopandas/issues/552 -+ self.union_shape_0 = (180, 182) -+ self.union_shape_1 = (7, ) - - def test_union(self): - df = overlay(self.polydf, self.polydf2, how="union") - assert type(df) is GeoDataFrame -- assert df.shape == self.union_shape -+ assert df.shape[0] in self.union_shape_0 -+ assert df.shape[1] in self.union_shape_1 - assert 'value1' in df.columns and 'Shape_Area' in df.columns - - def test_union_no_index(self): - # explicitly ignore indicies - dfB = overlay(self.polydf, self.polydf2, how="union", use_sindex=False) -- assert dfB.shape == self.union_shape -+ assert dfB.shape[0] in self.union_shape_0 -+ assert dfB.shape[1] in self.union_shape_1 - - # remove indicies from df - self.polydf._sindex = None - self.polydf2._sindex = None - dfC = overlay(self.polydf, self.polydf2, how="union") -- assert dfC.shape == self.union_shape -+ assert dfC.shape[0] in self.union_shape_0 -+ assert dfC.shape[1] in self.union_shape_1 - - def test_intersection(self): - df = overlay(self.polydf, self.polydf2, how="intersection") - assert df['BoroName'][0] is not None -- assert df.shape == (68, 7) -+ assert df.shape == (68, 7) or df.shape == (69, 7) - - def test_identity(self): - df = overlay(self.polydf, self.polydf2, how="identity") -- assert df.shape == (154, 7) -+ assert df.shape == (154, 7) or df.shape == (156, 7) - - def test_symmetric_difference(self): - df = overlay(self.polydf, self.polydf2, how="symmetric_difference") -- assert df.shape == (122, 7) -+ assert df.shape == (122, 7) or df.shape == (123, 7) - - def test_difference(self): - df = overlay(self.polydf, self.polydf2, how="difference") -- assert df.shape == (86, 7) -+ assert df.shape == (86, 7) or df.shape == (87, 7) - - def test_bad_how(self): - with pytest.raises(ValueError): --- -2.17.1 - diff --git a/0004-BUG-fix-GeoSeries-construction-from-scalar-on-pandas.patch b/0004-BUG-fix-GeoSeries-construction-from-scalar-on-pandas.patch deleted file mode 100644 index f37b34d..0000000 --- a/0004-BUG-fix-GeoSeries-construction-from-scalar-on-pandas.patch +++ /dev/null @@ -1,32 +0,0 @@ -From dd1b97cd2edb24b6940b04dafe1ce48ab54bfc69 Mon Sep 17 00:00:00 2001 -From: Joris Van den Bossche -Date: Sat, 17 Mar 2018 20:11:57 +0100 -Subject: [PATCH 4/4] BUG: fix GeoSeries construction from scalar on pandas - master (#692) - -Signed-off-by: Elliott Sales de Andrade ---- - geopandas/geoseries.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/geopandas/geoseries.py b/geopandas/geoseries.py -index 2b70752..99df5f2 100644 ---- a/geopandas/geoseries.py -+++ b/geopandas/geoseries.py -@@ -32,9 +32,11 @@ class GeoSeries(GeoPandasBase, Series): - return arr.view(GeoSeries) - - def __init__(self, *args, **kwargs): -- # fix problem for scalar geometries passed -+ # fix problem for scalar geometries passed, ensure the list of -+ # scalars is of correct length if index is specified - if len(args) == 1 and isinstance(args[0], BaseGeometry): -- args = ([args[0]],) -+ n = len(kwargs.get('index', [1])) -+ args = ([args[0]] * n,) - - crs = kwargs.pop('crs', None) - --- -2.17.1 - diff --git a/python-geopandas.spec b/python-geopandas.spec index 616254c..1910cd8 100644 --- a/python-geopandas.spec +++ b/python-geopandas.spec @@ -1,8 +1,8 @@ %global srcname geopandas Name: python-%{srcname} -Version: 0.3.0 -Release: 7%{?dist} +Version: 0.4.0 +Release: 1%{?dist} Summary: Geographic Pandas extensions %global _description \ GeoPandas is a project to add support for geographic data to Pandas objects. \ @@ -16,13 +16,6 @@ otherwise require a spatial database such as PostGIS. License: BSD URL: https://pypi.python.org/pypi/%{srcname} Source0: https://github.com/%{srcname}/%{srcname}/archive/v%{version}/%{srcname}-%{version}.tar.gz -# https://github.com/geopandas/geopandas/pull/551 for both -Patch0001: 0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch -Patch0002: 0002-TST-Fix-determination-of-expected-dash-style.patch -# https://github.com/geopandas/geopandas/issues/552 -Patch0003: 0003-Workaround-test-issues-on-non-x86-systems.patch -# https://github.com/geopandas/geopandas/pull/692 -Patch0004: 0004-BUG-fix-GeoSeries-construction-from-scalar-on-pandas.patch BuildArch: noarch @@ -110,9 +103,9 @@ Requires: python3-shapely >= 1.2.18 %check PYTHONPATH="%{buildroot}%{python3_sitelib}" \ - py.test-%{python3_version} -ra geopandas + py.test-%{python3_version} -ra geopandas -m 'not web' PYTHONPATH="%{buildroot}%{python2_sitelib}" \ - py.test-%{python2_version} -ra geopandas + py.test-%{python2_version} -ra geopandas -m 'not web' %files -n python2-%{srcname} @@ -130,6 +123,9 @@ PYTHONPATH="%{buildroot}%{python2_sitelib}" \ %changelog +* Wed Jul 18 2018 Elliott Sales de Andrade - 0.4.0-1 +- Update to latest version + * Sat Jul 14 2018 Fedora Release Engineering - 0.3.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 7e6a65a..8e82330 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (geopandas-0.3.0.tar.gz) = bb7c0fedfaa095e7ac7c93dfa3c4909e21c2679d1eb624c17557eb8d533275977d051f885e8a981e6e56b76b956a10e156667a6c99dc1485bbe8ba2dc7042d56 +SHA512 (geopandas-0.4.0.tar.gz) = da55bf81dec481fa72feebc24e7e3d3a4103a9babde3a079a5abb744f6cd6f991733f8417514b0e79aa90e7761cd1d555fb0eb44278a4f1a2beb06c889f06d9d