jupytergis-core 0.4.5__py3-none-any.whl → 0.5.0__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.
- jupytergis_core/_version.py +1 -1
- jupytergis_core/jgis_ydoc.py +13 -1
- jupytergis_core/schema/__init__.py +24 -0
- jupytergis_core/schema/interfaces/__init__.py +3 -0
- jupytergis_core/schema/interfaces/export/__init__.py +3 -0
- jupytergis_core/schema/interfaces/export/exportGeojson.py +18 -0
- jupytergis_core/schema/interfaces/export/exportGeotiff.py +28 -0
- jupytergis_core/schema/interfaces/geojson.py +502 -0
- jupytergis_core/schema/interfaces/geojsonsource.py +20 -0
- jupytergis_core/schema/interfaces/processing/__init__.py +3 -0
- jupytergis_core/schema/interfaces/processing/buffer.py +23 -0
- jupytergis_core/schema/interfaces/processing/dissolve.py +24 -0
- jupytergis_core/schema/interfaces/project/__init__.py +3 -0
- jupytergis_core/schema/interfaces/project/jgis.py +136 -0
- jupytergis_core/schema/interfaces/project/layers/__init__.py +3 -0
- jupytergis_core/schema/interfaces/project/layers/heatmapLayer.py +30 -0
- jupytergis_core/schema/interfaces/project/layers/hillshadeLayer.py +19 -0
- jupytergis_core/schema/interfaces/project/layers/imageLayer.py +19 -0
- jupytergis_core/schema/interfaces/project/layers/rasterlayer.py +19 -0
- jupytergis_core/schema/interfaces/project/layers/vectorTileLayer.py +30 -0
- jupytergis_core/schema/interfaces/project/layers/vectorlayer.py +64 -0
- jupytergis_core/schema/interfaces/project/layers/webGlLayer.py +57 -0
- jupytergis_core/schema/interfaces/project/sources/__init__.py +3 -0
- jupytergis_core/schema/interfaces/project/sources/geoTiffSource.py +27 -0
- jupytergis_core/schema/interfaces/project/sources/imageSource.py +29 -0
- jupytergis_core/schema/interfaces/project/sources/rasterDemSource.py +23 -0
- jupytergis_core/schema/interfaces/project/sources/rastersource.py +36 -0
- jupytergis_core/schema/interfaces/project/sources/shapefileSource.py +31 -0
- jupytergis_core/schema/interfaces/project/sources/vectortilesource.py +27 -0
- jupytergis_core/schema/interfaces/project/sources/videoSource.py +30 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/package.json +7 -5
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/schemas/@jupytergis/jupytergis-core/jupytergis-settings.json +13 -0
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/schemas/@jupytergis/jupytergis-core/package.json.orig +123 -0
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/377.2ba30d7a93a2a2819b1b.js +1 -0
- jupytergis_core-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/729.6eae404678a803e58788.js → jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/729.2540a8113c71e8eb28ef.js +2 -2
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/893.0bf9ee057c7e4666c364.js +1 -0
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/991.13deb14ad0c10be40859.js +1 -0
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/remoteEntry.6e9db18c72727800e9ea.js +1 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/third-party-licenses.json +4 -4
- {jupytergis_core-0.4.5.dist-info → jupytergis_core-0.5.0.dist-info}/METADATA +1 -1
- jupytergis_core-0.5.0.dist-info/RECORD +112 -0
- jupytergis_core-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/31.ab2fa4c30bddf5b8e6b6.js +0 -1
- jupytergis_core-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/656.c0f842aa97967d6d91f2.js +0 -1
- jupytergis_core-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/991.443bcba88f6a112c4b9e.js +0 -1
- jupytergis_core-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/remoteEntry.2155bee6ff3895543404.js +0 -1
- jupytergis_core-0.4.5.dist-info/RECORD +0 -82
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/etc/jupyter/jupyter_server_config.d/jupytergis_core.json +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/026680ab0cd1523edc87.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/02ff7d503bbd90b21fc4.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/062a9554f6b4caac9713.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/064f37cecb8130ad66e8.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/08da2741746ddab81d04.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/0c6a0352b82839119f95.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/13c485bb93f5567f02fd.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1474207a6b3ca1001e78.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/14b98240613d5256c621.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/154.0d16fbe1d1182d138b2c.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1b97ea0f2b3af717cffa.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1d440270da19a2f22fee.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1ed164e010f3c0306d15.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2218dfba22fc2b08e948.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/234.2f0fc49f516ad354aa18.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.aea9e291ba3dd16790fb.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.aea9e291ba3dd16790fb.js.LICENSE.txt +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2ab791b60c4058e664f8.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2b24b6a745c11511f055.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2d676bc0a01c2cd2fccb.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2f02309ea499725612ea.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/32c7a73662cceb5bb1d7.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/350eec4ce9ae4bc10bca.wasm +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/363ca7c5f78deb6fd033.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/376.58a6410b7089dea5b0d5.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/3ae0bf244442de7efc35.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/3d48be10ffea86eb15de.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/407.da5d00862f4879fe3c9c.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/415edc3fa381260cf31e.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/42cbddf5e883673bc4e2.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/432.df2bee6966bdd5a48317.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/472.b2ea9ebc35d5ad4e1fcc.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/527ef171d5df15dc7da5.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/542.477a73b8682de0e8d45e.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/552.3f267df0d8b2c9ef2c40.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/555.be80e60305924af2e139.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5bb02252f243f8c7494f.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5d181edc3c046e1454a1.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5f32ad48aefe00e51312.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/618.86523276f857e0a3362e.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/6e4f6b4d0dfca3bd4450.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/71d436fb44627b6bfbd7.png +0 -0
- /jupytergis_core-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/729.6eae404678a803e58788.js.LICENSE.txt → /jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/729.2540a8113c71e8eb28ef.js.LICENSE.txt +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/7b225dc2d37cd3582156.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.8b9c4e2f8bed9130b6d0.js +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.8b9c4e2f8bed9130b6d0.js.LICENSE.txt +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/843ab141e62516b9df5c.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/8814e17f6b110e8f3e42.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/88b2ae0d29edb684eae5.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/971a42d174dd17b9451a.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a3c609f5bff95a7a53be.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a86d626c9ed2e222d190.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a9e286b0c0264a9fc737.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/ab309078b494f850430a.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/b15e3989b7b90b5a8d9d.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/b36717fbb06f21d53b01.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/ba4b6e82fe5a816c40a5.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/bb2b310570da7a3587e9.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/be92bcf7bb99753b4b3d.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/c2ffa011d7f52a0ddf45.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/d83457b1b925c1718f6d.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/e473e1e9f20af114bbb4.data +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/f2617180c6907263a7ff.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/fe99a6dbf5a71d308989.png +0 -0
- {jupytergis_core-0.4.5.data → jupytergis_core-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/style.js +0 -0
- {jupytergis_core-0.4.5.dist-info → jupytergis_core-0.5.0.dist-info}/WHEEL +0 -0
- {jupytergis_core-0.4.5.dist-info → jupytergis_core-0.5.0.dist-info}/entry_points.txt +0 -0
- {jupytergis_core-0.4.5.dist-info → jupytergis_core-0.5.0.dist-info}/licenses/LICENSE +0 -0
jupytergis_core/_version.py
CHANGED
jupytergis_core/jgis_ydoc.py
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import json
|
|
2
2
|
from typing import Any, Callable
|
|
3
3
|
from functools import partial
|
|
4
|
+
from packaging.version import Version
|
|
4
5
|
|
|
5
6
|
from pycrdt import Array, Map
|
|
6
7
|
from jupyter_ydoc.ybasedoc import YBaseDoc
|
|
8
|
+
from .schema import SCHEMA_VERSION
|
|
7
9
|
|
|
8
10
|
|
|
9
11
|
class YJGIS(YBaseDoc):
|
|
@@ -16,7 +18,7 @@ class YJGIS(YBaseDoc):
|
|
|
16
18
|
self._ydoc["metadata"] = self._ymetadata = Map()
|
|
17
19
|
|
|
18
20
|
def version(self) -> str:
|
|
19
|
-
return
|
|
21
|
+
return SCHEMA_VERSION
|
|
20
22
|
|
|
21
23
|
def get(self) -> str:
|
|
22
24
|
"""
|
|
@@ -31,6 +33,7 @@ class YJGIS(YBaseDoc):
|
|
|
31
33
|
layers_tree = self._ylayerTree.to_py()
|
|
32
34
|
return json.dumps(
|
|
33
35
|
dict(
|
|
36
|
+
schemaVersion=SCHEMA_VERSION,
|
|
34
37
|
layers=layers,
|
|
35
38
|
sources=sources,
|
|
36
39
|
options=options,
|
|
@@ -49,6 +52,15 @@ class YJGIS(YBaseDoc):
|
|
|
49
52
|
"""
|
|
50
53
|
valueDict = json.loads(value)
|
|
51
54
|
|
|
55
|
+
# Assuming file version 0.5.0 if the version is not specified
|
|
56
|
+
file_version = (
|
|
57
|
+
Version(valueDict["schemaVersion"])
|
|
58
|
+
if "schemaVersion" in valueDict
|
|
59
|
+
else Version("0.5.0")
|
|
60
|
+
)
|
|
61
|
+
if file_version > Version(SCHEMA_VERSION):
|
|
62
|
+
raise ValueError(f"Cannot load file version {file_version}")
|
|
63
|
+
|
|
52
64
|
with self._ydoc.transaction():
|
|
53
65
|
self._ylayers.clear()
|
|
54
66
|
self._ylayers.update(valueDict.get("layers", {}))
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from .interfaces.project.jgis import * # noqa
|
|
2
|
+
|
|
3
|
+
from .interfaces.project.layers.rasterlayer import IRasterLayer # noqa
|
|
4
|
+
from .interfaces.project.layers.vectorlayer import IVectorLayer # noqa
|
|
5
|
+
from .interfaces.project.layers.vectorTileLayer import IVectorTileLayer # noqa
|
|
6
|
+
from .interfaces.project.layers.hillshadeLayer import IHillshadeLayer # noqa
|
|
7
|
+
from .interfaces.project.layers.imageLayer import IImageLayer # noqa
|
|
8
|
+
from .interfaces.project.layers.webGlLayer import IWebGlLayer # noqa
|
|
9
|
+
from .interfaces.project.layers.heatmapLayer import IHeatmapLayer # noqa
|
|
10
|
+
|
|
11
|
+
from .interfaces.project.sources.vectortilesource import IVectorTileSource # noqa
|
|
12
|
+
from .interfaces.project.sources.rastersource import IRasterSource # noqa
|
|
13
|
+
from .interfaces.geojsonsource import IGeoJSONSource # noqa
|
|
14
|
+
from .interfaces.project.sources.videoSource import IVideoSource # noqa
|
|
15
|
+
from .interfaces.project.sources.imageSource import IImageSource # noqa
|
|
16
|
+
from .interfaces.project.sources.geoTiffSource import IGeoTiffSource # noqa
|
|
17
|
+
from .interfaces.project.sources.rasterDemSource import IRasterDemSource # noqa
|
|
18
|
+
|
|
19
|
+
from .interfaces.processing.buffer import IBuffer # noqa
|
|
20
|
+
|
|
21
|
+
from .interfaces.export.exportGeojson import IExportGeoJSON # noqa
|
|
22
|
+
from .interfaces.export.exportGeotiff import IExportGeoTIFF # noqa
|
|
23
|
+
|
|
24
|
+
SCHEMA_VERSION = IJGISContent.model_fields["schemaVersion"].default # noqa
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: export/exportGeojson.json
|
|
3
|
+
# timestamp: 2025-05-08T01:23:34+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class IExportGeoJSON(BaseModel):
|
|
11
|
+
model_config = ConfigDict(
|
|
12
|
+
extra='forbid',
|
|
13
|
+
)
|
|
14
|
+
exportFileName: str = Field(
|
|
15
|
+
...,
|
|
16
|
+
description='The name of the exported GeoJSON file.',
|
|
17
|
+
title='GeoJSON File Name',
|
|
18
|
+
)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: export/exportGeotiff.json
|
|
3
|
+
# timestamp: 2025-05-08T01:23:34+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class IExportGeoTIFF(BaseModel):
|
|
11
|
+
model_config = ConfigDict(
|
|
12
|
+
extra='forbid',
|
|
13
|
+
)
|
|
14
|
+
exportFileName: str = Field(
|
|
15
|
+
...,
|
|
16
|
+
description='The name of the exported GeoTIFF file.',
|
|
17
|
+
title='GeoTiFF File Name',
|
|
18
|
+
)
|
|
19
|
+
resolutionX: confloat(ge=1.0, le=10000.0) = Field(
|
|
20
|
+
...,
|
|
21
|
+
description='The width resolution for the raster export.',
|
|
22
|
+
title='Resolution (Width)',
|
|
23
|
+
)
|
|
24
|
+
resolutionY: confloat(ge=1.0, le=10000.0) = Field(
|
|
25
|
+
...,
|
|
26
|
+
description='The height resolution for the raster export.',
|
|
27
|
+
title='Resolution (Height)',
|
|
28
|
+
)
|
|
@@ -0,0 +1,502 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: geojson.json
|
|
3
|
+
# timestamp: 2025-05-08T01:23:34+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Any, Dict, List, Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, RootModel
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Type(Enum):
|
|
14
|
+
Point = 'Point'
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GeoJSON1(BaseModel):
|
|
18
|
+
type: Type
|
|
19
|
+
coordinates: List[float] = Field(..., min_length=2)
|
|
20
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Type1(Enum):
|
|
24
|
+
LineString = 'LineString'
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Coordinate(RootModel[List[float]]):
|
|
28
|
+
root: List[float]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class GeoJSON2(BaseModel):
|
|
32
|
+
type: Type1
|
|
33
|
+
coordinates: List[Coordinate] = Field(..., min_length=2)
|
|
34
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class Type2(Enum):
|
|
38
|
+
Polygon = 'Polygon'
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class GeoJSON3(BaseModel):
|
|
42
|
+
type: Type2
|
|
43
|
+
coordinates: List[List[Coordinate]]
|
|
44
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class Type3(Enum):
|
|
48
|
+
MultiPoint = 'MultiPoint'
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class GeoJSON4(BaseModel):
|
|
52
|
+
type: Type3
|
|
53
|
+
coordinates: List[List[float]]
|
|
54
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class Type4(Enum):
|
|
58
|
+
MultiLineString = 'MultiLineString'
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class GeoJSON5(BaseModel):
|
|
62
|
+
type: Type4
|
|
63
|
+
coordinates: List[List[Coordinate]]
|
|
64
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class Type5(Enum):
|
|
68
|
+
MultiPolygon = 'MultiPolygon'
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class GeoJSON6(BaseModel):
|
|
72
|
+
type: Type5
|
|
73
|
+
coordinates: List[List[List[Coordinate]]]
|
|
74
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class Type6(Enum):
|
|
78
|
+
GeometryCollection = 'GeometryCollection'
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class Type7(Enum):
|
|
82
|
+
Point = 'Point'
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class Geometries(BaseModel):
|
|
86
|
+
type: Type7
|
|
87
|
+
coordinates: List[float] = Field(..., min_length=2)
|
|
88
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
class Type8(Enum):
|
|
92
|
+
LineString = 'LineString'
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class Geometries1(BaseModel):
|
|
96
|
+
type: Type8
|
|
97
|
+
coordinates: List[Coordinate] = Field(..., min_length=2)
|
|
98
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class Type9(Enum):
|
|
102
|
+
Polygon = 'Polygon'
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class Geometries2(BaseModel):
|
|
106
|
+
type: Type9
|
|
107
|
+
coordinates: List[List[Coordinate]]
|
|
108
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class Type10(Enum):
|
|
112
|
+
MultiPoint = 'MultiPoint'
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
class Geometries3(BaseModel):
|
|
116
|
+
type: Type10
|
|
117
|
+
coordinates: List[List[float]]
|
|
118
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class Type11(Enum):
|
|
122
|
+
MultiLineString = 'MultiLineString'
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class Geometries4(BaseModel):
|
|
126
|
+
type: Type11
|
|
127
|
+
coordinates: List[List[Coordinate]]
|
|
128
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class Type12(Enum):
|
|
132
|
+
MultiPolygon = 'MultiPolygon'
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class Geometries5(BaseModel):
|
|
136
|
+
type: Type12
|
|
137
|
+
coordinates: List[List[List[Coordinate]]]
|
|
138
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
class GeoJSON7(BaseModel):
|
|
142
|
+
type: Type6
|
|
143
|
+
geometries: List[
|
|
144
|
+
Union[
|
|
145
|
+
Geometries, Geometries1, Geometries2, Geometries3, Geometries4, Geometries5
|
|
146
|
+
]
|
|
147
|
+
]
|
|
148
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
class Type13(Enum):
|
|
152
|
+
Feature = 'Feature'
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class Type14(Enum):
|
|
156
|
+
Point = 'Point'
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
class Geometry(BaseModel):
|
|
160
|
+
type: Type14
|
|
161
|
+
coordinates: List[float] = Field(..., min_length=2)
|
|
162
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class Type15(Enum):
|
|
166
|
+
LineString = 'LineString'
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class Geometry1(BaseModel):
|
|
170
|
+
type: Type15
|
|
171
|
+
coordinates: List[Coordinate] = Field(..., min_length=2)
|
|
172
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
class Type16(Enum):
|
|
176
|
+
Polygon = 'Polygon'
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
class Geometry2(BaseModel):
|
|
180
|
+
type: Type16
|
|
181
|
+
coordinates: List[List[Coordinate]]
|
|
182
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
class Type17(Enum):
|
|
186
|
+
MultiPoint = 'MultiPoint'
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
class Geometry3(BaseModel):
|
|
190
|
+
type: Type17
|
|
191
|
+
coordinates: List[List[float]]
|
|
192
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
class Type18(Enum):
|
|
196
|
+
MultiLineString = 'MultiLineString'
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
class Geometry4(BaseModel):
|
|
200
|
+
type: Type18
|
|
201
|
+
coordinates: List[List[Coordinate]]
|
|
202
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
class Type19(Enum):
|
|
206
|
+
MultiPolygon = 'MultiPolygon'
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
class Geometry5(BaseModel):
|
|
210
|
+
type: Type19
|
|
211
|
+
coordinates: List[List[List[Coordinate]]]
|
|
212
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
class Type20(Enum):
|
|
216
|
+
GeometryCollection = 'GeometryCollection'
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
class Type21(Enum):
|
|
220
|
+
Point = 'Point'
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
class Geometries6(BaseModel):
|
|
224
|
+
type: Type21
|
|
225
|
+
coordinates: List[float] = Field(..., min_length=2)
|
|
226
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
class Type22(Enum):
|
|
230
|
+
LineString = 'LineString'
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
class Geometries7(BaseModel):
|
|
234
|
+
type: Type22
|
|
235
|
+
coordinates: List[Coordinate] = Field(..., min_length=2)
|
|
236
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
class Type23(Enum):
|
|
240
|
+
Polygon = 'Polygon'
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
class Geometries8(BaseModel):
|
|
244
|
+
type: Type23
|
|
245
|
+
coordinates: List[List[Coordinate]]
|
|
246
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
class Type24(Enum):
|
|
250
|
+
MultiPoint = 'MultiPoint'
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
class Geometries9(BaseModel):
|
|
254
|
+
type: Type24
|
|
255
|
+
coordinates: List[List[float]]
|
|
256
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
class Type25(Enum):
|
|
260
|
+
MultiLineString = 'MultiLineString'
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
class Geometries10(BaseModel):
|
|
264
|
+
type: Type25
|
|
265
|
+
coordinates: List[List[Coordinate]]
|
|
266
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
class Type26(Enum):
|
|
270
|
+
MultiPolygon = 'MultiPolygon'
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
class Geometries11(BaseModel):
|
|
274
|
+
type: Type26
|
|
275
|
+
coordinates: List[List[List[Coordinate]]]
|
|
276
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
class Geometry6(BaseModel):
|
|
280
|
+
type: Type20
|
|
281
|
+
geometries: List[
|
|
282
|
+
Union[
|
|
283
|
+
Geometries6,
|
|
284
|
+
Geometries7,
|
|
285
|
+
Geometries8,
|
|
286
|
+
Geometries9,
|
|
287
|
+
Geometries10,
|
|
288
|
+
Geometries11,
|
|
289
|
+
]
|
|
290
|
+
]
|
|
291
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
class GeoJSON8(BaseModel):
|
|
295
|
+
type: Type13
|
|
296
|
+
id: Optional[Union[float, str]] = None
|
|
297
|
+
properties: Optional[Dict[str, Any]] = None
|
|
298
|
+
geometry: Optional[
|
|
299
|
+
Union[
|
|
300
|
+
Geometry, Geometry1, Geometry2, Geometry3, Geometry4, Geometry5, Geometry6
|
|
301
|
+
]
|
|
302
|
+
] = None
|
|
303
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
class Type27(Enum):
|
|
307
|
+
FeatureCollection = 'FeatureCollection'
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
class Type28(Enum):
|
|
311
|
+
Feature = 'Feature'
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
class Type29(Enum):
|
|
315
|
+
Point = 'Point'
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
class Geometry7(BaseModel):
|
|
319
|
+
type: Type29
|
|
320
|
+
coordinates: List[float] = Field(..., min_length=2)
|
|
321
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
class Type30(Enum):
|
|
325
|
+
LineString = 'LineString'
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
class Geometry8(BaseModel):
|
|
329
|
+
type: Type30
|
|
330
|
+
coordinates: List[Coordinate] = Field(..., min_length=2)
|
|
331
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
class Type31(Enum):
|
|
335
|
+
Polygon = 'Polygon'
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
class Geometry9(BaseModel):
|
|
339
|
+
type: Type31
|
|
340
|
+
coordinates: List[List[Coordinate]]
|
|
341
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
class Type32(Enum):
|
|
345
|
+
MultiPoint = 'MultiPoint'
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
class Geometry10(BaseModel):
|
|
349
|
+
type: Type32
|
|
350
|
+
coordinates: List[List[float]]
|
|
351
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
class Type33(Enum):
|
|
355
|
+
MultiLineString = 'MultiLineString'
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
class Geometry11(BaseModel):
|
|
359
|
+
type: Type33
|
|
360
|
+
coordinates: List[List[Coordinate]]
|
|
361
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
class Type34(Enum):
|
|
365
|
+
MultiPolygon = 'MultiPolygon'
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
class Geometry12(BaseModel):
|
|
369
|
+
type: Type34
|
|
370
|
+
coordinates: List[List[List[Coordinate]]]
|
|
371
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
class Type35(Enum):
|
|
375
|
+
GeometryCollection = 'GeometryCollection'
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
class Type36(Enum):
|
|
379
|
+
Point = 'Point'
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
class Geometries12(BaseModel):
|
|
383
|
+
type: Type36
|
|
384
|
+
coordinates: List[float] = Field(..., min_length=2)
|
|
385
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
class Type37(Enum):
|
|
389
|
+
LineString = 'LineString'
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
class Geometries13(BaseModel):
|
|
393
|
+
type: Type37
|
|
394
|
+
coordinates: List[Coordinate] = Field(..., min_length=2)
|
|
395
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
class Type38(Enum):
|
|
399
|
+
Polygon = 'Polygon'
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
class Geometries14(BaseModel):
|
|
403
|
+
type: Type38
|
|
404
|
+
coordinates: List[List[Coordinate]]
|
|
405
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
class Type39(Enum):
|
|
409
|
+
MultiPoint = 'MultiPoint'
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
class Geometries15(BaseModel):
|
|
413
|
+
type: Type39
|
|
414
|
+
coordinates: List[List[float]]
|
|
415
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
class Type40(Enum):
|
|
419
|
+
MultiLineString = 'MultiLineString'
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
class Geometries16(BaseModel):
|
|
423
|
+
type: Type40
|
|
424
|
+
coordinates: List[List[Coordinate]]
|
|
425
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
class Type41(Enum):
|
|
429
|
+
MultiPolygon = 'MultiPolygon'
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
class Geometries17(BaseModel):
|
|
433
|
+
type: Type41
|
|
434
|
+
coordinates: List[List[List[Coordinate]]]
|
|
435
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
class Geometry13(BaseModel):
|
|
439
|
+
type: Type35
|
|
440
|
+
geometries: List[
|
|
441
|
+
Union[
|
|
442
|
+
Geometries12,
|
|
443
|
+
Geometries13,
|
|
444
|
+
Geometries14,
|
|
445
|
+
Geometries15,
|
|
446
|
+
Geometries16,
|
|
447
|
+
Geometries17,
|
|
448
|
+
]
|
|
449
|
+
]
|
|
450
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
class Feature(BaseModel):
|
|
454
|
+
type: Type28
|
|
455
|
+
id: Optional[Union[float, str]] = None
|
|
456
|
+
properties: Optional[Dict[str, Any]] = None
|
|
457
|
+
geometry: Optional[
|
|
458
|
+
Union[
|
|
459
|
+
Geometry7,
|
|
460
|
+
Geometry8,
|
|
461
|
+
Geometry9,
|
|
462
|
+
Geometry10,
|
|
463
|
+
Geometry11,
|
|
464
|
+
Geometry12,
|
|
465
|
+
Geometry13,
|
|
466
|
+
]
|
|
467
|
+
] = None
|
|
468
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
class GeoJSON9(BaseModel):
|
|
472
|
+
type: Type27
|
|
473
|
+
features: List[Feature]
|
|
474
|
+
bbox: Optional[List[float]] = Field(None, min_length=4)
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
class GeoJSON(
|
|
478
|
+
RootModel[
|
|
479
|
+
Union[
|
|
480
|
+
GeoJSON1,
|
|
481
|
+
GeoJSON2,
|
|
482
|
+
GeoJSON3,
|
|
483
|
+
GeoJSON4,
|
|
484
|
+
GeoJSON5,
|
|
485
|
+
GeoJSON6,
|
|
486
|
+
GeoJSON7,
|
|
487
|
+
GeoJSON8,
|
|
488
|
+
GeoJSON9,
|
|
489
|
+
]
|
|
490
|
+
]
|
|
491
|
+
):
|
|
492
|
+
root: Union[
|
|
493
|
+
GeoJSON1,
|
|
494
|
+
GeoJSON2,
|
|
495
|
+
GeoJSON3,
|
|
496
|
+
GeoJSON4,
|
|
497
|
+
GeoJSON5,
|
|
498
|
+
GeoJSON6,
|
|
499
|
+
GeoJSON7,
|
|
500
|
+
GeoJSON8,
|
|
501
|
+
GeoJSON9,
|
|
502
|
+
] = Field(..., title='GeoJSON')
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: geojsonsource.json
|
|
3
|
+
# timestamp: 2025-05-08T01:23:34+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
+
|
|
11
|
+
from . import geojson
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class IGeoJSONSource(BaseModel):
|
|
15
|
+
model_config = ConfigDict(
|
|
16
|
+
extra='forbid',
|
|
17
|
+
)
|
|
18
|
+
path: Optional[str] = Field(None, description='The local path to a GeoJSON file')
|
|
19
|
+
data: Optional[geojson.GeoJSON] = Field(None, description='The GeoJSON data')
|
|
20
|
+
valid: Optional[bool] = Field(None, description='Whether the data are valid or not')
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: processing/buffer.json
|
|
3
|
+
# timestamp: 2025-05-08T01:23:34+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IBuffer(BaseModel):
|
|
13
|
+
model_config = ConfigDict(
|
|
14
|
+
extra='forbid',
|
|
15
|
+
)
|
|
16
|
+
inputLayer: str = Field(..., description='The input layer for buffering.')
|
|
17
|
+
bufferDistance: float = Field(
|
|
18
|
+
...,
|
|
19
|
+
description='The distance used for buffering the geometry (in projection units).',
|
|
20
|
+
)
|
|
21
|
+
embedOutputLayer: Optional[bool] = Field(
|
|
22
|
+
True, title='Embed output buffered layer in file'
|
|
23
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: processing/dissolve.json
|
|
3
|
+
# timestamp: 2025-05-08T01:23:34+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IDissolve(BaseModel):
|
|
13
|
+
model_config = ConfigDict(
|
|
14
|
+
extra='forbid',
|
|
15
|
+
)
|
|
16
|
+
inputLayer: str = Field(
|
|
17
|
+
..., description='The input layer for the dissolve operation.'
|
|
18
|
+
)
|
|
19
|
+
dissolveField: str = Field(
|
|
20
|
+
..., description='The field based on which geometries will be dissolved.'
|
|
21
|
+
)
|
|
22
|
+
embedOutputLayer: Optional[bool] = Field(
|
|
23
|
+
True, title='Embed output dissolved layer in file'
|
|
24
|
+
)
|