diff --git a/src/specklepy/objects/GIS/CRS.py b/src/specklepy/objects/GIS/CRS.py index b21b6c5..746f442 100644 --- a/src/specklepy/objects/GIS/CRS.py +++ b/src/specklepy/objects/GIS/CRS.py @@ -5,26 +5,12 @@ from specklepy.objects import Base class CRS(Base, speckle_type="Objects.GIS.CRS"): """A Coordinate Reference System stored in wkt format""" - def __init__( - self, - name: Optional[str] = None, - authority_id: Optional[str] = None, - wkt: Optional[str] = None, - units: Optional[str] = None, - units_native: Optional[str] = None, - offset_x: Optional[float] = None, - offset_y: Optional[float] = None, - rotation: Optional[float] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) + name: Optional[str] = None + authority_id: Optional[str] = None + wkt: Optional[str] = None + units_native: Optional[str] = None + offset_x: Optional[float] = None + offset_y: Optional[float] = None + rotation: Optional[float] = None - self.name = name - self.authority_id = authority_id - self.wkt = wkt - self.units = units or "m" - self.units_native = units_native - self.offset_x = offset_x - self.offset_y = offset_y - self.rotation = rotation diff --git a/src/specklepy/objects/GIS/geometry.py b/src/specklepy/objects/GIS/geometry.py index 2d66f6c..b692fa5 100644 --- a/src/specklepy/objects/GIS/geometry.py +++ b/src/specklepy/objects/GIS/geometry.py @@ -6,99 +6,48 @@ from deprecated import deprecated class GisPolygonGeometry(Base, speckle_type="Objects.GIS.PolygonGeometry", detachable={"displayValue"}): """GIS Polygon Geometry""" - - def __init__( - self, - boundary: Optional[Union[Polyline, Arc, Line, Circle, Polycurve]] = None, - voids: Optional[List[Union[Polyline, Arc, Line, Circle, Polycurve]] ] = None, - displayValue: Optional[List[Mesh]] = None, - units: Optional[str] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) - self.boundary = boundary - self.voids = voids - self.displayValue = displayValue - self.units = units or "m" + boundary: Optional[Union[Polyline, Arc, Line, Circle, Polycurve]] = None + voids: Optional[List[Union[Polyline, Arc, Line, Circle, Polycurve]] ] = None + displayValue: Optional[List[Mesh]] = None class GisPolygonElement(Base, speckle_type="Objects.GIS.PolygonElement"): """GIS Polygon element""" - - def __init__( - self, - geometry: Optional[List[GisPolygonGeometry]] = None, - attributes: Optional[Base] = None, - units: Optional[str] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) - self.geometry = geometry - self.attributes = attributes - self.units = units or "m" + geometry: Optional[List[GisPolygonGeometry]] = None + attributes: Optional[Base] = None class GisLineElement(Base, speckle_type="Objects.GIS.LineElement"): """GIS Polyline element""" - - def __init__( - self, - geometry: Optional[List[Union[Polyline, Arc, Line, Circle, Polycurve]]] = None, - attributes: Optional[Base] = None, - units: Optional[str] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) - - self.geometry = geometry - self.attributes = attributes - self.units = units or "m" + + geometry: Optional[List[Union[Polyline, Arc, Line, Circle, Polycurve]]] = None, + attributes: Optional[Base] = None, class GisPointElement(Base, speckle_type="Objects.GIS.PointElement"): """GIS Point element""" - - def __init__( - self, - geometry: Optional[List[Point]] = None, - attributes: Optional[Base] = None, - units: Optional[str] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) - - self.geometry = geometry - self.attributes = attributes - self.units = units or "m" + + geometry: Optional[List[Point]] = None, + attributes: Optional[Base] = None, class GisRasterElement(Base, speckle_type="Objects.GIS.RasterElement", detachable={"displayValue"}): """GIS Raster element""" - def __init__( - self, - band_count: Optional[int] = None, - band_names: Optional[List[str]] = None, - x_origin: Optional[float] = None, - y_origin: Optional[float] = None, - x_size: Optional[int] = None, - y_size: Optional[int] = None, - x_resolution: Optional[float] = None, - y_resolution: Optional[float] = None, - noDataValue: Optional[List[float]] = None, - displayValue: Optional[List[Mesh]] = None, - units: Optional[str] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) - - self.band_count = band_count - self.band_names = band_names - self.x_origin = x_origin - self.y_origin = y_origin - self.x_size = x_size - self.y_size = y_size - self.x_resolution = x_resolution - self.y_resolution = y_resolution - self.noDataValue = noDataValue - self.displayValue = displayValue - self.units = units or "m" + band_count: Optional[int] = None + band_names: Optional[List[str]] = None + x_origin: Optional[float] = None + y_origin: Optional[float] = None + x_size: Optional[int] = None + y_size: Optional[int] = None + x_resolution: Optional[float] = None + y_resolution: Optional[float] = None + noDataValue: Optional[List[float]] = None + displayValue: Optional[List[Mesh]] = None + +class GisTopography(GisRasterElement, speckle_type="Objects.GIS.GisTopography", detachable={"displayValue"}): + """GIS Raster element with 3d Topography representation""" + +class GisNonGeometryElement(Base, speckle_type="Objects.GIS.NonGeometryElement"): + """GIS Table feature""" + + attributes: Optional[Base] = None diff --git a/src/specklepy/objects/GIS/layers.py b/src/specklepy/objects/GIS/layers.py index 092316a..92db79b 100644 --- a/src/specklepy/objects/GIS/layers.py +++ b/src/specklepy/objects/GIS/layers.py @@ -28,29 +28,22 @@ class Layer(Base, detachable={"features"}): self.geomType = geomType self.renderer = renderer or {} -class VectorLayer(Collection, detachable={"elements"}, speckle_type="Objects.GIS.VectorLayer", serialize_ignore={"features"}): +class VectorLayer( + Collection, + detachable={"elements"}, + speckle_type="Objects.GIS.VectorLayer", + serialize_ignore={"features"}): + """GIS Vector Layer""" - def __init__( - self, - name: Optional[str]=None, - crs: Optional[CRS]=None, - units: Optional[str] = None, - elements: Optional[List[Base]] = None, - attributes: Optional[Base] = None, - geomType: Optional[str] = None, - renderer: Optional[Dict[str, Any]] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) - self.name = name or "" - self.crs = crs - self.units = units - self.elements = elements or [] - self.attributes = attributes - self.geomType = geomType or "None" - self.renderer = renderer or {} - self.collectionType = "VectorLayer" + name: Optional[str]=None + crs: Optional[CRS]=None + units: Optional[str] = None + elements: Optional[List[Base]] = None + attributes: Optional[Base] = None + geomType: Optional[str] = "None" + renderer: Optional[Dict[str, Any]] = None + collectionType = "VectorLayer" @property @deprecated(version="2.14", reason="Use elements") @@ -61,29 +54,23 @@ class VectorLayer(Collection, detachable={"elements"}, speckle_type="Objects.GIS def features(self, value: Optional[List[Base]]) -> None: self.elements = value -class RasterLayer(Collection, detachable={"elements"}, speckle_type="Objects.GIS.RasterLayer", serialize_ignore={"features"}): +class RasterLayer( + Collection, + detachable={"elements"}, + speckle_type="Objects.GIS.RasterLayer", + serialize_ignore={"features"}): + """GIS Raster Layer""" - def __init__( - self, - name: Optional[str] = None, - crs: Optional[CRS]=None, - units: Optional[str] = None, - rasterCrs: Optional[CRS]=None, - elements: Optional[List[Base]] = None, - geomType: Optional[str] = None, - renderer: Optional[Dict[str, Any]] = None, - **kwargs - ) -> None: - super().__init__(**kwargs) - self.name = name or "" - self.crs = crs - self.units = units - self.rasterCrs = rasterCrs - self.elements = elements or [] - self.geomType = geomType or "None" - self.renderer = renderer or {} - self.collectionType = "RasterLayer" + name: Optional[str] = None + crs: Optional[CRS]=None + units: Optional[str] = None + rasterCrs: Optional[CRS]=None + elements: Optional[List[Base]] = None + geomType: Optional[str] = "None" + renderer: Optional[Dict[str, Any]] = None + collectionType = "RasterLayer" + @property @deprecated(version="2.14", reason="Use elements")