Source code for dtcc_core.model.object.landuse
from dataclasses import dataclass, field
from typing import Union, List, Tuple
from enum import Enum, auto
from .object import Object, GeometryType
from ..geometry import Surface, MultiSurface
from ..geometry import Bounds
from .. import dtcc_pb2 as proto
import numpy as np
[docs]
class LanduseClasses(Enum):
WATER = auto()
GRASS = auto()
FOREST = auto()
FARMLAND = auto()
LIGHT_URBAN = auto()
URBAN = auto()
HEAVY_URBAN = auto()
INDUSTRIAL = auto()
MILITARY = auto()
ROAD = auto()
RAIL = auto()
UNKNOWN = 9999
[docs]
@dataclass
class Landuse(Object):
landuses: List[LanduseClasses] = field(default_factory=list)
@property
def surfaces(self) -> List[Surface]:
geom = self.geometry.get(GeometryType.MULTISURFACE)
if geom is None:
return []
return geom.surfaces
[docs]
def to_proto(self) -> proto.Object:
pass
[docs]
def from_proto(self, pb: Union[proto.Object, bytes]):
pass