Skip to content

Documentation / @geoverse/editor-core / EditSession

Class: EditSession

Defined in: packages/editor-core/src/session.ts:76

编辑会话——把引擎、规则集、吸附索引聚成一个易用门面。 不持有地图实例(那是适配器的事),保持核心零地图库依赖。

Constructors

Constructor

ts
new EditSession(options?): EditSession;

Defined in: packages/editor-core/src/session.ts:95

Parameters

options?

EditSessionOptions = {}

Returns

EditSession

Properties

engine

ts
readonly engine: EditEngine;

Defined in: packages/editor-core/src/session.ts:77


history?

ts
readonly optional history?: HistoryStore;

Defined in: packages/editor-core/src/session.ts:80

只读历史存储(RFC-0006),可选;驱动 restoreToVersion / 历史面板。


snap

ts
readonly snap: SnapIndex;

Defined in: packages/editor-core/src/session.ts:78


snapshots?

ts
readonly optional snapshots?: SnapshotStore;

Defined in: packages/editor-core/src/session.ts:82

只读快照存储(RFC-0006 V2),可选;驱动快照面板。

Accessors

matchedIds

Get Signature

ts
get matchedIds(): string[];

Defined in: packages/editor-core/src/session.ts:278

当前命中要素 id(无过滤时为空)。

Returns

string[]

Methods

attach()

ts
attach(adapter): () => void;

Defined in: packages/editor-core/src/session.ts:336

把适配器接进会话:绑定交互并初始渲染,返回解绑函数。

Parameters

adapter

MapAdapter

Returns

() => void


clearFilter()

ts
clearFilter(): void;

Defined in: packages/editor-core/src/session.ts:268

清除过滤。

Returns

void


clearSelection()

ts
clearSelection(): void;

Defined in: packages/editor-core/src/session.ts:181

Returns

void


copy()

ts
copy(ids?): number;

Defined in: packages/editor-core/src/session.ts:203

复制要素到剪贴板(默认当前选择集)。非 ChangeSet,不改模型。

Parameters

ids?

string[] = ...

Returns

number


createSnapshot()

ts
createSnapshot(input): Promise<DatasetSnapshot>;

Defined in: packages/editor-core/src/session.ts:152

打数据集快照标签(默认硬快照,固化各要素版本号)。

Parameters

input

CreateSnapshotInput

Returns

Promise<DatasetSnapshot>


extentOf()

ts
extentOf(ids): BBox | null;

Defined in: packages/editor-core/src/session.ts:308

要素集合的包围盒(WGS-84 工作坐标;空集返回 null)。供适配器 fit 视野。

Parameters

ids

string[]

Returns

BBox | null


getSelected()

ts
getSelected(): string[];

Defined in: packages/editor-core/src/session.ts:187

Returns

string[]


getSnapshotFeatures()

ts
getSnapshotFeatures(id): Promise<EditableFeature[]>;

Defined in: packages/editor-core/src/session.ts:162

取某快照时点的要素集(只读浏览)。

Parameters

id

string

Returns

Promise<EditableFeature[]>


hasClipboard()

ts
hasClipboard(): boolean;

Defined in: packages/editor-core/src/session.ts:210

Returns

boolean


isSelected()

ts
isSelected(id): boolean;

Defined in: packages/editor-core/src/session.ts:191

Parameters

id

string

Returns

boolean


listSnapshots()

ts
listSnapshots(): Promise<DatasetSnapshot[]>;

Defined in: packages/editor-core/src/session.ts:157

列出全部快照标签。

Returns

Promise<DatasetSnapshot[]>


loadSnapTargets()

ts
loadSnapTargets(targets): void;

Defined in: packages/editor-core/src/session.ts:317

刷新吸附候选(适配器在视口变化时调用)。

Parameters

targets

SnapTarget[]

Returns

void


onFilterChange()

ts
onFilterChange(listener): () => void;

Defined in: packages/editor-core/src/session.ts:282

Parameters

listener

FilterListener

Returns

() => void


onSelectionChange()

ts
onSelectionChange(listener): () => void;

Defined in: packages/editor-core/src/session.ts:195

Parameters

listener

SelectionListener

Returns

() => void


paste()

ts
paste(offset?): EditResult | undefined;

Defined in: packages/editor-core/src/session.ts:215

粘贴剪贴板要素(赋新临时 id,可加偏移)。经 AddFeaturesCommand 落地,可撤销。

Parameters

offset?

[number, number] = ...

Returns

EditResult | undefined


resolveSchema()

ts
resolveSchema(declared?): FieldSchema;

Defined in: packages/editor-core/src/session.ts:248

解析字段表:从当前要素 properties 推断,declared 声明优先、推断补缺。

Parameters

declared?

FieldSchema

Returns

FieldSchema


resolveSnap()

ts
resolveSnap(near, tol): 
  | SnapHit
  | {
  coord: Position;
  distance: number;
  target: null;
};

Defined in: packages/editor-core/src/session.ts:322

经吸附求落点:命中返回吸附坐标,否则返回原坐标。

Parameters

near

Position

tol

number

Returns

| SnapHit | { coord: Position; distance: number; target: null; }


restoreToVersion()

ts
restoreToVersion(id, version): Promise<EditResult>;

Defined in: packages/editor-core/src/session.ts:121

从 history 取版本 N 的快照并回滚到它(需构造时传 history)。

Parameters

id

string

version

number

Returns

Promise<EditResult>


restoreVersion()

ts
restoreVersion(
   id, 
   target, 
   version?): EditResult;

Defined in: packages/editor-core/src/session.ts:110

回滚要素到给定快照(几何 + 可选属性)。经 RestoreFeatureVersionCommand 落地—— 可撤销、可提交(携当前版本做 base,多人协同走三路合并)。

Parameters

id

string

target

RestoreTarget

version?

number

Returns

EditResult


select()

ts
select(ids, additive?): void;

Defined in: packages/editor-core/src/session.ts:169

选择要素;additive=true 为追加(shift 多选)。

Parameters

ids

string[]

additive?

boolean = false

Returns

void


setFilter()

ts
setFilter(predicate, opts?): void;

Defined in: packages/editor-core/src/session.ts:256

设置过滤谓词;激活后随要素变更实时重算命中集,经 onFilterChange 下发。

Parameters

predicate

AttributePredicate

opts?

AttributeFilterOptions = {}

Returns

void


setProperties()

ts
setProperties(
   id, 
   patch, 
   label?): EditResult;

Defined in: packages/editor-core/src/session.ts:232

改单要素字段值(浅合并 patch)。经 SetPropertiesCommand 落地,可撤销。

Parameters

id

string

patch

Record<string, unknown>

label?

string

Returns

EditResult


setPropertiesBatch()

ts
setPropertiesBatch(spec, label?): EditResult;

Defined in: packages/editor-core/src/session.ts:241

批量改字段值(统一 patch 或 perId)。

Parameters

spec

BatchPropertySpec

label?

string

Returns

EditResult


toggle()

ts
toggle(id): void;

Defined in: packages/editor-core/src/session.ts:175

Parameters

id

string

Returns

void