Pulls a declared layer, bounded by extent and cap, into the features store.
Does not throw: every outcome is a report. An unreachable source, an unknown layer
or an absent engine yield a named refused — a pull failing with zero and no motive
is indistinguishable from a genuinely empty layer, and that confusion is what this
closes.
One OGC page is one transaction and one progress tick. An interruption therefore keeps
what was already committed, and the persisted marker says the run did not finish — see
report/pull-state.ts for why that marker carries no cursor.
A layer declaring offline.source.delta is pulled as a DELTA once a complete pull of the
same source and extent has left a mark: only datetime=<mark>/.. is asked, tombstones leave
the device, and nothing is swept. Otherwise the pull is complete, and converges by removing
what it did not return.
When the layer is displayed, it is given what the store now holds as the run ends: the map
follows the pull without a reload, and geoleaf:layer:updated announces it.
Parameters
layerId: string
Identifier of the layer to pull.
options: LayerPullOptions = {}
Extent and abort signal.
Returns Promise<LayerPullReport>
The report of what was done.
Example
constreport = awaitGeoLeaf?.Storage?.pullLayer?.("sites_rosario"); if (report?.refused) console.warn("pas de rapatriement :", report.refused); elseconsole.info(`${report?.written} écrites, ${report?.removed} retirées (${report?.mode})`);
Pulls a declared layer, bounded by extent and cap, into the
featuresstore.Does not throw: every outcome is a report. An unreachable source, an unknown layer or an absent engine yield a named
refused— a pull failing with zero and no motive is indistinguishable from a genuinely empty layer, and that confusion is what this closes.One OGC page is one transaction and one progress tick. An interruption therefore keeps what was already committed, and the persisted marker says the run did not finish — see
report/pull-state.tsfor why that marker carries no cursor.A layer declaring
offline.source.deltais pulled as a DELTA once a complete pull of the same source and extent has left a mark: onlydatetime=<mark>/..is asked, tombstones leave the device, and nothing is swept. Otherwise the pull is complete, and converges by removing what it did not return.When the layer is displayed, it is given what the store now holds as the run ends: the map follows the pull without a reload, and
geoleaf:layer:updatedannounces it.