|
18 | 18 | import shutil |
19 | 19 | import tempfile |
20 | 20 | import pytest |
| 21 | +import numpy as np |
21 | 22 | import pandas as pd |
22 | 23 | import geopandas as gpd |
23 | 24 | import pyspark.pandas as ps |
@@ -387,7 +388,6 @@ def test_fillna(self): |
387 | 388 |
|
388 | 389 | # Ensure filling with np.nan or pd.NA returns None |
389 | 390 | # but filling None return empty geometry |
390 | | - import numpy as np |
391 | 391 |
|
392 | 392 | for fill_val in [np.nan, pd.NA, None]: |
393 | 393 | sgpd_result = GeoSeries(data).fillna(fill_val) |
@@ -419,8 +419,6 @@ def test_bounds(self): |
419 | 419 | ) |
420 | 420 |
|
421 | 421 | def test_total_bounds(self): |
422 | | - import numpy as np |
423 | | - |
424 | 422 | for geom in self.geoms: |
425 | 423 | sgpd_result = GeoSeries(geom).total_bounds |
426 | 424 | gpd_result = gpd.GeoSeries(geom).total_bounds |
@@ -832,6 +830,26 @@ def test_segmentize(self): |
832 | 830 | gpd_result = gpd.GeoSeries(geom).segmentize(2.5) |
833 | 831 | self.check_sgpd_equals_gpd(sgpd_result, gpd_result) |
834 | 832 |
|
| 833 | + # Test array-like inputs |
| 834 | + geoms = self.polygons |
| 835 | + lst = list(range(1, len(geoms) + 1)) |
| 836 | + |
| 837 | + # Traditional python list |
| 838 | + sgpd_result = GeoSeries(geoms).segmentize(lst) |
| 839 | + gpd_result = gpd.GeoSeries(geoms).segmentize(lst) |
| 840 | + self.check_sgpd_equals_gpd(sgpd_result, gpd_result) |
| 841 | + |
| 842 | + np_array = np.array(lst) |
| 843 | + sgpd_result = GeoSeries(geoms).segmentize(np_array) |
| 844 | + gpd_result = gpd.GeoSeries(geoms).segmentize(np_array) |
| 845 | + self.check_sgpd_equals_gpd(sgpd_result, gpd_result) |
| 846 | + |
| 847 | + # pandas series |
| 848 | + psser = ps.Series(lst) |
| 849 | + sgpd_result = GeoSeries(geoms).segmentize(psser) |
| 850 | + gpd_result = gpd.GeoSeries(geoms).segmentize(psser.to_pandas()) |
| 851 | + self.check_sgpd_equals_gpd(sgpd_result, gpd_result) |
| 852 | + |
835 | 853 | def test_transform(self): |
836 | 854 | pass |
837 | 855 |
|
|
0 commit comments