jupytergis-lab 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_lab/_version.py +1 -1
- jupytergis_lab/notebook/explore.py +4 -4
- jupytergis_lab/notebook/gis_document.py +1 -1
- {jupytergis_lab-0.4.5.data → jupytergis_lab-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/package.json +4 -4
- jupytergis_lab-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/432.c9ac1551a28b0189d4b3.js +1 -0
- jupytergis_lab-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/484.1e1e78276dfe49d0de97.js +1 -0
- jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/remoteEntry.4b4db2d5f1ccde6ba0de.js → jupytergis_lab-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/remoteEntry.5cdf3f10821b0262016a.js +1 -1
- {jupytergis_lab-0.4.5.data → jupytergis_lab-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/third-party-licenses.json +1 -1
- {jupytergis_lab-0.4.5.dist-info → jupytergis_lab-0.5.0.dist-info}/METADATA +1 -1
- jupytergis_lab-0.5.0.dist-info/RECORD +21 -0
- jupytergis_lab/notebook/objects/__init__.py +0 -22
- jupytergis_lab/notebook/objects/_schema/__init__.py +0 -3
- jupytergis_lab/notebook/objects/_schema/export/__init__.py +0 -3
- jupytergis_lab/notebook/objects/_schema/export/exportGeojson.py +0 -18
- jupytergis_lab/notebook/objects/_schema/export/exportGeotiff.py +0 -28
- jupytergis_lab/notebook/objects/_schema/geojson.py +0 -502
- jupytergis_lab/notebook/objects/_schema/geojsonsource.py +0 -20
- jupytergis_lab/notebook/objects/_schema/processing/__init__.py +0 -3
- jupytergis_lab/notebook/objects/_schema/processing/buffer.py +0 -23
- jupytergis_lab/notebook/objects/_schema/processing/dissolve.py +0 -24
- jupytergis_lab/notebook/objects/_schema/project/__init__.py +0 -3
- jupytergis_lab/notebook/objects/_schema/project/jgis.py +0 -135
- jupytergis_lab/notebook/objects/_schema/project/layers/__init__.py +0 -3
- jupytergis_lab/notebook/objects/_schema/project/layers/heatmapLayer.py +0 -30
- jupytergis_lab/notebook/objects/_schema/project/layers/hillshadeLayer.py +0 -19
- jupytergis_lab/notebook/objects/_schema/project/layers/imageLayer.py +0 -19
- jupytergis_lab/notebook/objects/_schema/project/layers/rasterlayer.py +0 -19
- jupytergis_lab/notebook/objects/_schema/project/layers/vectorTileLayer.py +0 -30
- jupytergis_lab/notebook/objects/_schema/project/layers/vectorlayer.py +0 -64
- jupytergis_lab/notebook/objects/_schema/project/layers/webGlLayer.py +0 -57
- jupytergis_lab/notebook/objects/_schema/project/sources/__init__.py +0 -3
- jupytergis_lab/notebook/objects/_schema/project/sources/geoTiffSource.py +0 -27
- jupytergis_lab/notebook/objects/_schema/project/sources/imageSource.py +0 -29
- jupytergis_lab/notebook/objects/_schema/project/sources/rasterDemSource.py +0 -23
- jupytergis_lab/notebook/objects/_schema/project/sources/rastersource.py +0 -36
- jupytergis_lab/notebook/objects/_schema/project/sources/shapefileSource.py +0 -31
- jupytergis_lab/notebook/objects/_schema/project/sources/vectortilesource.py +0 -27
- jupytergis_lab/notebook/objects/_schema/project/sources/videoSource.py +0 -30
- jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/432.bb0ae93e813eefae7236.js +0 -1
- jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/484.8ba570bf2020ec490e49.js +0 -1
- jupytergis_lab-0.4.5.dist-info/RECORD +0 -49
- {jupytergis_lab-0.4.5.data → jupytergis_lab-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/install.json +0 -0
- {jupytergis_lab-0.4.5.data → jupytergis_lab-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/234.c2d7ed33ae9ca2244b0d.js +0 -0
- {jupytergis_lab-0.4.5.data → jupytergis_lab-0.5.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/style.js +0 -0
- {jupytergis_lab-0.4.5.dist-info → jupytergis_lab-0.5.0.dist-info}/WHEEL +0 -0
- {jupytergis_lab-0.4.5.dist-info → jupytergis_lab-0.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/layers/heatmapLayer.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import List, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class SymbologyState(BaseModel):
|
|
13
|
-
renderType: str
|
|
14
|
-
colorRamp: Optional[str] = 'cool'
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class IHeatmapLayer(BaseModel):
|
|
18
|
-
model_config = ConfigDict(
|
|
19
|
-
extra='forbid',
|
|
20
|
-
)
|
|
21
|
-
source: str = Field(..., description='The id of the source')
|
|
22
|
-
opacity: Optional[confloat(ge=0.0, le=1.0, multiple_of=0.1)] = Field(
|
|
23
|
-
1, description='The opacity of the source'
|
|
24
|
-
)
|
|
25
|
-
radius: float = Field(..., description='Radius size in pixels')
|
|
26
|
-
blur: float = Field(..., description='Blur size in pixels')
|
|
27
|
-
color: Optional[List[str]] = ['#00f', '#0ff', '#0f0', '#ff0', '#f00']
|
|
28
|
-
symbologyState: Optional[SymbologyState] = Field(
|
|
29
|
-
None, description='The state of the symbology panel options'
|
|
30
|
-
)
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/layers/hillshadeLayer.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+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 IHillshadeLayer(BaseModel):
|
|
13
|
-
model_config = ConfigDict(
|
|
14
|
-
extra='forbid',
|
|
15
|
-
)
|
|
16
|
-
source: str = Field(..., description='The id of the source')
|
|
17
|
-
shadowColor: Optional[str] = Field(
|
|
18
|
-
'#473B24', description='The color of the the shadows'
|
|
19
|
-
)
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/layers/imageLayer.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class IImageLayer(BaseModel):
|
|
13
|
-
model_config = ConfigDict(
|
|
14
|
-
extra='forbid',
|
|
15
|
-
)
|
|
16
|
-
source: str = Field(..., description='The id of the source')
|
|
17
|
-
opacity: Optional[confloat(ge=0.0, le=1.0, multiple_of=0.1)] = Field(
|
|
18
|
-
1, description='The opacity of the source'
|
|
19
|
-
)
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/layers/rasterlayer.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class IRasterLayer(BaseModel):
|
|
13
|
-
model_config = ConfigDict(
|
|
14
|
-
extra='forbid',
|
|
15
|
-
)
|
|
16
|
-
source: str = Field(..., description='The id of the source')
|
|
17
|
-
opacity: Optional[confloat(ge=0.0, le=1.0, multiple_of=0.1)] = Field(
|
|
18
|
-
1, description='The opacity of the source'
|
|
19
|
-
)
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/layers/vectorTileLayer.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import Any, Dict, Optional
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class Type(Enum):
|
|
14
|
-
circle = 'circle'
|
|
15
|
-
fill = 'fill'
|
|
16
|
-
line = 'line'
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class IVectorTileLayer(BaseModel):
|
|
20
|
-
model_config = ConfigDict(
|
|
21
|
-
extra='forbid',
|
|
22
|
-
)
|
|
23
|
-
source: str = Field(..., description='The id of the source')
|
|
24
|
-
type: Type = Field(..., description='The type of vector layer')
|
|
25
|
-
color: Optional[Dict[str, Any]] = Field(
|
|
26
|
-
None, description='The color of the the object'
|
|
27
|
-
)
|
|
28
|
-
opacity: Optional[confloat(ge=0.0, le=1.0, multiple_of=0.1)] = Field(
|
|
29
|
-
1, description='The opacity of the the object'
|
|
30
|
-
)
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/layers/vectorlayer.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import Any, Dict, Optional
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class Type(Enum):
|
|
14
|
-
circle = 'circle'
|
|
15
|
-
fill = 'fill'
|
|
16
|
-
line = 'line'
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class RenderType(Enum):
|
|
20
|
-
Single_Symbol = 'Single Symbol'
|
|
21
|
-
Graduated = 'Graduated'
|
|
22
|
-
Categorized = 'Categorized'
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class Method(Enum):
|
|
26
|
-
color = 'color'
|
|
27
|
-
radius = 'radius'
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class Mode(Enum):
|
|
31
|
-
quantile = 'quantile'
|
|
32
|
-
equal_interval = 'equal interval'
|
|
33
|
-
jenks = 'jenks'
|
|
34
|
-
pretty = 'pretty'
|
|
35
|
-
logarithmic = 'logarithmic'
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class SymbologyState(BaseModel):
|
|
39
|
-
model_config = ConfigDict(
|
|
40
|
-
extra='forbid',
|
|
41
|
-
)
|
|
42
|
-
renderType: RenderType
|
|
43
|
-
value: Optional[str] = None
|
|
44
|
-
method: Optional[Method] = None
|
|
45
|
-
colorRamp: Optional[str] = 'cool'
|
|
46
|
-
nClasses: Optional[str] = '9'
|
|
47
|
-
mode: Optional[Mode] = 'equal interval'
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class IVectorLayer(BaseModel):
|
|
51
|
-
model_config = ConfigDict(
|
|
52
|
-
extra='forbid',
|
|
53
|
-
)
|
|
54
|
-
source: str = Field(..., description='The id of the source')
|
|
55
|
-
type: Type = Field(..., description='The type of vector layer')
|
|
56
|
-
color: Optional[Dict[str, Any]] = Field(
|
|
57
|
-
None, description='The color of the the object'
|
|
58
|
-
)
|
|
59
|
-
opacity: Optional[confloat(ge=0.0, le=1.0, multiple_of=0.1)] = Field(
|
|
60
|
-
1, description='The opacity of the the object'
|
|
61
|
-
)
|
|
62
|
-
symbologyState: Optional[SymbologyState] = Field(
|
|
63
|
-
None, description='The state of the symbology panel options'
|
|
64
|
-
)
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/layers/webGlLayer.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Optional, Union
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class Interpolation(Enum):
|
|
14
|
-
discrete = 'discrete'
|
|
15
|
-
linear = 'linear'
|
|
16
|
-
exact = 'exact'
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class Mode(Enum):
|
|
20
|
-
continuous = 'continuous'
|
|
21
|
-
equal_interval = 'equal interval'
|
|
22
|
-
quantile = 'quantile'
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class SymbologyState(BaseModel):
|
|
26
|
-
model_config = ConfigDict(
|
|
27
|
-
extra='forbid',
|
|
28
|
-
)
|
|
29
|
-
renderType: str
|
|
30
|
-
band: Optional[float] = None
|
|
31
|
-
redBand: Optional[float] = None
|
|
32
|
-
greenBand: Optional[float] = None
|
|
33
|
-
blueBand: Optional[float] = None
|
|
34
|
-
interpolation: Optional[Interpolation] = None
|
|
35
|
-
colorRamp: Optional[str] = 'cool'
|
|
36
|
-
nClasses: Optional[str] = '9'
|
|
37
|
-
mode: Optional[Mode] = 'equal interval'
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
class IWebGlLayer(BaseModel):
|
|
41
|
-
model_config = ConfigDict(
|
|
42
|
-
extra='forbid',
|
|
43
|
-
)
|
|
44
|
-
source: str = Field(..., description='The id of the source')
|
|
45
|
-
opacity: Optional[confloat(ge=0.0, le=1.0, multiple_of=0.1)] = Field(
|
|
46
|
-
1, description='The opacity of the source'
|
|
47
|
-
)
|
|
48
|
-
color: Optional[
|
|
49
|
-
Union[
|
|
50
|
-
str,
|
|
51
|
-
float,
|
|
52
|
-
List[Union[str, float, List[Union[float, str, List[Union[float, str]]]]]],
|
|
53
|
-
]
|
|
54
|
-
] = Field(None, description='The color of the the object')
|
|
55
|
-
symbologyState: Optional[SymbologyState] = Field(
|
|
56
|
-
None, description='The state of the symbology panel options'
|
|
57
|
-
)
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/sources/geoTiffSource.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import List, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Url(BaseModel):
|
|
13
|
-
url: Optional[str] = None
|
|
14
|
-
min: Optional[float] = None
|
|
15
|
-
max: Optional[float] = None
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class IGeoTiffSource(BaseModel):
|
|
19
|
-
model_config = ConfigDict(
|
|
20
|
-
extra='forbid',
|
|
21
|
-
)
|
|
22
|
-
urls: List[Url] = Field(..., description='URLs', min_length=1)
|
|
23
|
-
normalize: Optional[bool] = True
|
|
24
|
-
wrapX: Optional[bool] = False
|
|
25
|
-
interpolate: Optional[bool] = Field(
|
|
26
|
-
False, description='Interpolate between grid cells when overzooming?'
|
|
27
|
-
)
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/sources/imageSource.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import List, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field, RootModel
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Coordinate(RootModel[List[float]]):
|
|
13
|
-
root: List[float]
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class IImageSource(BaseModel):
|
|
17
|
-
model_config = ConfigDict(
|
|
18
|
-
extra='forbid',
|
|
19
|
-
)
|
|
20
|
-
path: str = Field(..., description='Path that points to an image')
|
|
21
|
-
coordinates: List[Coordinate] = Field(
|
|
22
|
-
...,
|
|
23
|
-
description='Corners of image specified in longitude, latitude pairs',
|
|
24
|
-
max_length=4,
|
|
25
|
-
min_length=4,
|
|
26
|
-
)
|
|
27
|
-
interpolate: Optional[bool] = Field(
|
|
28
|
-
False, description='Interpolate between grid cells when overzooming?'
|
|
29
|
-
)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/sources/rasterDemSource.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Dict, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class IRasterDemSource(BaseModel):
|
|
13
|
-
model_config = ConfigDict(
|
|
14
|
-
extra='forbid',
|
|
15
|
-
)
|
|
16
|
-
url: str = Field(..., description='The url to the tile provider')
|
|
17
|
-
attribution: Optional[str] = Field(
|
|
18
|
-
None, description='The attribution for the raster-dem source'
|
|
19
|
-
)
|
|
20
|
-
urlParameters: Optional[Dict[str, str]] = None
|
|
21
|
-
interpolate: Optional[bool] = Field(
|
|
22
|
-
False, description='Interpolate between grid cells when overzooming?'
|
|
23
|
-
)
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/sources/rastersource.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Dict, List, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class IRasterSource(BaseModel):
|
|
13
|
-
model_config = ConfigDict(
|
|
14
|
-
extra='forbid',
|
|
15
|
-
)
|
|
16
|
-
url: str = Field(..., description='The url to the tile provider')
|
|
17
|
-
minZoom: confloat(ge=0.0, le=24.0) = Field(
|
|
18
|
-
..., description='The minimum zoom level for the raster source'
|
|
19
|
-
)
|
|
20
|
-
maxZoom: confloat(ge=0.0, le=24.0) = Field(
|
|
21
|
-
..., description='The maximum zoom level for the raster source'
|
|
22
|
-
)
|
|
23
|
-
attribution: Optional[str] = Field(
|
|
24
|
-
'', description='The attribution for the raster source'
|
|
25
|
-
)
|
|
26
|
-
htmlAttribution: Optional[str] = Field(
|
|
27
|
-
'', description='The html attribution for the raster source'
|
|
28
|
-
)
|
|
29
|
-
provider: Optional[str] = Field('', description='The map provider')
|
|
30
|
-
bounds: Optional[List[List[float]]] = Field(
|
|
31
|
-
[], description='The bounds of the source'
|
|
32
|
-
)
|
|
33
|
-
urlParameters: Optional[Dict[str, str]] = {}
|
|
34
|
-
interpolate: Optional[bool] = Field(
|
|
35
|
-
False, description='Interpolate between grid cells when overzooming?'
|
|
36
|
-
)
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/sources/shapefileSource.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Dict, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class IShapefileSource(BaseModel):
|
|
13
|
-
model_config = ConfigDict(
|
|
14
|
-
extra='forbid',
|
|
15
|
-
)
|
|
16
|
-
path: str = Field(
|
|
17
|
-
..., description='The path to the shapefile (.shp, .zip, or folder URL).'
|
|
18
|
-
)
|
|
19
|
-
attribution: Optional[str] = Field(
|
|
20
|
-
'', description='The attribution for the shapefile source.'
|
|
21
|
-
)
|
|
22
|
-
projection: Optional[str] = Field(
|
|
23
|
-
'WGS84', description='The projection information for the shapefile (optional).'
|
|
24
|
-
)
|
|
25
|
-
encoding: Optional[str] = Field(
|
|
26
|
-
'UTF-8', description="The encoding used for the shapefile's DBF (optional)."
|
|
27
|
-
)
|
|
28
|
-
additionalFiles: Optional[Dict[str, str]] = Field(
|
|
29
|
-
{},
|
|
30
|
-
description='Additional files associated with the shapefile (e.g., .dbf, .prj, .cpg).',
|
|
31
|
-
)
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/sources/vectortilesource.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Dict, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class IVectorTileSource(BaseModel):
|
|
13
|
-
model_config = ConfigDict(
|
|
14
|
-
extra='forbid',
|
|
15
|
-
)
|
|
16
|
-
url: str = Field(..., description='The url to the tile provider')
|
|
17
|
-
minZoom: confloat(ge=0.0, le=24.0) = Field(
|
|
18
|
-
..., description='The minimum zoom level for the vector source'
|
|
19
|
-
)
|
|
20
|
-
maxZoom: confloat(ge=0.0, le=24.0) = Field(
|
|
21
|
-
..., description='The maximum zoom level for the vector source'
|
|
22
|
-
)
|
|
23
|
-
attribution: Optional[str] = Field(
|
|
24
|
-
None, description='The attribution for the vector source'
|
|
25
|
-
)
|
|
26
|
-
provider: Optional[str] = Field(None, description='The map provider')
|
|
27
|
-
urlParameters: Optional[Dict[str, str]] = None
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: project/sources/videoSource.json
|
|
3
|
-
# timestamp: 2025-04-25T14:14:35+00:00
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import List
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, ConfigDict, Field, RootModel
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Coordinate(RootModel[List[float]]):
|
|
13
|
-
root: List[float]
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class IVideoSource(BaseModel):
|
|
17
|
-
model_config = ConfigDict(
|
|
18
|
-
extra='forbid',
|
|
19
|
-
)
|
|
20
|
-
urls: List[str] = Field(
|
|
21
|
-
...,
|
|
22
|
-
description='URLs to video content in order of preferred format',
|
|
23
|
-
min_length=1,
|
|
24
|
-
)
|
|
25
|
-
coordinates: List[Coordinate] = Field(
|
|
26
|
-
...,
|
|
27
|
-
description='Corners of video specified in longitude, latitude pairs',
|
|
28
|
-
max_length=4,
|
|
29
|
-
min_length=4,
|
|
30
|
-
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_jupytergis_jupytergis_lab=self.webpackChunk_jupytergis_jupytergis_lab||[]).push([[432],{4:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,':root,\n:host {\n --ol-background-color: white;\n --ol-accent-background-color: #F5F5F5;\n --ol-subtle-background-color: rgba(128, 128, 128, 0.25);\n --ol-partial-background-color: rgba(255, 255, 255, 0.75);\n --ol-foreground-color: #333333;\n --ol-subtle-foreground-color: #666666;\n --ol-brand-color: #00AAFF;\n}\n\n.ol-box {\n box-sizing: border-box;\n border-radius: 2px;\n border: 1.5px solid var(--ol-background-color);\n background-color: var(--ol-partial-background-color);\n}\n\n.ol-mouse-position {\n top: 8px;\n right: 8px;\n position: absolute;\n}\n\n.ol-scale-line {\n background: var(--ol-partial-background-color);\n border-radius: 4px;\n bottom: 8px;\n left: 8px;\n padding: 2px;\n position: absolute;\n}\n\n.ol-scale-line-inner {\n border: 1px solid var(--ol-subtle-foreground-color);\n border-top: none;\n color: var(--ol-foreground-color);\n font-size: 10px;\n text-align: center;\n margin: 1px;\n will-change: contents, width;\n transition: all 0.25s;\n}\n\n.ol-scale-bar {\n position: absolute;\n bottom: 8px;\n left: 8px;\n}\n\n.ol-scale-bar-inner {\n display: flex;\n}\n\n.ol-scale-step-marker {\n width: 1px;\n height: 15px;\n background-color: var(--ol-foreground-color);\n float: right;\n z-index: 10;\n}\n\n.ol-scale-step-text {\n position: absolute;\n bottom: -5px;\n font-size: 10px;\n z-index: 11;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-text {\n position: absolute;\n font-size: 12px;\n text-align: center;\n bottom: 25px;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-singlebar {\n position: relative;\n height: 10px;\n z-index: 9;\n box-sizing: border-box;\n border: 1px solid var(--ol-foreground-color);\n}\n\n.ol-scale-singlebar-even {\n background-color: var(--ol-subtle-foreground-color);\n}\n\n.ol-scale-singlebar-odd {\n background-color: var(--ol-background-color);\n}\n\n.ol-unsupported {\n display: none;\n}\n\n.ol-viewport,\n.ol-unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.ol-viewport canvas {\n all: unset;\n overflow: hidden;\n}\n\n.ol-viewport {\n touch-action: pan-x pan-y;\n}\n\n.ol-selectable {\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text;\n}\n\n.ol-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n\n.ol-grab {\n cursor: move;\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n\n.ol-control {\n position: absolute;\n background-color: var(--ol-subtle-background-color);\n border-radius: 4px;\n}\n\n.ol-zoom {\n top: .5em;\n left: .5em;\n}\n\n.ol-rotate {\n top: .5em;\n right: .5em;\n transition: opacity .25s linear, visibility 0s linear;\n}\n\n.ol-rotate.ol-hidden {\n opacity: 0;\n visibility: hidden;\n transition: opacity .25s linear, visibility 0s linear .25s;\n}\n\n.ol-zoom-extent {\n top: 4.643em;\n left: .5em;\n}\n\n.ol-full-screen {\n right: .5em;\n top: .5em;\n}\n\n.ol-control button {\n display: block;\n margin: 1px;\n padding: 0;\n color: var(--ol-subtle-foreground-color);\n font-weight: bold;\n text-decoration: none;\n font-size: inherit;\n text-align: center;\n height: 1.375em;\n width: 1.375em;\n line-height: .4em;\n background-color: var(--ol-background-color);\n border: none;\n border-radius: 2px;\n}\n\n.ol-control button::-moz-focus-inner {\n border: none;\n padding: 0;\n}\n\n.ol-zoom-extent button {\n line-height: 1.4em;\n}\n\n.ol-compass {\n display: block;\n font-weight: normal;\n will-change: transform;\n}\n\n.ol-touch .ol-control button {\n font-size: 1.5em;\n}\n\n.ol-touch .ol-zoom-extent {\n top: 5.5em;\n}\n\n.ol-control button:hover,\n.ol-control button:focus {\n text-decoration: none;\n outline: 1px solid var(--ol-subtle-foreground-color);\n color: var(--ol-foreground-color);\n}\n\n.ol-zoom .ol-zoom-in {\n border-radius: 2px 2px 0 0;\n}\n\n.ol-zoom .ol-zoom-out {\n border-radius: 0 0 2px 2px;\n}\n\n.ol-attribution {\n text-align: right;\n bottom: .5em;\n right: .5em;\n max-width: calc(100% - 1.3em);\n display: flex;\n flex-flow: row-reverse;\n align-items: center;\n}\n\n.ol-attribution a {\n color: var(--ol-subtle-foreground-color);\n text-decoration: none;\n}\n\n.ol-attribution ul {\n margin: 0;\n padding: 1px .5em;\n color: var(--ol-foreground-color);\n text-shadow: 0 0 2px var(--ol-background-color);\n font-size: 12px;\n}\n\n.ol-attribution li {\n display: inline;\n list-style: none;\n}\n\n.ol-attribution li:not(:last-child):after {\n content: " ";\n}\n\n.ol-attribution img {\n max-height: 2em;\n max-width: inherit;\n vertical-align: middle;\n}\n\n.ol-attribution button {\n flex-shrink: 0;\n}\n\n.ol-attribution.ol-collapsed ul {\n display: none;\n}\n\n.ol-attribution:not(.ol-collapsed) {\n background: var(--ol-partial-background-color);\n}\n\n.ol-attribution.ol-uncollapsible {\n bottom: 0;\n right: 0;\n border-radius: 4px 0 0;\n}\n\n.ol-attribution.ol-uncollapsible img {\n margin-top: -.2em;\n max-height: 1.6em;\n}\n\n.ol-attribution.ol-uncollapsible button {\n display: none;\n}\n\n.ol-zoomslider {\n top: 4.5em;\n left: .5em;\n height: 200px;\n}\n\n.ol-zoomslider button {\n position: relative;\n height: 10px;\n}\n\n.ol-touch .ol-zoomslider {\n top: 5.5em;\n}\n\n.ol-overviewmap {\n left: 0.5em;\n bottom: 0.5em;\n}\n\n.ol-overviewmap.ol-uncollapsible {\n bottom: 0;\n left: 0;\n border-radius: 0 4px 0 0;\n}\n\n.ol-overviewmap .ol-overviewmap-map,\n.ol-overviewmap button {\n display: block;\n}\n\n.ol-overviewmap .ol-overviewmap-map {\n border: 1px solid var(--ol-subtle-foreground-color);\n height: 150px;\n width: 150px;\n}\n\n.ol-overviewmap:not(.ol-collapsed) button {\n bottom: 0;\n left: 0;\n position: absolute;\n}\n\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\n.ol-overviewmap.ol-uncollapsible button {\n display: none;\n}\n\n.ol-overviewmap:not(.ol-collapsed) {\n background: var(--ol-subtle-background-color);\n}\n\n.ol-overviewmap-box {\n border: 1.5px dotted var(--ol-subtle-foreground-color);\n}\n\n.ol-overviewmap .ol-overviewmap-box:hover {\n cursor: move;\n}\n\n.ol-overviewmap .ol-viewport:hover {\n cursor: pointer;\n}\n',""]);const l=a},51:n=>{n.exports=function(n){var o=document.createElement("style");return n.setAttributes(o,n.attributes),n.insert(o,n.options),o}},62:n=>{n.exports=function(n,o){return o||(o={}),n?(n=String(n.__esModule?n.default:n),/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),o.hash&&(n+=o.hash),/["'() \t\n]|(%20)/.test(n)||o.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n):n}},79:(n,o,e)=>{e.d(o,{A:()=>m});var r=e(758),t=e.n(r),i=e(935),a=e.n(i),l=e(564),p=e(365),s=e(633),d=e(606),c=e(781),g=e(367),u=e(301),b=e(4),f=a()(t());f.i(l.A),f.i(p.A),f.i(s.A),f.i(d.A),f.i(c.A),f.i(g.A),f.i(u.A),f.i(b.A),f.push([n.id,"/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|---------------------------------------------------------------------------- */\n\n.jGIS-Toolbar-GroupName {\n font-size: var(--jp-ui-font-size0);\n padding-left: 3px;\n}\n\n/* Overwrite forms CSS */\n.jGIS-property-panel .array-item-list {\n display: flex;\n gap: 1rem;\n}\n\n.jGIS-property-panel .rjsf .array-item:not(:last-child) {\n border-bottom: none;\n margin-bottom: unset;\n padding-bottom: unset;\n}\n\n.jGIS-property-panel .rjsf .array-item {\n flex: 1 0 0%;\n align-items: center;\n}\n\n.jGIS-property-panel .rjsf fieldset fieldset {\n padding-left: unset;\n border-left: none;\n}\n\n.jGIS-property-panel .rjsf .array-item-list:has(.field-array) {\n flex-direction: column;\n}\n\n.jp-gis-text-label {\n margin: 0;\n padding: 0;\n font-weight: bold;\n display: block;\n position: relative;\n}\n\n/*This is being upstreamed. Will remove once upstream's been fixed.*/\nbutton.jp-mod-styled.jp-mod-accept {\n background-color: var(--jp-brand-color1) !important;\n}\n\nbutton.jp-mod-styled.jp-mod-reject {\n background-color: var(--jp-layout-color4) !important;\n}\n",""]);const m=f},128:n=>{var o={};n.exports=function(n,e){var r=function(n){if(void 0===o[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}o[n]=e}return o[n]}(n);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(e)}},248:n=>{n.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 viewBox=%270 0 20 20%27%3e %3cg class=%27jp-icon3%27 fill=%27%23616161%27 shape-rendering=%27geometricPrecision%27%3e %3cpolygon class=%27st1%27 points=%279.9%2c13.6 3.6%2c7.4 4.4%2c6.6 9.9%2c12.2 15.4%2c6.7 16.1%2c7.4 %27/%3e %3c/g%3e %3c/svg%3e"},296:(n,o,e)=>{e.d(o,{A:()=>u});var r=e(758),t=e.n(r),i=e(935),a=e.n(i),l=e(997),p=e(62),s=e.n(p),d=new URL(e(248),e.b),c=a()(t());c.i(l.A);var g=s()(d);c.push([n.id,`.jGIS-Spinner {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n outline: none;\n background: #00000075;\n}\n\n.jGIS-SpinnerContent {\n border: solid #f376269e;\n margin: 50px auto;\n text-indent: -9999em;\n width: 6em;\n height: 6em;\n border-radius: 50%;\n position: relative;\n animation:\n load3 1s infinite linear,\n fadeIn 1s;\n}\n\n.jGIS-SpinnerContent:before {\n width: 50%;\n height: 50%;\n background: #f3762605;\n border-radius: 100% 0 100% 0;\n box-shadow: inset 6px 5px 0 1px #f37626;\n position: absolute;\n top: 0;\n left: 0;\n content: '';\n}\n\n.jGIS-SpinnerContent:after {\n width: 75%;\n height: 75%;\n border-radius: 50%;\n content: '';\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n\n.jGIS-camera-client {\n width: 15px;\n height: 15px;\n position: absolute;\n z-index: 10;\n background-color: var(--jp-private-notebook-active-color);\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.jGIS-control-panel {\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n height: 100%;\n}\n\n.jGIS-control-panel * {\n font-family: var(--jp-ui-font-family);\n}\n\n.jGIS-control-panel-title {\n border-bottom: solid var(--jp-border-width) var(--jp-border-color1);\n box-shadow: var(--jp-toolbar-box-shadow);\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: 24px;\n height: var(--jp-debugger-header-height);\n background-color: var(--jp-layout-color2);\n}\n\n.jGIS-control-panel-title h2 {\n text-transform: uppercase;\n font-weight: 600;\n font-size: var(--jp-ui-font-size0);\n color: var(--jp-ui-font-color1);\n padding-left: 8px;\n padding-right: 4px;\n}\n\n.jGIS-sidepanel-widget {\n overflow: auto;\n height: 100%;\n}\n\n.jGIS-sidebar-treepanel {\n display: flex;\n flex-direction: column;\n min-height: 50px;\n padding-top: 3px;\n}\n\n.jGIS-sidebar-propertiespanel {\n display: flex;\n flex-direction: column;\n min-height: 50px;\n padding-top: 3px;\n}\n\n.jGIS-treeview-wrapper {\n overflow: auto;\n height: 100%;\n}\n\n.jGIS-treeview-wrapper > div {\n padding: 0 !important;\n}\n/* TODO: More robust selector */\n.jGIS-treeview-wrapper div[style*='align-items: center;']:first-of-type {\n flex-grow: 1;\n}\n\n.jGIS-control-panel-tree {\n flex-grow: 1;\n}\n\n.jGIS-sidebar-propertiespanel > div {\n overflow: auto;\n}\n\n.jGIS-property-outer {\n padding: 10px;\n flex-grow: 1;\n overflow: auto;\n}\n\n.jGIS-property-buttons {\n display: flex;\n justify-content: end;\n padding: 10px;\n}\n\n.jGIS-property-panel {\n display: flex;\n flex-flow: column;\n height: 100%;\n overflow: hidden;\n}\n\n.jGIS-hidden-field {\n display: none;\n}\n\ndiv.field.field-array > label + span {\n display: none;\n}\n\n.jGIS-layer-CreationFormDialog .jp-Dialog-content {\n width: 60%;\n}\n\n.jGIS-layer-CreationFormDialog form {\n padding: 10px;\n}\n\n/* TODO Upstream this to jupyterlab jrfs */\n.jGIS-property-panel .rjsf .control-label,\n.jGIS-property-panel .rjsf legend {\n position: inherit;\n text-transform: capitalize;\n}\n\ndiv.jGIS-toolbar-widget > div.jp-Toolbar-item:last-child {\n flex-grow: 1;\n}\n\n.jGIS-toolbar-usertoolbar {\n flex-grow: 1;\n display: flex;\n flex-direction: row-reverse;\n}\n.jGIS-toolbar-react-widget {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-grow: 1;\n}\n\n.jGIS-Toolbar-Separator {\n min-height: 25px;\n width: var(--jp-border-width);\n background-color: var(--jp-border-color1);\n padding-left: 0px !important;\n padding-right: 0px !important;\n}\n\n.jGIS-toolbar-usertoolbar .jp-MenuBar-anonymousIcon,\n.jGIS-toolbar-usertoolbar .jp-MenuBar-imageIcon {\n position: unset !important;\n margin-right: 2px;\n height: 22px;\n box-sizing: border-box;\n}\n\n.jGIS-toolbar-usertoolbar .jp-MenuBar-anonymousIcon.selected,\n.jGIS-toolbar-usertoolbar .jp-MenuBar-imageIcon.selected {\n border: solid 1.5px red;\n}\n\n.jGIS-Mainview-Container {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.jGIS-Mainview {\n width: 100%;\n box-sizing: border-box;\n flex: 1;\n}\n\n.jGIS-Popup-Wrapper {\n position: absolute;\n opacity: 1;\n transition: opacity 0.1s linear 0.15s;\n}\n\n.jGIS-Annotation {\n z-index: 1;\n margin-left: 1px;\n margin-top: 1px;\n padding: 1em;\n color: var(--jp-ui-font-color0);\n background: var(--jp-layout-color1);\n border-radius: 0.5em;\n font-size: 12px;\n line-height: 1.2;\n transition: opacity 0.5s;\n}\n\n.jGIS-FloatingAnnotation {\n position: absolute;\n width: 250px;\n box-shadow: var(--jp-elevation-z6);\n z-index: 40;\n max-height: 400px;\n overflow: auto;\n}\n\n.jGIS-Annotation-Card {\n max-height: 400px;\n overflow: auto;\n}\n\n.jGIS-Annotations-Separator {\n border-color: var(--jp-layout-color4);\n border-style: solid;\n border-width: 1px;\n}\n\n.jGIS-Annotation-Handler {\n position: absolute;\n top: -5px;\n left: -5px;\n width: 8px;\n height: 8px;\n border: 1px solid #ffffffc2;\n border-radius: 50%;\n background: rgb(0 0 0 / 63%);\n cursor: pointer;\n transition-property: width, height, left, top;\n transition-duration: 0.2s;\n z-index: 20;\n}\n\n.jGIS-Annotation-Handler:hover {\n top: -9px;\n left: -9px;\n width: 16px;\n height: 16px;\n}\n\n.jGIS-Annotation-Message {\n display: flex;\n margin-top: 10px;\n gap: 5px;\n align-items: center;\n justify-content: center;\n}\n\n.jGIS-Annotation-Message .jGIS-Annotation-User-Icon {\n border-radius: 100%;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n vertical-align: middle;\n color: var(--jp-ui-font-color1);\n}\n\n.jGIS-Annotation-Message textarea {\n border-radius: var(--jp-border-radius);\n background: var(--jp-layout-color2);\n color: var(--jp-ui-font-color2);\n flex-grow: 1;\n resize: none;\n border: none;\n padding: 0.5em;\n outline: thin solid var(--jp-border-color0);\n}\n\n.jGIS-Annotation-Message-Content {\n background: var(--jp-layout-color2);\n color: var(--jp-ui-font-color2);\n border-radius: var(--jp-border-radius);\n flex-grow: 1;\n}\n\n.jGIS-Popup-Topbar {\n display: flex;\n flex-direction: row-reverse;\n}\n\n.jGIS-Popup-TopBarIcon {\n cursor: pointer;\n transform: rotate(180deg);\n}\n\n.jGIS-Annotation-Submit > svg {\n width: 30px;\n height: 30px;\n}\n\n.jGIS-Annotation-Submit g {\n fill: #f6f7f8 !important;\n}\n\n.jGIS-Annotation-Submit:hover {\n opacity: 70%;\n cursor: pointer;\n}\n\n.jGIS-Annotation-Submit {\n background-color: var(--jp-brand-color1);\n border-radius: 100%;\n width: 30px;\n height: 30px;\n}\n\n.jGIS-Annotation-Buttons {\n display: flex;\n justify-content: space-around;\n padding-top: 1em;\n}\n\n.jGIS-Annotation-Buttons > button {\n border-radius: var(--jp-border-radius);\n flex-grow: 1;\n max-width: 68px;\n}\n\n.jGIS-Remote-Pointer {\n position: absolute;\n transition-property: left, top, width, height;\n transition-duration: 150ms;\n transition-timing-function: ease;\n z-index: 20;\n}\n\n.jGIS-Remote-Pointer-Icon:hover {\n scale: 1.3;\n}\n\n.jGIS-Floating-Pointer-Popup {\n position: absolute;\n width: 160px;\n box-shadow: var(--jp-elevation-z6);\n z-index: 40;\n max-height: 400px;\n overflow: auto;\n}\n\n.jGIS-Remote-Pointer-Popup {\n margin-left: 7px;\n margin-top: 14px;\n color: #fff;\n padding: 1em;\n border-radius: 0.5em;\n font-size: 12px;\n line-height: 1.2;\n}\n\n.jGIS-Remote-Pointer-Popup-Name {\n font-size: 16px;\n color: #333;\n}\n\n.jGIS-Remote-Pointer-Popup-Coordinates {\n font-size: 14px;\n}\n\n/* Hack to remove the malformed form button */\n.object-property-expand {\n display: none;\n}\n\n.highlight {\n background-color: var(--jp-layout-color2) !important;\n}\n.jupytergis-notebook-widget {\n height: 600px;\n width: 100%;\n}\n\n/* Support output views, created with "Create new view for cell output" context menu */\n.jp-LinkedOutputView .jp-OutputArea-child:only-child {\n /* NOTE: This will eventually be supported directly in JupyterLab\n * (https://github.com/jupyterlab/jupyterlab/pull/17487), but we should keep\n * it around for a while for backwards compatibility. */\n height: 100%;\n}\n.jp-LinkedOutputView .jupytergis-notebook-widget {\n height: 100%;\n}\n\n.jupytergis-notebook-widget > div {\n height: 100%;\n width: 100%;\n}\n\n.jGIS-property-panel .rjsf .control-label,\n.jGIS-property-panel .rjsf legend {\n width: 100%;\n}\n\n.jpgis-console {\n border-top: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n}\n\n.jpgis-console .jp-CodeConsole-banner {\n display: none;\n}\n\n/* FormComponent CSS */\n.jGIS-property-panel .rjsf {\n color: var(--jp-ui-font-color1);\n}\n\n.jGIS-property-panel .rjsf > form {\n padding: var(--jp-ui-font-size1);\n}\n\n.jGIS-property-panel .rjsf fieldset {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\n.jGIS-property-panel .rjsf button[type='submit'] {\n display: none;\n}\n\n.jGIS-property-panel .rjsf .control-label,\n.jGIS-property-panel .rjsf legend {\n margin: 0;\n padding: 0;\n font-weight: bold;\n position: relative;\n width: 100%;\n}\n\n.jGIS-property-panel .rjsf legend > :first-child,\n.jGIS-property-panel .rjsf .control-label > :first-child {\n margin-top: 0;\n padding-top: 0;\n}\n\n.jGIS-property-panel .rjsf .form-group .form-group {\n margin-bottom: var(--jp-ui-font-size1);\n}\n\n.jGIS-property-panel .rjsf .form-group:last-child {\n margin-bottom: 0;\n}\n\n.jGIS-property-panel .rjsf .jp-FormGroup-description,\n.jGIS-property-panel .rjsf .field-description,\n.jGIS-property-panel .rjsf .help-block {\n color: var(--jp-ui-font-color2);\n margin-top: 2px;\n margin-bottom: 2px;\n}\n\n.jGIS-property-panel\n .jp-FormGroup-content\n fieldset\n .jp-inputFieldWrapper\n > input {\n box-sizing: border-box;\n border: var(--jp-border-width) solid var(--jp-border-color1);\n background-color: var(--jp-layout-color0);\n color: var(--jp-ui-font-color0);\n font-size: var(--jp-ui-font-size2);\n min-width: 0;\n outline: none !important;\n padding: 2px 7px;\n width: 100%;\n max-width: 100%;\n}\n\n.jGIS-property-panel\n .jp-FormGroup-content\n fieldset\n .jp-inputFieldWrapper\n > input#root_Color,\n.jGIS-property-panel\n .jp-FormGroup-content\n fieldset\n .jp-inputFieldWrapper\n > input#root_shadowColor {\n height: revert;\n}\n\n.jGIS-property-panel .jp-FormGroup-contentNormal {\n display: flex;\n flex-direction: column;\n align-items: inherit;\n}\n\n.jGIS-property-panel .jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {\n font-weight: bold;\n order: 1;\n margin-top: 2px;\n margin-bottom: 2px;\n text-transform: capitalize;\n}\n\n.jGIS-property-panel\n .jp-FormGroup-content\n .jp-FormGroup-contentNormal\n .jp-FormGroup-description,\n.jGIS-property-panel .field-description {\n order: 2;\n color: var(--jp-ui-font-color2);\n}\n\n.jGIS-property-panel .jp-FormGroup-content .jp-inputFieldWrapper {\n order: 3;\n}\n\n.jGIS-property-panel .jp-FormGroup-contentNormal .validationErrors,\n.jGIS-property-panel .jp-FormGroup-contentNormal .validationErrors ul {\n order: 4;\n list-style: none;\n color: var(--jp-warn-color0);\n margin: 0;\n padding: 0;\n}\n\n.jGIS-property-panel .jp-objectFieldWrapper,\n.jGIS-property-panel .jp-arrayFieldWrapper {\n padding-left: var(--jp-notebook-padding);\n border-left: solid 4px var(--jp-border-color3);\n}\n\n.jGIS-property-panel .array-item {\n border: none;\n}\n\n.jGIS-property-panel\n .jp-FormGroup-content\n .jp-FormGroup-contentNormal\n .jp-arrayFieldWrapper\n + .jp-FormGroup-description {\n display: none;\n}\n\n.jGIS-property-panel .rjsf .errors {\n color: var(--jp-warn-color0);\n}\n\n.jGIS-property-panel .rjsf .errors ul,\n.jGIS-property-panel .rjsf .validationErrors ul,\n.jGIS-property-panel .rjsf .validationErrors li,\n.jGIS-property-panel .rjsf .errors li {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.jGIS-property-panel .rjsf .jp-ArrayOperationsButton {\n display: none;\n}\n\n/* Hide additional property fields with remove buttons that should not be displayed in the form */\n.jGIS-property-panel\n .form-group:has(.jp-FormGroup-removeButton):not(:has(.jp-root)) {\n display: none;\n}\n\n.jGIS-property-panel .jp-arrayFieldWrapper .array-item legend,\n.jGIS-property-panel\n .jp-arrayFieldWrapper\n .field-array-of-array\n .field-array-of-number\n legend,\n.jGIS-property-panel\n .jp-arrayFieldWrapper\n .field-array-of-array\n .field-array-of-number\n .jp-FormGroup-fieldLabel {\n display: none;\n}\n.jGIS-property-panel\n .jp-arrayFieldWrapper\n .field-array-of-array\n .array-item\n .form-group\n .field-array-of-number {\n display: flex;\n}\n\n.jGIS-property-panel\n .jp-arrayFieldWrapper\n .field-array-of-array\n .array-item\n .form-group\n .field-array-of-number\n > div:nth-child(1) {\n order: 2;\n}\n\n.jGIS-property-panel\n .jp-arrayFieldWrapper\n .field-array-of-array\n .array-item\n .form-group\n .field-array-of-number\n > div:nth-child(2) {\n order: 1;\n}\n\n.jGIS-property-panel .required {\n font-size: var(--jp-ui-font-size3);\n color: var(--jp-warn-color1);\n font-weight: 800;\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n}\n\n.jGIS-property-panel\n .jp-FormGroup-content\n fieldset\n .jp-inputFieldWrapper\n select {\n width: 100%;\n font-size: var(--jp-ui-font-size1);\n background: var(--jp-input-background);\n color: var(--jp-ui-font-color0);\n padding: calc(var(--jp-ui-font-size1) / 2);\n padding-right: var(--jp-ui-font-size3);\n background-image: url(${g});\n background-repeat: no-repeat;\n background-position: 99% center;\n background-size: 18px;\n border: var(--jp-border-width) solid var(--jp-input-border-color);\n border-radius: 0;\n outline: none;\n appearance: none;\n}\n\n.jGIS-property-panel .jp-select-wrapper select {\n background-image: unset !important;\n}\n\n.lm-TabBar-tabIcon .jgis-main-logo[fill] {\n fill: var(--jp-inverse-layout-color3);\n}\n\n.jGIS-identify-tool {\n cursor: crosshair;\n}\n\n.jgis-identify-grid-item {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: auto auto;\n position: relative;\n gap: 1px;\n}\n\n.jgis-identify-grid-item-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n grid-column: span 2;\n font-weight: bold;\n font-size: var(--jp-ui-font-size1);\n padding: 2px 0;\n cursor: pointer;\n margin: 0 5px;\n line-height: 25px;\n}\n\n.jgis-identify-grid-item:not(:last-of-type)::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 90%;\n border-bottom: 1px solid var(--jp-border-color0);\n}\n\n.jgis-identify-grid-body {\n display: contents;\n}\n\n.jgis-identify-grid-body span a:link {\n color: var(--jp-content-link-color);\n cursor: pointer;\n text-decoration: underline;\n}\n\n.jgis-identify-grid-body span a:visited {\n color: var(--jp-content-link-visited-color);\n cursor: pointer;\n text-decoration: underline;\n}\n\n.jgis-identify-grid-body strong {\n grid-column: 1;\n text-transform: capitalize;\n margin-left: 21px;\n}\n\n.jgis-identify-grid-body span {\n grid-column: 2;\n}\n\n.jgis-identify-grid-body:last-of-type strong:last-of-type {\n padding-bottom: 8px;\n}\n\n.jgis-scrollable {\n overflow: auto;\n height: 100%;\n}\n\n/* Style the file path text */\n.file-container {\n display: flex;\n align-items: center;\n margin-bottom: 16px;\n gap: 10px;\n}\n\n.jgis-highlight-button {\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 28px;\n min-height: 28px;\n}\n\n.jgis-highlight-button:hover {\n color: var(--jp-brand-color1);\n}\n\n.jgis-highlight-button:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: auto;\n}\n`,""]);const u=c},301:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,".jp-gis-temporal-slider-container {\n display: flex;\n flex-direction: column;\n gap: 0.2rem;\n padding: 0.5rem;\n background-color: var(--jp-layout-color1);\n border-bottom: 1px solid var(--jp-border-color1);\n}\n\n.jp-gis-temporal-slider-container span,\n.jp-gis-temporal-slider-container label {\n font-weight: bold;\n}\n\n.jp-gis-temporal-slider-row {\n display: flex;\n gap: 0.25rem;\n justify-content: space-between;\n align-items: center;\n}\n\n.jp-gis-temporal-slider-controls {\n display: flex;\n flex-grow: 1;\n justify-content: space-around;\n}\n\n.jp-gis-temporal-slider-sub-controls {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 0.25rem;\n}\n\n.jp-gis-temporal-slider-sub-controls > input {\n width: 35px;\n}\n\nselect,\nselect option {\n text-transform: capitalize;\n}\n\n.jp-gis-temporal-slider {\n flex: 1 0 40%;\n min-width: 300px;\n}\n",""]);const l=a},365:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,".jGIS-layerbrowser-FormDialog .jp-Dialog-header {\n padding: 0;\n}\n\n.jGIS-layerbrowser-FormDialog .jp-Dialog-content {\n width: calc(100% - 4rem);\n max-width: 100%;\n height: calc(100% - 2rem);\n max-height: 100%;\n}\n\n.jGIS-layerbrowser-FormDialog form {\n padding: 10px;\n}\n\n.jGIS-customlayer-form {\n height: 100%;\n overflow: auto;\n}\n\n.jGIS-layer-browser-container * {\n box-sizing: border-box;\n}\n\n.jGIS-layer-browser-container {\n display: flex;\n flex-direction: column;\n}\n\n.jGIS-layer-browser-header-container {\n position: sticky;\n top: 0;\n z-index: 40;\n background-color: var(--jp-layout-color1);\n}\n\n.jGIS-layer-browser-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 20px;\n padding: 1rem 2rem;\n}\n\n.jGIS-layer-browser-header-text {\n padding-right: 1rem;\n font-weight: bold;\n}\n\n.jGIS-layer-browser-header-search-container {\n display: flex;\n align-items: center;\n flex-grow: 1;\n position: relative;\n}\n\n.jGIS-layer-browser-header-search-icon {\n position: absolute;\n top: 50%;\n left: 0.75rem;\n transform: translateY(-50%);\n}\n\n.jGIS-layer-browser-header-search {\n box-shadow: none;\n flex: 1 1 0%;\n height: 40px;\n padding: 1rem 2rem;\n padding-left: 2.5rem;\n background-color: transparent;\n border: 1px solid var(--jp-border-color1);\n border-radius: 8px;\n color: var(--jp-ui-font-color1);\n}\n\n.jGIS-layer-browser-grid {\n display: grid;\n gap: 1.25rem;\n grid-template-rows: 1fr;\n grid-template-columns: repeat(3, minmax(0px, 1fr));\n padding: 1rem 2rem;\n}\n\n@media (min-width: 1400px) {\n .jGIS-layer-browser-grid {\n grid-template-columns: repeat(5, minmax(0px, 1fr));\n }\n}\n\n.jGIS-layer-browser-categories {\n display: flex;\n gap: 2rem;\n padding: 0 2rem;\n border-bottom: 2px solid var(--jp-border-color1);\n}\n\n.jGIS-layer-browser-category {\n position: relative;\n opacity: 0.7;\n padding: 4px 0 14px;\n cursor: pointer;\n text-decoration: none;\n}\n\n.jGIS-layer-browser-category::after {\n content: '';\n position: absolute;\n bottom: -2px;\n left: 0;\n width: 0px;\n height: 3px;\n transition:\n background-color 300ms ease-in,\n width 300ms ease-in,\n opacity 300ms ease-in;\n background-color: transparent;\n}\n\n.jGIS-layer-browser-category.jGIS-layer-browser-category-selected::after {\n width: 100%;\n background-color: var(--jp-inverse-layout-color2);\n}\n\n.jGIS-layer-browser-category.jGIS-layer-browser-category-selected {\n opacity: 1;\n font-weight: bold;\n}\n\n.jGIS-layer-browser-tile {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n position: relative;\n margin-top: 4px;\n padding: 8px;\n transition: transform 150ms ease-out;\n cursor: pointer;\n border: 1px solid var(--jp-border-color1);\n background-color: var(--jp-layout-color1);\n border-radius: 8px;\n}\n\n.jGIS-layer-browser-custom-tile {\n border: 1px solid var(--jp-border-color2);\n background-color: var(--jp-layout-color2);\n}\n\n.jGIS-layer-browser-tile:hover {\n box-shadow: var(--jp-layout-color2);\n transform: translateY(-4px);\n background-color: var(--jp-brand-color2);\n}\n\n.jGIS-layer-browser-tile-img-container {\n /* isolation: isolate; */\n /* border: medium; */\n /* background: transparent; */\n /* padding: 0px; */\n /* width: 100%; */\n aspect-ratio: 16 / 10;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n overflow: hidden;\n border-radius: 8px;\n}\n\n.jGIS-layer-browser-img {\n /* position: absolute; */\n /* height: 100%; */\n /* object-fit: cover; */\n /* box-sizing: border-box; */\n width: 100%;\n}\n\n.jGIS-layer-browser-icon {\n padding-inline: 8px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n overflow: hidden;\n box-sizing: border-box;\n width: 32px;\n height: 32px;\n transition:\n width 125ms ease-in-out,\n background-color 125ms ease-in-out,\n opacity 150ms ease-out;\n background-color: var(--jp-accent-color1);\n border-radius: 20px;\n}\n\n.jGIS-layer-browser-tile:not(.jGIS-layer-browser-tile:hover)\n .jGIS-layer-browser-icon {\n opacity: 0;\n}\n\n.jGIS-layer-browser-added {\n display: inline-flex;\n gap: 0.35rem;\n opacity: 1 !important;\n width: 7rem;\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jGIS-layer-browser-text-container {\n padding-inline: 4px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: 8px;\n flex: 1 1 0%;\n box-sizing: border-box;\n}\n\n.jGIS-layer-browser-text-info {\n display: flex;\n flex-direction: column;\n gap: 8px;\n box-sizing: border-box;\n}\n\n.jGIS-layer-browser-text-header {\n overflow: hidden;\n font-weight: bold;\n text-transform: capitalize;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.jGIS-layer-browser-text-p {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.jGIS-layer-browser-text-source {\n overflow: hidden;\n font-size: 0.75rem;\n font-weight: lighter;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.jGIS-layer-browser-text-description {\n -webkit-line-clamp: 2;\n -moz-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.jGIS-layer-browser-text-general {\n margin: 0;\n}\n",""]);const l=a},367:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,".jgis-status-bar {\n display: flex;\n justify-content: space-around;\n align-items: center;\n height: 16px;\n background-color: var(--jp-layout-color1);\n font-size: var(--jp-ui-font-size0);\n}\n\n.jgis-status-bar-item {\n flex: 0 0 content;\n}\n\n.jgis-status-bar-coords {\n min-width: 160px;\n}\n",""]);const l=a},432:(n,o,e)=>{var r=e(591),t=e.n(r),i=e(740),a=e.n(i),l=e(128),p=e.n(l),s=e(855),d=e.n(s),c=e(51),g=e.n(c),u=e(656),b=e.n(u),f=e(296),m={};m.styleTagTransform=b(),m.setAttributes=d(),m.insert=p().bind(null,"head"),m.domAPI=a(),m.insertStyleElement=g(),t()(f.A,m),f.A&&f.A.locals&&f.A.locals},564:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,"/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|---------------------------------------------------------------------------- */\n\n.jGIS-property-panel .rjsf .jp-select-wrapper select {\n background-image: unset;\n}\n",""]);const l=a},591:n=>{var o=[];function e(n){for(var e=-1,r=0;r<o.length;r++)if(o[r].identifier===n){e=r;break}return e}function r(n,r){for(var i={},a=[],l=0;l<n.length;l++){var p=n[l],s=r.base?p[0]+r.base:p[0],d=i[s]||0,c="".concat(s," ").concat(d);i[s]=d+1;var g=e(c),u={css:p[1],media:p[2],sourceMap:p[3],supports:p[4],layer:p[5]};if(-1!==g)o[g].references++,o[g].updater(u);else{var b=t(u,r);r.byIndex=l,o.splice(l,0,{identifier:c,updater:b,references:1})}a.push(c)}return a}function t(n,o){var e=o.domAPI(o);return e.update(n),function(o){if(o){if(o.css===n.css&&o.media===n.media&&o.sourceMap===n.sourceMap&&o.supports===n.supports&&o.layer===n.layer)return;e.update(n=o)}else e.remove()}}n.exports=function(n,t){var i=r(n=n||[],t=t||{});return function(n){n=n||[];for(var a=0;a<i.length;a++){var l=e(i[a]);o[l].references--}for(var p=r(n,t),s=0;s<i.length;s++){var d=e(i[s]);0===o[d].references&&(o[d].updater(),o.splice(d,1))}i=p}}},606:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,".jp-gis-filter-main {\n display: flex;\n flex-direction: column;\n padding: 10px;\n gap: 1rem;\n}\n\n.jp-gis-filter-list {\n display: flex;\n flex-direction: column;\n}\n\n.jp-gis-filter-button-container {\n display: flex;\n justify-content: space-between;\n}\n\n.jp-gis-filter-main > .jp-Dialog-button {\n width: fit-content;\n align-self: flex-end;\n}\n\n.jp-gis-logical-select {\n width: fit-content !important;\n padding: 0 8px !important;\n text-align: center;\n}\n\n.jp-gis-filter-select-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.jp-gis-filter-row {\n display: flex;\n justify-content: space-around;\n width: 100%;\n gap: 0.25rem;\n}\n\n.jp-gis-filter-row > select {\n text-transform: capitalize;\n padding: 0;\n text-align: center;\n}\n\n.jp-gis-filter-row > option {\n text-transform: capitalize;\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-gis-filter-row > button {\n color: var(--jp-ui-font-color0);\n background: none;\n}\n\n.jp-gis-filter-row > button:hover {\n color: var(--jp-warn-color-hover);\n}\n\n.jp-gis-filter-icon:hover {\n scale: 1.3;\n cursor: pointer;\n}\n\n.jp-gis-filter-icon > svg {\n height: 16px;\n width: 16px;\n}\n",""]);const l=a},633:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,"/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|---------------------------------------------------------------------------- */\n\n.jp-gis-sourcePanel,\n.jp-gis-layerPanel {\n min-height: 3em;\n}\n\n.jp-gis-layerItem,\n.jp-gis-source {\n padding: 2px 0 2px 12px;\n}\n\n.jp-gis-layerGroup {\n display: flex;\n flex-direction: column;\n}\n\n.jp-gis-layerGroupHeader {\n display: flex;\n margin-left: -2px;\n padding-bottom: 4px;\n}\n\n.jp-gis-layerGroupHeader:hover {\n cursor: pointer;\n}\n\n.jp-gis-layerGroupCollapser {\n transform: rotate(-90deg);\n margin: auto 0;\n height: 16px;\n}\n\n.jp-gis-layerGroupCollapser.jp-mod-expanded {\n transform: rotate(0deg);\n}\n\n.jp-gis-layer,\n.jp-gis-source {\n display: flex;\n flex-direction: row;\n align-items: center;\n color: var(--jp-ui-font-color1);\n}\n\n.jp-gis-layer.jp-mod-selected,\n.jp-gis-source.jp-mod-selected,\n.jp-gis-layerGroupHeader.jp-mod-selected {\n color: var(--jp-ui-inverse-font-color1);\n background: var(--jp-brand-color1);\n}\n\n.jp-gis-layer:hover:not(.jp-mod-selected),\n.jp-gis-source:hover:not(.jp-mod-selected) {\n cursor: pointer;\n background: var(--jp-layout-color2);\n}\n\n.jp-gis-layer.jp-mod-selected .jp-icon-selectable,\n.jp-gis-source.jp-mod-selected .jp-icon-selectable,\n.jp-gis-layerGroupHeader.jp-mod-selected .jp-icon-selectable {\n fill: var(--jp-ui-inverse-font-color1);\n}\n.jp-gis-layer.jp-mod-selected path,\n.jp-gis-source.jp-mod-selected path {\n fill: var(--jp-ui-inverse-font-color1);\n}\n.jp-gis-layer.jp-mod-selected button:hover,\n.jp-gis-source.jp-mod-selected button:hover {\n background: none;\n}\n\n.jp-gis-layer button,\n.jp-gis-source button {\n min-height: unset;\n min-width: unset;\n padding: unset;\n margin-right: 4px;\n}\n\n.jp-gis-layer.jp-mod-selected button:hover .jp-icon-selectable,\n.jp-gis-source.jp-mod-selected button:hover .jp-icon-selectable {\n fill: var(--jp-ui-font-color1);\n}\n\n.jp-gis-layerIcon,\n.jp-gis-sourceIcon {\n display: flex;\n align-items: center;\n}\n\n.jp-gis-layerIcon > svg,\n.jp-gis-sourceIcon > svg {\n height: 16px;\n width: 16px;\n}\n\n.jp-gis-layerTitle,\n.jp-gis-sourceTitle {\n display: flex;\n flex-grow: 1;\n align-items: center;\n}\n\n.jp-gis-layerText:focus,\n.jp-gis-sourceText:focus {\n outline: none;\n}\n\n.jp-gis-layerTitle .jp-gis-layerIcon,\n.jp-gis-sourceTitle .jp-gis-sourceIcon {\n padding-right: 4px;\n}\n\n.jp-gis-layerIcon.jp-gis-mod-hidden path,\n.jp-gis-sourceIcon.jp-gis-mod-hidden path {\n fill: var(--jp-warn-color0);\n}\n\n.jp-gis-left-panel-input {\n background-color: transparent;\n border: 1px solid var(--jp-border-color1);\n border-radius: 8px;\n color: var(--jp-ui-font-color1);\n flex-grow: 1;\n margin-right: 4px;\n outline: none;\n padding: 2px 7px;\n}\n\n.jp-gis-left-panel-input:focus {\n border: 1px solid var(--jp-brand-color1);\n}\n\n.jp-gis-layerText,\n.jp-gis-sourceText {\n padding: 3px 0;\n cursor: pointer;\n}\n\nli .lm-Menu-itemLabel {\n text-transform: capitalize;\n}\n\n.jp-gis-sourceInfo {\n font-size: var(--jp-ui-font-size0);\n font-style: italic;\n padding-left: 5px;\n color: var(--jp-ui-font-color2);\n}\n\n#jp-drag-indicator {\n top: calc(-1 * var(--jp-border-width) + 1px);\n left: calc(-1 * var(--jp-border-width));\n content: '';\n height: var(--jp-private-horizontal-tab-active-top-border);\n width: calc(100% + 2 * var(--jp-border-width));\n background: var(--jp-brand-color1);\n}\n",""]);const l=a},656:n=>{n.exports=function(n,o){if(o.styleSheet)o.styleSheet.cssText=n;else{for(;o.firstChild;)o.removeChild(o.firstChild);o.appendChild(document.createTextNode(n))}}},740:n=>{n.exports=function(n){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var o=n.insertStyleElement(n);return{update:function(e){!function(n,o,e){var r="";e.supports&&(r+="@supports (".concat(e.supports,") {")),e.media&&(r+="@media ".concat(e.media," {"));var t=void 0!==e.layer;t&&(r+="@layer".concat(e.layer.length>0?" ".concat(e.layer):""," {")),r+=e.css,t&&(r+="}"),e.media&&(r+="}"),e.supports&&(r+="}");var i=e.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),o.styleTagTransform(r,n,o.options)}(o,n,e)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(o)}}}},758:n=>{n.exports=function(n){return n[1]}},781:(n,o,e)=>{e.d(o,{A:()=>l});var r=e(758),t=e.n(r),i=e(935),a=e.n(i)()(t());a.push([n.id,"select,\nselect option {\n text-transform: capitalize;\n}\n\n.jp-gis-symbology-dialog .jp-Dialog-header {\n font-weight: bold;\n}\n\n.jp-gis-symbology-dialog .jp-Dialog-content {\n width: calc(80% - 4rem);\n max-width: 80%;\n height: fit-content;\n max-height: 80%;\n}\n\n.jp-gis-symbology-row {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 2rem;\n}\n\n.jp-gis-symbology-row label {\n font-size: var(--jp-ui-font-size2);\n flex: 0 1 20%;\n}\n\n.jp-gis-symbology-row > .jp-select-wrapper,\n.jp-gis-symbology-row > .jp-mod-styled {\n flex: 1 0 50%;\n max-width: 50%;\n}\n\n.jp-gis-color-ramp-div {\n display: flex;\n flex: 1 1 50%;\n max-width: 50%;\n justify-content: space-between;\n align-items: baseline;\n}\n\n.jp-gis-color-ramp-div > .jp-select-wrapper {\n flex: 1 0 40%;\n}\n\n.jp-gis-color-ramp-div:last-child {\n flex-shrink: 0;\n}\n\n.jp-gis-color-ramp-div > input {\n max-width: 25%;\n}\n\n.jp-gis-band-container {\n display: flex;\n flex-direction: column;\n gap: 13px;\n}\n\n.jp-gis-layer-symbology-container {\n display: flex;\n flex-direction: column;\n gap: 13px;\n border-top: 1px solid var(--jp-border-color2);\n padding-top: 8px;\n}\n\n.jp-gis-layer-symbology-container .jp-select-wrapper {\n margin-bottom: unset;\n}\n\n.jp-gis-color-ramp-container {\n display: flex;\n flex-direction: column;\n gap: 13px;\n}\n\n.jp-gis-stop-container {\n display: flex;\n flex-direction: column;\n gap: 0.1rem;\n}\n\n.jp-gis-stop-labels {\n display: flex;\n font-weight: bold;\n font-size: var(--jp-ui-font-size1);\n gap: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.jp-gis-stop-labels > span {\n flex: 0 0 18%;\n}\n\n.jp-gis-color-row {\n display: flex;\n width: 100%;\n gap: 0.25rem;\n height: 32px;\n}\n\n.jp-gis-color-row-value-input {\n flex: 0 1 18%;\n min-width: 0px;\n}\n\n.jp-gis-color-row-output-input {\n flex-grow: 1;\n}\n\n.jp-gis-color-row > button {\n color: var(--jp-ui-font-color0);\n background: none;\n padding-right: 0px;\n}\n\n.jp-gis-symbology-button-container {\n padding-top: 0.5rem;\n}\n\n.jp-gis-band-info-loading-container {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n margin: auto;\n}\n\n.jp-gis-loading-spinner {\n animation: spin 4s linear infinite;\n font-size: 1.5rem;\n padding: 1rem 0;\n margin: auto;\n}\n\n.jp-gis-band-info-loading-container > span {\n font-size: 1rem;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.jp-gis-color-ramp-dropdown {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n position: absolute;\n overflow-x: hidden;\n overflow-y: auto;\n visibility: hidden;\n z-index: 40;\n flex: 1 1 auto;\n width: 97%;\n max-height: 20rem;\n background: var(--jp-input-background);\n padding-left: 8px;\n border: var(--jp-border-width) solid var(--jp-input-border-color);\n border-radius: 0;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.jp-gis-open {\n visibility: visible;\n}\n\n.jp-gis-color-ramp-entry {\n display: flex;\n align-items: center;\n font-size: var(--jp-ui-font-size2);\n color: var(--jp-ui-font-color0);\n appearance: none;\n text-transform: capitalize;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.jp-gis-color-label {\n color: white;\n position: absolute;\n transition: transform 0.3s ease;\n}\n\n.jp-gis-color-ramp-entry:hover .jp-gis-color-label {\n transform: scale(1.2);\n}\n\n.jp-gis-color-canvas {\n margin: 0 -7px;\n border-radius: 4px;\n width: 100%;\n max-height: 38px;\n}\n\n.jp-gis-color-canvas-display {\n width: 100%;\n height: 30px;\n visibility: initial;\n border-radius: var(--jp-border-radius);\n}\n\n.jp-Dialog-content:has(.jp-gis-heatmap),\n.jp-Dialog-body:has(.jp-gis-heatmap) {\n overflow: visible;\n}\n\n.jp-gis-canvas-button-wrapper {\n flex: 1 0 50%;\n max-width: 50%;\n position: relative;\n}\n\n#jp-gis-canvas-button.jp-gis-canvas-button {\n visibility: hidden;\n margin: 0;\n padding: 0 1px 0 0;\n width: 100%;\n}\n",""]);const l=a},855:(n,o,e)=>{n.exports=function(n){var o=e.nc;o&&n.setAttribute("nonce",o)}},935:n=>{n.exports=function(n){var o=[];return o.toString=function(){return this.map((function(o){var e="",r=void 0!==o[5];return o[4]&&(e+="@supports (".concat(o[4],") {")),o[2]&&(e+="@media ".concat(o[2]," {")),r&&(e+="@layer".concat(o[5].length>0?" ".concat(o[5]):""," {")),e+=n(o),r&&(e+="}"),o[2]&&(e+="}"),o[4]&&(e+="}"),e})).join("")},o.i=function(n,e,r,t,i){"string"==typeof n&&(n=[[null,n,void 0]]);var a={};if(r)for(var l=0;l<this.length;l++){var p=this[l][0];null!=p&&(a[p]=!0)}for(var s=0;s<n.length;s++){var d=[].concat(n[s]);r&&a[d[0]]||(void 0!==i&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),e&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=e):d[2]=e),t&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=t):d[4]="".concat(t)),o.push(d))}},o}},997:(n,o,e)=>{e.d(o,{A:()=>s});var r=e(758),t=e.n(r),i=e(935),a=e.n(i),l=e(79),p=a()(t());p.i(l.A),p.push([n.id,"/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|---------------------------------------------------------------------------- */\n",""]);const s=p}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_jupytergis_jupytergis_lab=self.webpackChunk_jupytergis_jupytergis_lab||[]).push([[484],{484:(e,t,o)=>{o.r(t),o.d(t,{default:()=>x});var n=o(464),a=o(894),r=o(611),d=o(280),s=o(895),m=o(144),i=o(828),c=o(256),l=o(903),u=o(594),g=o(378),p=o(335),I=o(970),y=o(230),h=o(173);class M extends h.JupyterYModel{}class j extends c.Panel{constructor(e){super(),this._buildWidget=e=>{const{commands:t,model:o,externalCommands:a,tracker:r}=e,d=new n.JupyterGISPanel({model:o,commandRegistry:t});let s;o.filePath&&(s=new n.ToolbarWidget({commands:t,model:o,externalCommands:(null==a?void 0:a.getCommands())||[]})),this._jgisWidget=new n.JupyterGISOutputWidget({model:o,content:d,toolbar:s}),this.addWidget(this._jgisWidget),null==r||r.add(this._jgisWidget)};const{model:t}=e;this.addClass("jupytergis-notebook-widget"),this._buildWidget(e),t.sharedModel.changed.connect(((t,o)=>{o.stateChange&&o.stateChange.forEach((t=>{var o;"path"===t.name&&(null===(o=this.layout)||void 0===o||o.removeWidget(this._jgisWidget),this._jgisWidget.dispose(),this._buildWidget(e))}))}))}get jgisWidget(){return this._jgisWidget}}const b={id:"jupytergis:yjswidget-plugin",autoStart:!0,optional:[a.IJGISExternalCommandRegistryToken,a.IJupyterGISDocTracker,h.IJupyterYWidgetManager,l.ICollaborativeDrive],activate:(e,t,o,n,r)=>{n?n.registerWidget("@jupytergis:widget",class extends M{async initialize(t){const{path:o,format:n,contentType:d}=t,s=n;if(!r)throw(0,u.showErrorMessage)("Error using the JupyterGIS Python API","You cannot use the JupyterGIS Python API without a collaborative drive. You need to install a package providing collaboration features (e.g. jupyter-collaboration)."),new Error("Failed to create the YDoc without a collaborative drive");let m="";const i=e.shell.currentWidget;(i instanceof I.NotebookPanel||i instanceof g.ConsolePanel)&&(m=i.sessionContext.path);let c="";if(o){c=p.PathExt.join(p.PathExt.dirname(m),o);try{await e.serviceManager.contents.get(c)}catch(t){await e.serviceManager.contents.save(c,{content:btoa("{}"),format:"base64"})}}else c=p.PathExt.join(p.PathExt.dirname(m),"unsaved_project");const l=r.sharedModelFactory.createNew({path:c,format:s,contentType:d,collaborative:!0});this.jupyterGISModel=new a.JupyterGISModel({sharedModel:l}),this.jupyterGISModel.contentsManager=e.serviceManager.contents,this.jupyterGISModel.filePath=c,this.ydoc=this.jupyterGISModel.sharedModel.ydoc,this.sharedModel=new h.JupyterYDoc(t,this.ydoc)}},class{constructor(n,a){this.yModel=n,this.node=a;const r=new j({commands:e.commands,model:n.jupyterGISModel,externalCommands:t,tracker:o});this._jgisWidget=r.jgisWidget,y.MessageLoop.sendMessage(r,c.Widget.Msg.BeforeAttach),a.appendChild(r.node),y.MessageLoop.sendMessage(r,c.Widget.Msg.AfterAttach)}dispose(){this._jgisWidget.dispose()}}):console.error("Missing IJupyterYWidgetManager token!")}},C="jupytergis",x=[{id:"jupytergis:lab:main-menu",autoStart:!0,requires:[a.IJupyterGISDocTracker,a.IJGISFormSchemaRegistryToken,a.IJGISLayerBrowserRegistryToken,m.IStateDB],optional:[s.IMainMenu,i.ITranslator,d.ICompletionProviderManager],activate:(e,t,o,a,r,d,s,m)=>{console.log("jupytergis:lab:main-menu is activated!"),s=null!=s?s:i.nullTranslator;(0,n.createDefaultLayerRegistry)(a),n.GlobalStateDbManager.getInstance().initialize(r),(0,n.addCommands)(e,t,s,o,a,r,m);const l=new c.Menu({commands:e.commands});l.title.label=s.load("jupyterlab").__("Add Source"),l.id="jp-gis-contextmenu-addSource",e.contextMenu.addItem({type:"submenu",selector:".jp-gis-sourcePanel",rank:3,submenu:l}),l.addItem({command:n.CommandIDs.newRasterSource,args:{from:"contextMenu"}}),l.addItem({command:n.CommandIDs.newVectorSource,args:{from:"contextMenu"}}),l.addItem({command:n.CommandIDs.newGeoJSONSource,args:{from:"contextMenu"}}),l.addItem({command:n.CommandIDs.newRasterDemSource,args:{from:"contextMenu"}}),l.addItem({command:n.CommandIDs.newImageSource,args:{from:"contextMenu"}}),e.contextMenu.addItem({type:"separator",selector:".jp-gis-sourcePanel",rank:2}),e.contextMenu.addItem({selector:".jp-gis-source.jp-gis-sourceUnused",rank:1,command:n.CommandIDs.removeSource}),e.contextMenu.addItem({selector:".jp-gis-source",rank:1,command:n.CommandIDs.renameSource}),e.contextMenu.addItem({command:n.CommandIDs.symbology,selector:".jp-gis-layerItem",rank:1}),e.contextMenu.addItem({type:"separator",selector:".jp-gis-layerPanel",rank:1}),e.contextMenu.addItem({command:n.CommandIDs.removeLayer,selector:".jp-gis-layerItem",rank:2}),e.contextMenu.addItem({command:n.CommandIDs.renameLayer,selector:".jp-gis-layerItem",rank:2}),e.contextMenu.addItem({command:n.CommandIDs.zoomToLayer,selector:".jp-gis-layerItem",rank:2});const u=new c.Menu({commands:e.commands});u.title.label=s.load("jupyterlab").__("Download"),u.id="jp-gis-contextmenu-download",u.addItem({command:n.CommandIDs.downloadGeoJSON}),e.contextMenu.addItem({type:"submenu",selector:".jp-gis-layerItem",rank:2,submenu:u});const g=new c.Menu({commands:e.commands});g.title.label=s.load("jupyterlab").__("Processing"),g.id="jp-gis-contextmenu-processing",g.addItem({command:n.CommandIDs.buffer}),g.addItem({command:n.CommandIDs.dissolve}),e.contextMenu.addItem({type:"submenu",selector:".jp-gis-layerItem",rank:2,submenu:g});const p=new c.Menu({commands:e.commands});p.title.label=s.load("jupyterlab").__("Move Selected Layers to Group"),p.id="jp-gis-contextmenu-movelayer",e.contextMenu.addItem({type:"submenu",selector:".jp-gis-layerItem",rank:2,submenu:p}),e.contextMenu.opened.connect((()=>function(e,t){var o,a,r,d;if(!(null===(o=t.currentWidget)||void 0===o?void 0:o.model))return;const s=null===(a=t.currentWidget)||void 0===a?void 0:a.model,m=null!==(d=null===(r=e.menu.items.find((e=>{var t;return"submenu"===e.type&&"jp-gis-contextmenu-movelayer"===(null===(t=e.submenu)||void 0===t?void 0:t.id)})))||void 0===r?void 0:r.submenu)&&void 0!==d?d:null;if(!m)return;m.clearItems();const i=function e(t){const o=[];for(const n of t)if("string"!=typeof n&&n.layers){o.push(n.name);const t=e(n.layers);o.push(...t)}return o}(s.getLayerTree());m.addItem({command:n.CommandIDs.moveLayersToGroup,args:{label:""}}),i.forEach((e=>{m.addItem({command:n.CommandIDs.moveLayersToGroup,args:{label:e}})})),m.addItem({command:n.CommandIDs.moveLayerToNewGroup})}(e.contextMenu,t))),e.contextMenu.addItem({command:n.CommandIDs.removeGroup,selector:".jp-gis-layerGroupHeader",rank:2}),e.contextMenu.addItem({command:n.CommandIDs.renameGroup,selector:".jp-gis-layerGroupHeader",rank:2}),e.contextMenu.addItem({type:"separator",selector:".jp-gis-layerPanel",rank:2});const I=new c.Menu({commands:e.commands});I.title.label=s.load("jupyterlab").__("Add Layer"),I.id="jp-gis-contextmenu-addLayer",e.contextMenu.addItem({type:"submenu",selector:".jp-gis-layerPanel",rank:3,submenu:I}),I.addItem({command:n.CommandIDs.newRasterLayer,args:{from:"contextMenu"}}),I.addItem({command:n.CommandIDs.newVectorLayer,args:{from:"contextMenu"}}),I.addItem({command:n.CommandIDs.newHillshadeLayer,args:{from:"contextMenu"}}),I.addItem({command:n.CommandIDs.newImageLayer,args:{from:"contextMenu"}}),I.addItem({command:n.CommandIDs.newHeatmapLayer,args:{from:"contextMenu"}}),d&&function(e,t){e.editMenu.undoers.redo.add({id:n.CommandIDs.redo,isEnabled:t}),e.editMenu.undoers.undo.add({id:n.CommandIDs.undo,isEnabled:t})}(d,(()=>null!==t.currentWidget&&t.currentWidget===e.shell.currentWidget))}},{id:"jupytergis:lab:controlpanel",autoStart:!0,requires:[r.ILayoutRestorer,a.IJupyterGISDocTracker,a.IJGISFormSchemaRegistryToken,m.IStateDB,a.IAnnotationToken],activate:(e,t,o,a,r,d)=>{const s=new n.ControlPanelModel({tracker:o}),m=new n.LeftPanelWidget({model:s,tracker:o,state:r,commands:e.commands});m.id="jupytergis::leftControlPanel",m.title.caption="JupyterGIS Control Panel",m.title.icon=n.logoMiniIcon;const i=new n.RightPanelWidget({model:s,tracker:o,formSchemaRegistry:a,annotationModel:d});i.id="jupytergis::rightControlPanel",i.title.caption="JupyterGIS Control Panel",i.title.icon=n.logoMiniIcon,t&&(t.add(m,C),t.add(i,C)),e.shell.add(m,"left",{rank:2e3}),e.shell.add(i,"right",{rank:2e3})}},b]}}]);
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
jupytergis_lab/__init__.py,sha256=QRBE8GcqAQSZk4d8oB6dMgU0jPXZIU1vuhjLAixF_y4,579
|
|
2
|
-
jupytergis_lab/_version.py,sha256=eSeVXWsTpUzWvf2wBfWFRZxY_G97VncZxCWo13TAjM8,171
|
|
3
|
-
jupytergis_lab/notebook/__init__.py,sha256=YFLWhp-9CMd5HIXVEVlFwzBiS7sZKvHUArEEz8xhP6I,46
|
|
4
|
-
jupytergis_lab/notebook/explore.py,sha256=PqAQSJD_58N6yytQydIkGZUoS3JSAqPe43J9_7tcb48,4368
|
|
5
|
-
jupytergis_lab/notebook/gis_document.py,sha256=xVGgY0ks1sTqyJzblvQPKxH4T6pZbiTSg8OWLrJKkzU,29158
|
|
6
|
-
jupytergis_lab/notebook/utils.py,sha256=x9HkieWVS35Q8HtaQHDH2AKU0lTMKQbRZDpJZ5Hfk9Y,348
|
|
7
|
-
jupytergis_lab/notebook/y_connector.py,sha256=KkkKDFvwY6ZWQ-1tubmiS9ib4LsmxYKS0bx0pPJoPGU,1029
|
|
8
|
-
jupytergis_lab/notebook/objects/__init__.py,sha256=6gVWBaDqOWLdt63wg2vPuwNnBenZ2ovit6TN16yV45s,1230
|
|
9
|
-
jupytergis_lab/notebook/objects/_schema/__init__.py,sha256=eKpCop52NfY5v2qvVVt2rNolpoWpR8p_pEdtGz4FoWk,97
|
|
10
|
-
jupytergis_lab/notebook/objects/_schema/geojson.py,sha256=U56Klxp1jpVYRjsqqSzZtMGlwlCwCNPqXi8usus5gdA,10347
|
|
11
|
-
jupytergis_lab/notebook/objects/_schema/geojsonsource.py,sha256=9N5JK5XFNiPiYNhKWt1fZB_cvamUc7_aNcp-DuNYcg0,601
|
|
12
|
-
jupytergis_lab/notebook/objects/_schema/export/__init__.py,sha256=eKpCop52NfY5v2qvVVt2rNolpoWpR8p_pEdtGz4FoWk,97
|
|
13
|
-
jupytergis_lab/notebook/objects/_schema/export/exportGeojson.py,sha256=hLUMmvdBpDG_K-CJ3h5Dk3hhSGHLZSnhTBtVoVc8UPA,448
|
|
14
|
-
jupytergis_lab/notebook/objects/_schema/export/exportGeotiff.py,sha256=FvqAaHOrGiSpNT6Jc2PoUcQacSdendHrhV-T9DRqRkQ,814
|
|
15
|
-
jupytergis_lab/notebook/objects/_schema/processing/__init__.py,sha256=eKpCop52NfY5v2qvVVt2rNolpoWpR8p_pEdtGz4FoWk,97
|
|
16
|
-
jupytergis_lab/notebook/objects/_schema/processing/buffer.py,sha256=nWbiqtt444x_TKUXgKXay6EFTEAtjSB2j3YrInKJt0k,652
|
|
17
|
-
jupytergis_lab/notebook/objects/_schema/processing/dissolve.py,sha256=cs1iodiKlWNWz_8eFD-s19U968PF6s8xNFgugyku8bc,659
|
|
18
|
-
jupytergis_lab/notebook/objects/_schema/project/__init__.py,sha256=eKpCop52NfY5v2qvVVt2rNolpoWpR8p_pEdtGz4FoWk,97
|
|
19
|
-
jupytergis_lab/notebook/objects/_schema/project/jgis.py,sha256=AxOIuKfLZfGp4Q3csvYCD2xbGBhe_Ge9daTISq4NyCI,3281
|
|
20
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/__init__.py,sha256=eKpCop52NfY5v2qvVVt2rNolpoWpR8p_pEdtGz4FoWk,97
|
|
21
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/heatmapLayer.py,sha256=cDEyfXqjOr62l8mxz7PJ8ScfwK1ebOnB5zRLlfQ9jOE,974
|
|
22
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/hillshadeLayer.py,sha256=9J8bRDPVVCXQYCzCb1ydO8QfaJuRbQ1RtWaXkJiYL9A,511
|
|
23
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/imageLayer.py,sha256=smGi92fIvt_XSowi3ibFB4B8fZeu6gPYE0T2bBANpzI,536
|
|
24
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/rasterlayer.py,sha256=eEcnv4fvvqpE2glZYAJcwEoIcXtxAZXjZfpHZb_N-6I,538
|
|
25
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/vectorTileLayer.py,sha256=VEwwzP8-imKuJTMhqv-QzXnpFf0y_VR-s_bo1jMXWyY,836
|
|
26
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/vectorlayer.py,sha256=iz4XmBuVNjYrFmSZhTp4zo9_Cn8b_BL54BzUS5kb1j8,1608
|
|
27
|
-
jupytergis_lab/notebook/objects/_schema/project/layers/webGlLayer.py,sha256=suuMnEfagKzyb3bUVEYQCbkvmjfxQY_PEewOepdJr0U,1569
|
|
28
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/__init__.py,sha256=eKpCop52NfY5v2qvVVt2rNolpoWpR8p_pEdtGz4FoWk,97
|
|
29
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/geoTiffSource.py,sha256=8FndqffAISYI-q9ugSoABGr1bhbNB2CTSgxeKMaCn8g,724
|
|
30
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/imageSource.py,sha256=Py786Lhd_afSjwvIRpWuoibb4hIfruhVuVVCGowChAk,797
|
|
31
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/rasterDemSource.py,sha256=An25Nz4DNuFFMBFbCDfpRQXIKdGjVXjJsDYr0tXIDnU,709
|
|
32
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/rastersource.py,sha256=qcnDEPqmx8SHn88j4E407thWI8uD8kyrQfiPVGJFG60,1260
|
|
33
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/shapefileSource.py,sha256=X-OdRnGZYUODBngitNix-m0I09xezLJ8DdTwtCWpEfI,1002
|
|
34
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/vectortilesource.py,sha256=itXlGTGCZp5V7iEjKY-mbWvIt4QDNImq38UivsBNZRo,918
|
|
35
|
-
jupytergis_lab/notebook/objects/_schema/project/sources/videoSource.py,sha256=kdObCc_DgzHRQ6TNGthU-aDgb8Am1ddi0A8j6OYYt_s,735
|
|
36
|
-
jupytergis_lab/notebook/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
jupytergis_lab/notebook/tests/test_api.py,sha256=4aecq70FINp1SLHF6fpWlnkWwprNKYGKpTk1UTpslO4,1465
|
|
38
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/package.json,sha256=zsjc0iLsCMDTfD3Qilv9yuIUuHqEAdmEIHQ4vkbYx_s,4105
|
|
39
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/234.c2d7ed33ae9ca2244b0d.js,sha256=wtftM66coiRLDYAUn7Z5LURKJAkNR0xn7TKRdUkwS18,349
|
|
40
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/432.bb0ae93e813eefae7236.js,sha256=uwrpPoE-765yNmd5LLFGbuaee1xEMmvo7SYjQGiS5rU,46036
|
|
41
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/484.8ba570bf2020ec490e49.js,sha256=i6VwvyAg7EkOSRmkyB-YUqhp9hG5M7Is5SSnec_B39Q,8097
|
|
42
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/remoteEntry.4b4db2d5f1ccde6ba0de.js,sha256=S02y1fHM3mug3nBZ1bti2JDehCLf8UrdPNMlZii9sxM,8290
|
|
43
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/style.js,sha256=pog22wM5nCMkQO0YWJ94eDKAF1OlO1ZvCDGi_rO335U,169
|
|
44
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/static/third-party-licenses.json,sha256=AckYa_8zWeYPl2KrW1APdWZDGbL5JL5fnD1dx3ZkKZM,4230
|
|
45
|
-
jupytergis_lab-0.4.5.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-lab/install.json,sha256=t_TWPC6MDZMygRm9ujZ63nap014Sb5htaW5QEOjrmgI,189
|
|
46
|
-
jupytergis_lab-0.4.5.dist-info/METADATA,sha256=v8R1BtT5-P85qsbjbk-8y_AQBbIxIqqzJ6Ie2gAlqDs,3151
|
|
47
|
-
jupytergis_lab-0.4.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
48
|
-
jupytergis_lab-0.4.5.dist-info/licenses/LICENSE,sha256=VblFgHMsSan_kg15lNsI-YHIqUOUNXGptcoaX2yDDhU,1531
|
|
49
|
-
jupytergis_lab-0.4.5.dist-info/RECORD,,
|