@classmethod
def from_geojson(cls, geojson):
    """
        Construct a Workflows Feature from a GeoJSON mapping.

        Note that the GeoJSON must be relatively small (under 10MiB of serialized JSON).

        Parameters
        ----------
        geojson: Dict

        Returns
        -------
        ~descarteslabs.workflows.Feature
        """
    try:
        if geojson['type'].lower() != 'feature':
            raise ValueError('Expected a GeoJSON Feature type, not {!r}'.
                format(geojson['type']))
        return cls._from_apply(cls._constructor, geometry=geojson[
            'geometry'], properties=geojson['properties'])
    except KeyError:
        raise ValueError(
            "Expected a GeoJSON mapping containing the fields 'type', 'geometry' and 'properties', but got {}"
            .format(geojson))
