ssb-sgis 1.2.17__tar.gz → 1.3.1__tar.gz

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.
Files changed (67) hide show
  1. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/PKG-INFO +1 -1
  2. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/pyproject.toml +1 -1
  3. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/general.py +5 -1
  4. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/io/dapla_functions.py +5 -5
  5. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/norge_i_bilder.json +9518 -656
  6. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/wms.py +121 -74
  7. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/LICENSE +0 -0
  8. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/README.md +0 -0
  9. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/__init__.py +0 -0
  10. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/conf.py +0 -0
  11. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/debug_config.py +0 -0
  12. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/exceptions.py +0 -0
  13. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/__init__.py +0 -0
  14. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/bounds.py +0 -0
  15. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/buffer_dissolve_explode.py +0 -0
  16. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/centerlines.py +0 -0
  17. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/cleaning.py +0 -0
  18. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/conversion.py +0 -0
  19. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/duplicates.py +0 -0
  20. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/geocoding.py +0 -0
  21. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/geometry_types.py +0 -0
  22. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/neighbors.py +0 -0
  23. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/overlay.py +0 -0
  24. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/point_operations.py +0 -0
  25. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/polygon_operations.py +0 -0
  26. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/polygons_as_rings.py +0 -0
  27. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/runners.py +0 -0
  28. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/sfilter.py +0 -0
  29. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/geopandas_tools/utils.py +0 -0
  30. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/helpers.py +0 -0
  31. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/io/__init__.py +0 -0
  32. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/io/_is_dapla.py +0 -0
  33. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/io/opener.py +0 -0
  34. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/io/read_parquet.py +0 -0
  35. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/__init__.py +0 -0
  36. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/examine.py +0 -0
  37. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/explore.py +0 -0
  38. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/httpserver.py +0 -0
  39. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/legend.py +0 -0
  40. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/map.py +0 -0
  41. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/maps.py +0 -0
  42. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/thematicmap.py +0 -0
  43. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/maps/tilesources.py +0 -0
  44. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/__init__.py +0 -0
  45. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/_get_route.py +0 -0
  46. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/_od_cost_matrix.py +0 -0
  47. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/_points.py +0 -0
  48. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/_service_area.py +0 -0
  49. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/closing_network_holes.py +0 -0
  50. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/cutting_lines.py +0 -0
  51. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/directednetwork.py +0 -0
  52. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/finding_isolated_networks.py +0 -0
  53. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/network.py +0 -0
  54. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/networkanalysis.py +0 -0
  55. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/networkanalysisrules.py +0 -0
  56. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/nodes.py +0 -0
  57. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/networkanalysis/traveling_salesman.py +0 -0
  58. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/parallel/__init__.py +0 -0
  59. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/parallel/parallel.py +0 -0
  60. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/py.typed +0 -0
  61. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/raster/__init__.py +0 -0
  62. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/raster/base.py +0 -0
  63. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/raster/image_collection.py +0 -0
  64. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/raster/indices.py +0 -0
  65. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/raster/regex.py +0 -0
  66. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/raster/sentinel_config.py +0 -0
  67. {ssb_sgis-1.2.17 → ssb_sgis-1.3.1}/src/sgis/raster/zonal.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ssb-sgis
3
- Version: 1.2.17
3
+ Version: 1.3.1
4
4
  Summary: GIS functions used at Statistics Norway.
5
5
  Home-page: https://github.com/statisticsnorway/ssb-sgis
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ssb-sgis"
3
- version = "1.2.17"
3
+ version = "1.3.1"
4
4
  description = "GIS functions used at Statistics Norway."
5
5
  authors = ["Morten Letnes <morten.letnes@ssb.no>"]
6
6
  license = "MIT"
@@ -21,6 +21,7 @@ from shapely import get_coordinates
21
21
  from shapely import get_parts
22
22
  from shapely import linestrings
23
23
  from shapely import make_valid
24
+ from shapely.errors import GEOSException
24
25
  from shapely.geometry import LineString
25
26
  from shapely.geometry import MultiPoint
26
27
  from shapely.geometry import Point
@@ -211,7 +212,10 @@ def clean_geoms(
211
212
  if isinstance(gdf, GeoDataFrame):
212
213
  # only repair if necessary
213
214
  if not gdf.geometry.is_valid.all():
214
- gdf.geometry = gdf.make_valid()
215
+ try:
216
+ gdf.geometry = gdf.make_valid()
217
+ except GEOSException as e:
218
+ raise type(e)(f"{e}: {gdf.geometry}") from e
215
219
 
216
220
  notna = gdf.geometry.notna()
217
221
  if not notna.all():
@@ -464,7 +464,7 @@ def write_geopandas(
464
464
  )
465
465
 
466
466
  if not len(df) and get_child_paths(gcs_path, file_system):
467
- # no need to write empty df for partitioned parquet
467
+ # no need to write empty df for partitioned parquet - if root dir exists
468
468
  return
469
469
  elif not len(df):
470
470
  if pandas_fallback:
@@ -586,9 +586,6 @@ def _write_partitioned_geoparquet(
586
586
  ):
587
587
  file_system = _get_file_system(file_system, kwargs)
588
588
 
589
- if basename_template is None:
590
- basename_template = uuid.uuid4().hex + "-{i}.parquet"
591
-
592
589
  if isinstance(partition_cols, str):
593
590
  partition_cols = [partition_cols]
594
591
 
@@ -623,7 +620,10 @@ def _write_partitioned_geoparquet(
623
620
  dfs.append(rows)
624
621
 
625
622
  def threaded_write(rows: DataFrame, path: str) -> None:
626
- this_basename = basename_template.replace("-{i}", "0")
623
+ if basename_template is None:
624
+ this_basename = (uuid.uuid4().hex + "-{i}.parquet").replace("-{i}", "0")
625
+ else:
626
+ this_basename = basename_template.replace("-{i}", "0")
627
627
  for i, sibling_path in enumerate(sorted(glob_func(str(Path(path) / "**")))):
628
628
  if paths_are_equal(sibling_path, path):
629
629
  continue