hydamo-validation 1.3.0b5__tar.gz → 1.3.1b1__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.

Potentially problematic release.


This version of hydamo-validation might be problematic. Click here for more details.

Files changed (49) hide show
  1. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/PKG-INFO +1 -1
  2. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/__init__.py +1 -1
  3. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/syntax_validation.py +9 -1
  4. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation.egg-info/PKG-INFO +1 -1
  5. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation.egg-info/SOURCES.txt +1 -0
  6. hydamo_validation-1.3.1b1/tests/test_testset.py +43 -0
  7. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/LICENSE +0 -0
  8. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/README.md +0 -0
  9. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/datamodel.py +0 -0
  10. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/datasets.py +0 -0
  11. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/functions/__init__.py +0 -0
  12. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/functions/general.py +0 -0
  13. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/functions/logic.py +0 -0
  14. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/functions/topologic.py +0 -0
  15. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/geometry.py +0 -0
  16. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/logical_validation.py +0 -0
  17. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/schemas/hydamo/HyDAMO_2.2.json +0 -0
  18. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/schemas/hydamo/HyDAMO_2.3.json +0 -0
  19. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/schemas/rules/rules_1.0.json +0 -0
  20. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/schemas/rules/rules_1.1.json +0 -0
  21. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/schemas/rules/rules_1.2.json +0 -0
  22. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/schemas/rules/rules_1.3.json +0 -0
  23. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/styles/hydroobject.qml +0 -0
  24. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/styles/hydroobject.sld +0 -0
  25. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/styles.py +0 -0
  26. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/summaries.py +0 -0
  27. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/utils.py +0 -0
  28. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation/validator.py +0 -0
  29. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation.egg-info/dependency_links.txt +0 -0
  30. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation.egg-info/requires.txt +0 -0
  31. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation.egg-info/top_level.txt +0 -0
  32. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/hydamo_validation.egg-info/zip-safe +0 -0
  33. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/pyproject.toml +0 -0
  34. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/setup.cfg +0 -0
  35. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/setup.py +0 -0
  36. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_datasets.py +0 -0
  37. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_dommelerwaard.py +0 -0
  38. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_general_functions.py +0 -0
  39. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_hydamo_2_2.py +0 -0
  40. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_init.py +0 -0
  41. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_logic_functions.py +0 -0
  42. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_not_overlapping.py +0 -0
  43. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_productie.py +0 -0
  44. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_structures_at_interersections.py +0 -0
  45. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_summaries.py +0 -0
  46. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_topologic_functions.py +0 -0
  47. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_validationrules.py +0 -0
  48. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_wrij.py +0 -0
  49. {hydamo_validation-1.3.0b5 → hydamo_validation-1.3.1b1}/tests/test_wrij_profielen.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hydamo_validation
3
- Version: 1.3.0b5
3
+ Version: 1.3.1b1
4
4
  Summary: Validation module for HyDAMO data
5
5
  Author-email: Daniel Tollenaar <daniel@d2hydro.nl>
6
6
  License: MIT
@@ -1,7 +1,7 @@
1
1
  __author__ = ["Het Waterschapshuis", "D2HYDRO", "HKV", "HydroConsult"]
2
2
  __copyright__ = "Copyright 2021, HyDAMO ValidatieTool"
3
3
  __credits__ = ["D2HYDRO", "HKV", "HydroConsult"]
4
- __version__ = "1.3.0b5"
4
+ __version__ = "1.3.1b1"
5
5
 
6
6
  __license__ = "MIT"
7
7
  __maintainer__ = "Daniel Tollenaar"
@@ -249,13 +249,21 @@ def fields_syntax(gdf, schema, validation_schema, keep_columns=[]):
249
249
  geotype = next(
250
250
  (i["dtype"] for i in validation_schema if i["id"] == "geometry"), None
251
251
  )
252
+
253
+ # since shapely2.0 we can't use PointZ anymore
252
254
  if geotype:
255
+ has_z = any(i.endswith("Z") for i in geotype)
256
+ if has_z:
257
+ geotype = [i[:-1] if i.endswith("Z") else i for i in geotype]
253
258
  result_col = "syntax_geometry"
254
259
  validation_gdf[result_col] = ""
255
260
 
256
261
  bool_series = ~(
257
- ~result_gdf["geometry"].is_valid | result_gdf["geometry"].type.isin(geotype)
262
+ result_gdf["geometry"].is_valid
263
+ & result_gdf["geometry"].geom_type.isin(geotype)
264
+ & (result_gdf["geometry"].has_z == has_z)
258
265
  )
266
+
259
267
  validation_gdf.loc[bool_series, result_col] = result_gdf[
260
268
  bool_series
261
269
  ].geometry.apply(lambda x: f"{x.type} -> NULL (7)")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hydamo_validation
3
- Version: 1.3.0b5
3
+ Version: 1.3.1b1
4
4
  Summary: Validation module for HyDAMO data
5
5
  Author-email: Daniel Tollenaar <daniel@d2hydro.nl>
6
6
  License: MIT
@@ -40,6 +40,7 @@ tests/test_not_overlapping.py
40
40
  tests/test_productie.py
41
41
  tests/test_structures_at_interersections.py
42
42
  tests/test_summaries.py
43
+ tests/test_testset.py
43
44
  tests/test_topologic_functions.py
44
45
  tests/test_validationrules.py
45
46
  tests/test_wrij.py
@@ -0,0 +1,43 @@
1
+ from pathlib import Path
2
+ from hydamo_validation import validator
3
+ import pandas as pd
4
+ import pytest
5
+ import shutil
6
+
7
+ DATA_DIR = Path(__file__).parent.joinpath("data")
8
+ COVERAGE = {"AHN": DATA_DIR.joinpath(r"dtm")}
9
+ DIRECTORY = DATA_DIR.joinpath("tasks", "test_testset")
10
+
11
+ hydamo_validator = validator(
12
+ output_types=["geopackage"], coverages=COVERAGE, log_level="INFO"
13
+ )
14
+
15
+
16
+ @pytest.fixture
17
+ def result():
18
+ results_dir = DIRECTORY / "results"
19
+ if results_dir.exists():
20
+ shutil.rmtree(DIRECTORY / "results")
21
+ return hydamo_validator(directory=DIRECTORY, raise_error=True)
22
+
23
+
24
+ def test_results_available(result):
25
+ # assert if result is generated
26
+ assert result is not None
27
+
28
+
29
+ def test_validate_result(result):
30
+ # unpack result
31
+ datamodel, layer_summary, result_summary = result
32
+
33
+ # check if profielpunt is available
34
+ assert hasattr(layer_summary, "profielpunt")
35
+
36
+ # invalid geometries contain (7) in syntax_geometry column
37
+ result = layer_summary.profielpunt.syntax_geometry.apply(
38
+ lambda x: "(7)" not in x
39
+ ).reset_index(drop=True)
40
+
41
+ # we expecte only the first geometry to be valid, containing PointZ, Point, LineString, LineStringZ
42
+ expected_result = pd.Series([True, False, False, False], name="syntax_geometry")
43
+ assert result.equals(expected_result)