ssb-sgis 1.0.2__py3-none-any.whl → 1.0.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sgis/__init__.py +20 -9
- sgis/debug_config.py +24 -0
- sgis/exceptions.py +2 -2
- sgis/geopandas_tools/bounds.py +33 -36
- sgis/geopandas_tools/buffer_dissolve_explode.py +136 -35
- sgis/geopandas_tools/centerlines.py +4 -91
- sgis/geopandas_tools/cleaning.py +1576 -583
- sgis/geopandas_tools/conversion.py +38 -19
- sgis/geopandas_tools/duplicates.py +29 -8
- sgis/geopandas_tools/general.py +263 -100
- sgis/geopandas_tools/geometry_types.py +4 -4
- sgis/geopandas_tools/neighbors.py +19 -15
- sgis/geopandas_tools/overlay.py +2 -2
- sgis/geopandas_tools/point_operations.py +5 -5
- sgis/geopandas_tools/polygon_operations.py +510 -105
- sgis/geopandas_tools/polygons_as_rings.py +40 -8
- sgis/geopandas_tools/sfilter.py +29 -12
- sgis/helpers.py +3 -3
- sgis/io/dapla_functions.py +238 -19
- sgis/io/read_parquet.py +1 -1
- sgis/maps/examine.py +27 -12
- sgis/maps/explore.py +450 -65
- sgis/maps/legend.py +177 -76
- sgis/maps/map.py +206 -103
- sgis/maps/maps.py +178 -105
- sgis/maps/thematicmap.py +243 -83
- sgis/networkanalysis/_service_area.py +6 -1
- sgis/networkanalysis/closing_network_holes.py +2 -2
- sgis/networkanalysis/cutting_lines.py +15 -8
- sgis/networkanalysis/directednetwork.py +1 -1
- sgis/networkanalysis/finding_isolated_networks.py +15 -8
- sgis/networkanalysis/networkanalysis.py +17 -19
- sgis/networkanalysis/networkanalysisrules.py +1 -1
- sgis/networkanalysis/traveling_salesman.py +1 -1
- sgis/parallel/parallel.py +64 -27
- sgis/raster/__init__.py +0 -6
- sgis/raster/base.py +208 -0
- sgis/raster/cube.py +54 -8
- sgis/raster/image_collection.py +3257 -0
- sgis/raster/indices.py +17 -5
- sgis/raster/raster.py +138 -243
- sgis/raster/sentinel_config.py +120 -0
- sgis/raster/zonal.py +0 -1
- {ssb_sgis-1.0.2.dist-info → ssb_sgis-1.0.4.dist-info}/METADATA +6 -7
- ssb_sgis-1.0.4.dist-info/RECORD +62 -0
- sgis/raster/methods_as_functions.py +0 -0
- sgis/raster/torchgeo.py +0 -171
- ssb_sgis-1.0.2.dist-info/RECORD +0 -61
- {ssb_sgis-1.0.2.dist-info → ssb_sgis-1.0.4.dist-info}/LICENSE +0 -0
- {ssb_sgis-1.0.2.dist-info → ssb_sgis-1.0.4.dist-info}/WHEEL +0 -0
sgis/maps/examine.py
CHANGED
|
@@ -3,6 +3,10 @@ import numpy as np
|
|
|
3
3
|
|
|
4
4
|
from ..geopandas_tools.bounds import get_total_bounds
|
|
5
5
|
from ..helpers import unit_is_degrees
|
|
6
|
+
from ..raster.image_collection import Band
|
|
7
|
+
from ..raster.image_collection import Image
|
|
8
|
+
from ..raster.image_collection import ImageCollection
|
|
9
|
+
from .explore import Explore
|
|
6
10
|
from .map import Map
|
|
7
11
|
from .maps import clipmap
|
|
8
12
|
from .maps import explore
|
|
@@ -22,7 +26,7 @@ class Examine:
|
|
|
22
26
|
can then be repeated.
|
|
23
27
|
|
|
24
28
|
Examples:
|
|
25
|
-
|
|
29
|
+
---------
|
|
26
30
|
Create the examiner.
|
|
27
31
|
|
|
28
32
|
>>> import sgis as sg
|
|
@@ -86,18 +90,22 @@ class Examine:
|
|
|
86
90
|
**kwargs: Additional keyword arguments passed to sgis.clipmap.
|
|
87
91
|
|
|
88
92
|
"""
|
|
89
|
-
gdfs, column, kwargs = Map._separate_args(gdfs, column, kwargs)
|
|
90
|
-
|
|
91
93
|
if mask_gdf is None:
|
|
92
94
|
self.mask_gdf = gdfs[0]
|
|
93
95
|
else:
|
|
94
96
|
self.mask_gdf = mask_gdf
|
|
95
97
|
|
|
96
|
-
|
|
98
|
+
gdfs, column, kwargs = Map._separate_args(gdfs, column, kwargs)
|
|
99
|
+
|
|
100
|
+
m = Explore(*gdfs, column=column, **kwargs)
|
|
101
|
+
|
|
102
|
+
# m = Map(*gdfs, column=column, **kwargs)
|
|
97
103
|
self._gdfs: dict[str, gpd.GeoDataFrame] = dict(
|
|
98
104
|
zip(m.labels, m.gdfs, strict=False)
|
|
99
105
|
)
|
|
100
106
|
|
|
107
|
+
self.rasters: dict[str, ImageCollection | Image | Band] = m.rasters
|
|
108
|
+
|
|
101
109
|
self.indices = list(range(len(self.mask_gdf)))
|
|
102
110
|
self.i = 0
|
|
103
111
|
self.column = column
|
|
@@ -151,13 +159,15 @@ class Examine:
|
|
|
151
159
|
print("All rows are shown.")
|
|
152
160
|
return
|
|
153
161
|
|
|
154
|
-
print(f"i == {self.i} (
|
|
155
|
-
clipmap(
|
|
162
|
+
print(f"i == {self.i} (max. {len(self.mask_gdf)- 1})")
|
|
163
|
+
self.explorer = clipmap(
|
|
156
164
|
self.column,
|
|
165
|
+
*list(self.rasters.values()),
|
|
157
166
|
**self._gdfs,
|
|
158
167
|
mask=self.mask_gdf.iloc[[self.i]].buffer(self.size),
|
|
159
168
|
**self.kwargs,
|
|
160
169
|
)
|
|
170
|
+
|
|
161
171
|
self.i += 1
|
|
162
172
|
|
|
163
173
|
def sample(self, **kwargs) -> None:
|
|
@@ -173,8 +183,9 @@ class Examine:
|
|
|
173
183
|
i = np.random.randint(0, len(self.mask_gdf))
|
|
174
184
|
|
|
175
185
|
print(f"Showing index {i}")
|
|
176
|
-
clipmap(
|
|
186
|
+
self.explorer = clipmap(
|
|
177
187
|
self.column,
|
|
188
|
+
*list(self.rasters.values()),
|
|
178
189
|
**self._gdfs,
|
|
179
190
|
mask=self.mask_gdf.iloc[[i]].buffer(self.size),
|
|
180
191
|
**self.kwargs,
|
|
@@ -192,8 +203,9 @@ class Examine:
|
|
|
192
203
|
self.i = i
|
|
193
204
|
|
|
194
205
|
print(f"{self.i + 1} of {len(self.mask_gdf)}")
|
|
195
|
-
clipmap(
|
|
206
|
+
self.explorer = clipmap(
|
|
196
207
|
self.column,
|
|
208
|
+
*list(self.rasters.values()),
|
|
197
209
|
**self._gdfs,
|
|
198
210
|
mask=self.mask_gdf.iloc[[self.i]].buffer(self.size),
|
|
199
211
|
**self.kwargs,
|
|
@@ -205,7 +217,8 @@ class Examine:
|
|
|
205
217
|
kwargs = self._fix_kwargs(kwargs)
|
|
206
218
|
self.kwargs = self.kwargs | kwargs
|
|
207
219
|
|
|
208
|
-
explore(
|
|
220
|
+
self.explorer = explore(
|
|
221
|
+
*list(self.rasters.values()),
|
|
209
222
|
**self._gdfs,
|
|
210
223
|
column=self.column,
|
|
211
224
|
**self.kwargs,
|
|
@@ -217,7 +230,8 @@ class Examine:
|
|
|
217
230
|
kwargs = self._fix_kwargs(kwargs)
|
|
218
231
|
self.kwargs = self.kwargs | kwargs
|
|
219
232
|
|
|
220
|
-
clipmap(
|
|
233
|
+
self.explorer = clipmap(
|
|
234
|
+
*list(self.rasters.values()),
|
|
221
235
|
**self._gdfs,
|
|
222
236
|
column=self.column,
|
|
223
237
|
**self.kwargs,
|
|
@@ -229,7 +243,8 @@ class Examine:
|
|
|
229
243
|
kwargs = self._fix_kwargs(kwargs)
|
|
230
244
|
self.kwargs = self.kwargs | kwargs
|
|
231
245
|
|
|
232
|
-
samplemap(
|
|
246
|
+
self.explorer = samplemap(
|
|
247
|
+
*list(self.rasters.values()),
|
|
233
248
|
**self._gdfs,
|
|
234
249
|
column=self.column,
|
|
235
250
|
**self.kwargs,
|
|
@@ -238,7 +253,7 @@ class Examine:
|
|
|
238
253
|
@property
|
|
239
254
|
def mask(self) -> gpd.GeoDataFrame:
|
|
240
255
|
"""Returns a GeoDataFrame of the last shown mask geometry."""
|
|
241
|
-
return self.mask_gdf.iloc[[self.i]]
|
|
256
|
+
return self.mask_gdf.iloc[[self.i - 1]]
|
|
242
257
|
|
|
243
258
|
@property
|
|
244
259
|
def gdfs(self) -> dict[str, gpd.GeoDataFrame]:
|