def __init__(self, name=None, workspace=None, source=None, schema=None): if not workspace: from geoscript.workspace import Memory workspace = Memory() name = name if name else schema.name if schema else Layer._newname() if not source: layer = None try: layer = workspace.get(name) except KeyError: pass if not layer: if schema: layer = workspace.create(schema.name, schema.fields) else: layer = workspace.create(name) source = layer._source elif isinstance(source, FeatureCollection): source = CollectionDelegatingFeatureSource(source) self.workspace = workspace self.schema = schema or feature.Schema(ft=source.schema) self._source = source # keep a crs local to allow the native crs to be overriden, or to # provide a crs for layers that don't have one specified self._proj = None
def __init__(self, name=None, workspace=None, fs=None, schema=None): if not workspace: from geoscript.workspace import Memory workspace = Memory() name = name or Layer._newname() if not fs: layer = None try: layer = workspace.get(name) except KeyError: pass if not layer: if schema: layer = workspace.create(schema.name, schema.fields) else: layer = workspace.create(name) fs = layer._source self.workspace = workspace self.schema = schema or feature.Schema(ft=fs.schema) self._source = fs # keep a crs local to allow the native crs to be overriden, or to # provide a crs for layers that don't have one specified self._proj = None