@@ -12,33 +12,59 @@ class Source(OLBaseModel): ...
1212
1313# --- Sources
1414class VectorSource (Source ):
15+ """Vector source"""
16+
1517 url : str | None = None
1618 # features: list[dict] | None = None
1719 geojson : dict | None = Field (None , serialization_alias = "@@geojson" )
1820 format : FormatT | dict = GeoJSON ()
1921
2022
21- class OSM (Source ): ...
23+ class OSM (Source ):
24+ """OSM source"""
25+
26+ ...
2227
2328
2429class GeoTIFFSource (Source ):
30+ """GeoTIFF source"""
31+
2532 normalize : bool | None = None
2633 sources : list [dict ]
2734
2835
2936class ImageTileSource (Source ):
37+ """Image tile source"""
38+
3039 url : str
3140 attributions : str | None = None
3241 min_zoom : float | int | None = Field (0 , serialization_alias = "minZoom" )
3342 max_zoom : float | int | None = Field (20 , serialization_alias = "maxZoom" )
3443
3544
36- class VectorTileSource (ImageTileSource ): ...
45+ class VectorTileSource (ImageTileSource ):
46+ """A source for vector data divided into a tile grid
47+
48+ Note:
49+ See [VectorTile](https://openlayers.org/en/latest/apidoc/module-ol_source_VectorTile-VectorTile.html)
50+ """
3751
52+ ...
53+
54+
55+ class TileJSONSource (ImageTileSource ):
56+ """A source for tile data in TileJSON format
57+
58+ Note:
59+ See [TileJSON](https://openlayers.org/en/latest/apidoc/module-ol_source_TileJSON-TileJSON.html) for details.
60+ """
3861
39- class TileJSON (ImageTileSource ):
4062 cross_origin : str = Field ("anonymous" , serialization_alias = "crossOrigin" )
4163
64+ @property
65+ def type (self ) -> str :
66+ return "TileJSON"
67+
4268
4369# PMTiles extension
4470# See https://docs.protomaps.com/pmtiles/openlayers
@@ -58,7 +84,7 @@ class PMTilesRasterSource(PMTilesVectorSource):
5884 GeoTIFFSource ,
5985 ImageTileSource ,
6086 ImageTileSource ,
61- TileJSON ,
87+ TileJSONSource ,
6288 PMTilesVectorSource ,
6389 PMTilesRasterSource ,
6490]
0 commit comments