Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
quarto-publish:
name: Publish with Quarto
runs-on: ubuntu-latest
permissions: pages
steps:
# Circumvent this problem: https://github.com/actions/checkout/issues/165
- name: Checkout code with LFS cache
Expand Down
2 changes: 1 addition & 1 deletion docs/install.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ QGIS-Tim therfore consists of three steps:

## 1. Install QGIS

Download and install a recent version of QGIS (>=3.40, <4.0) from the official
Download and install a recent version of QGIS (>=3.40) from the official
QGIS website:
<https://www.qgis.org/en/site/forusers/download.html>{target="_blank"}

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial_Rijsenhout.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Building Pit Rijsenhout"
---

## Requirements
- Be sure QGIS version 3.40 or later is installed, but not version 4.0.
- Be sure QGIS version 3.40 or later is installed
- Be sure the ``gistim`` Python package is installed (see [installation](install.qmd) for instructions).
- Download the tutorial material. [Follow this link.](https://deltares.thegood.cloud/s/zryWnfjT43Ryoea)
- Internet connections is optional during this Tutorial. It is only required for installation of additional plugins and the use of an online topographic background map.
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial_TheHague.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ title: "Building Pit The Hague "
---

## Requirements
- Be sure QGIS version 3.40 or later is installed, but not version 4.0.
- Be sure QGIS version 3.40 or later is installed
- Be sure the ``gistim`` Python package is installed (see [installation](install.qmd) for instructions).
- Download the tutorial material. <a href="https://deltares.thegood.cloud/s/JWsmtC82zZjSRx3" target="_blank">Follow this link.</a>
- Installation of the QGIS-Tim plugin and the MOD plugin is part of this Tutorial. The necessary ZIP files are included in the tutorial material.
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial_particle_tracking.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: "Particle Tracking"


## Requirements
- Be sure QGIS version 3.40 or later is installed, but not version 4.0.
- Be sure QGIS version 3.40 or later is installed
- Be sure the ``gistim`` Python package is installed (see [installation](install.qmd) for instructions).

## Description
Expand Down
2 changes: 1 addition & 1 deletion gistim/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import gistim.compute # noqa: F401

__version__ = "0.7.0.dev1"
__version__ = "0.7.0.dev2"
6 changes: 3 additions & 3 deletions pixi.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[workspace]
name = "gistim"
version = "0.7.0.dev1"
version = "0.7.0.dev2"
description = "Connects timflow Analytic Element modeling to QGIS"
authors = ["Huite Bootsma"]
channels = ["conda-forge"]
Expand Down Expand Up @@ -40,10 +40,10 @@ qgis-stubs = "*"
qgis-plugin-manager = ">=1.7.5, <2"

[feature.dev.target.win-64.dependencies]
qgis = ">=3.40,<4"
qgis = ">=3.40, <5"

[feature.dev.target.linux-64.dependencies]
qgis = ">=3.40,<4"
qgis = ">=3.40, <5"


[feature.dev.tasks]
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/aquifer.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsVectorLayerUtils
from qgis.PyQt.QtCore import QVariant

from qgistim.core import geopackage
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/building_pit.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any, Dict

from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import RED, TRANSPARENT_RED
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/circular_area_sink.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any, Dict

from PyQt5.QtCore import QVariant
from qgis.core import QgsField
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import GREEN, TRANSPARENT_GREEN
from qgistim.core.elements.element import TransientElement
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/constant.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import RED
from qgistim.core.elements.element import Element
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/discharge_observation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import LIGHT_BLUE
from qgistim.core.elements.element import Element
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/domain.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from typing import Any, Tuple

from PyQt5.QtCore import QVariant
from qgis.core import (
QgsFeature,
QgsField,
QgsGeometry,
QgsPointXY,
QgsSingleSymbolRenderer,
)
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import BLACK
from qgistim.core.elements.element import ElementExtraction, TransientElement
Expand Down
18 changes: 9 additions & 9 deletions plugin/qgistim/core/elements/element.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,21 +56,21 @@
from copy import deepcopy
from typing import Any, Dict, List, NamedTuple, Optional, Set, Tuple, Union

from PyQt5.QtWidgets import (
QDialog,
QHBoxLayout,
QLabel,
QLineEdit,
QPushButton,
QVBoxLayout,
)
from qgis.core import (
QgsFillSymbol,
QgsLineSymbol,
QgsMarkerSymbol,
QgsSingleSymbolRenderer,
QgsVectorLayer,
)
from qgis.PyQt.QtWidgets import (
QDialog,
QHBoxLayout,
QLabel,
QLineEdit,
QPushButton,
QVBoxLayout,
)

from qgistim.core import geopackage
from qgistim.core.extractor import ExtractorMixin
Expand Down Expand Up @@ -141,7 +141,7 @@ def __init__(self, path: str, name: str):
def dialog(cls, path: str, crs: Any, iface: Any, names: List[str]):
dialog = NameDialog()
dialog.show()
ok = dialog.exec_()
ok = dialog.exec()
if not ok:
return

Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/head_line_sink.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import BLUE
from qgistim.core.elements.default_values import DefaultValues
Expand Down
4 changes: 2 additions & 2 deletions plugin/qgistim/core/elements/headwell.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
from typing import Any, Dict

from PyQt5.QtCore import QVariant
from PyQt5.QtGui import QColor
from qgis.core import (
QgsArrowSymbolLayer,
QgsDefaultValue,
QgsField,
QgsLineSymbol,
QgsSingleSymbolRenderer,
)
from qgis.PyQt.QtCore import QVariant
from qgis.PyQt.QtGui import QColor

from qgistim.core.elements.colors import BLUE
from qgistim.core.elements.element import TransientElement
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/impermeable_line_doublet.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import RED
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/leaky_building_pit.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any, Dict

from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import RED, TRANSPARENT_RED
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/leaky_line_doublet.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import RED
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/line_sink_ditch.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import GREEN
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/observation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import LIGHT_BLUE
from qgistim.core.elements.element import TransientElement
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/particle.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import abc
from typing import Any, Dict

from PyQt5.QtCore import QVariant
from qgis.core import (
QgsDefaultValue,
QgsField,
QgsSingleSymbolRenderer,
)
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import GREY, LIGHT_GREY
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/polygon_area_sink.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from copy import deepcopy

from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import GREEN, TRANSPARENT_GREEN
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/polygon_inhomogeneity.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any, Dict

from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import GREY, TRANSPARENT_GREY
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/polygon_semi_confined_top.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from copy import deepcopy

from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import BLUE, TRANSPARENT_BLUE
from qgistim.core.elements.default_values import DefaultValues
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/uniform_flow.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from PyQt5.QtCore import QVariant
from qgis.core import QgsField
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.element import Element
from qgistim.core.elements.schemata import SingleRowSchema
Expand Down
2 changes: 1 addition & 1 deletion plugin/qgistim/core/elements/well.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any, Dict

from PyQt5.QtCore import QVariant
from qgis.core import QgsDefaultValue, QgsField, QgsSingleSymbolRenderer
from qgis.PyQt.QtCore import QVariant

from qgistim.core.elements.colors import GREEN
from qgistim.core.elements.element import TransientElement
Expand Down
24 changes: 18 additions & 6 deletions plugin/qgistim/core/geopackage.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from typing import List

from qgis import processing
from qgis.core import QgsVectorFileWriter, QgsVectorLayer
from qgis.core import QgsProject, QgsVectorFileWriter, QgsVectorLayer


@contextmanager
Expand Down Expand Up @@ -74,11 +74,23 @@ def write_layer(
options.driverName = "gpkg"
options.layerName = layername
if not newfile:
options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteLayer
write_result, error_message = QgsVectorFileWriter.writeAsVectorFormat(
layer, path, options
)
if write_result != QgsVectorFileWriter.NoError:
options.actionOnExistingFile = (
QgsVectorFileWriter.ActionOnExistingFile.CreateOrOverwriteLayer
)
if hasattr(QgsVectorFileWriter, "writeAsVectorFormatV3"):
result = QgsVectorFileWriter.writeAsVectorFormatV3(
layer,
path,
QgsProject.instance().transformContext(),
options,
)
write_result = result[0]
error_message = result[-1] if len(result) > 1 else ""
else:
write_result, error_message = QgsVectorFileWriter.writeAsVectorFormat(
layer, path, options
)
if write_result != QgsVectorFileWriter.WriterError.NoError:
raise RuntimeError(
f"Layer {layername} could not be written to geopackage: {path}"
f" with error: {error_message}"
Expand Down
12 changes: 7 additions & 5 deletions plugin/qgistim/core/layer_styling.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

from typing import List

from PyQt5.QtGui import QColor
from qgis.core import (
QgsColorRampShader,
QgsLineSymbol,
Expand All @@ -22,6 +21,7 @@
QgsTextFormat,
QgsVectorLayerSimpleLabeling,
)
from qgis.PyQt.QtGui import QColor


def color_ramp_items(
Expand Down Expand Up @@ -71,7 +71,7 @@ def pseudocolor_renderer(
-------
renderer: QgsSingleBandPseudoColorRenderer
"""
stats = layer.dataProvider().bandStatistics(band, QgsRasterBandStats.All)
stats = layer.dataProvider().bandStatistics(band, QgsRasterBandStats.Stats.All)
minimum = stats.minimumValue
maximum = stats.maximumValue

Expand All @@ -80,8 +80,10 @@ def pseudocolor_renderer(
shader_function.setMinimumValue(minimum)
shader_function.setMaximumValue(maximum)
shader_function.setSourceColorRamp(ramp)
shader_function.setColorRampType(QgsColorRampShader.Interpolated)
shader_function.setClassificationMode(QgsColorRampShader.EqualInterval)
shader_function.setColorRampType(QgsColorRampShader.Type.Interpolated)
shader_function.setClassificationMode(
QgsColorRampShader.ClassificationMode.EqualInterval
)
shader_function.setColorRampItemList(ramp_items)

raster_shader = QgsRasterShader()
Expand All @@ -104,7 +106,7 @@ def number_labels(field: str) -> QgsVectorLayerSimpleLabeling:
pal_layer = QgsPalLayerSettings()
pal_layer.fieldName = field
pal_layer.enabled = True
pal_layer.placement = QgsPalLayerSettings.Line
pal_layer.placement = QgsPalLayerSettings.Placement.Line
pal_layer.formatNumbers = True
pal_layer.decimals = 2

Expand Down
Loading