Skip to content

Commit 5cbdaaa

Browse files
author
Stefan Kuethe
committed
Add vector image layer
1 parent 9e5c16a commit 5cbdaaa

File tree

4 files changed

+35
-2
lines changed

4 files changed

+35
-2
lines changed

examples/standalone/layers/image_vector_layer.py

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# See https://openlayers.org/en/latest/examples/image-vector-layer.html
2+
3+
import openlayers as ol
4+
# from openlayers.models.layers import VectorImageLayer
5+
6+
data = "https://openlayers.org/data/vector/ecoregions.json"
7+
8+
style = ol.FlatStyle(
9+
fill_color=['string', ['get', 'COLOR'], '#eee']
10+
)
11+
12+
layer = ol.VectorImageLayer(
13+
background="#1a2b39",
14+
image_ratio=2,
15+
source=ol.VectorSource(url=data),
16+
style=style
17+
)
18+
19+
m = ol.Map(layers=[layer])
20+
m.save()

src/openlayers/layers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
WebGLVectorLayer,
1111
VectorTileLayer,
1212
WebGLVectorTileLayer,
13+
VectorImageLayer,
1314
)
1415

1516
__all__ = [
@@ -20,4 +21,5 @@
2021
"BasemapLayer",
2122
"VectorTileLayer",
2223
"WebGLVectorTileLayer",
24+
"VectorImageLayer"
2325
]

src/openlayers/models/layers.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,18 @@ def validate_style(cls, v):
5757
return v
5858
"""
5959

60+
class VectorImageLayer(VectorLayer):
61+
"""A layer for rendering vector sources
62+
63+
This layer type provides great performance during panning and zooming,
64+
but point symbols and texts are always rotated with the view and pixels are scaled during zoom animations.
65+
66+
Note:
67+
See also [VectorImageLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_VectorImage-VectorImageLayer.html)
68+
"""
69+
image_ratio: int | None = Field(None, serialization_alias="imageRatio")
70+
71+
6072
class WebGLVectorLayer(VectorLayer):
6173
"""A layer for rendering vector sources using WebGL"""
6274
...
@@ -79,4 +91,5 @@ class WebGLTileLayer(Layer):
7991
WebGLTileLayer,
8092
VectorTileLayer,
8193
WebGLVectorTileLayer,
94+
VectorImageLayer
8295
]

0 commit comments

Comments
 (0)