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