UNPKG

@vertigis/viewer-spec

Version:

VertiGIS Viewer Specification

68 lines (67 loc) 2.22 kB
import type { LayerExtension } from "@vertigis/arcgis-extensions/mapping/LayerExtension"; import type { SublayerExtension } from "@vertigis/arcgis-extensions/mapping/SublayerExtension"; /** * Well known connection points for topological editing. */ export interface TopologyConnections { /** * Enable connections to an edge, defaults to true. */ edge?: boolean; /** * Enable connections to vertices, defaults to allow all connections. */ vertices?: boolean; } /** * Configuration for topology destinations. */ export interface TopologyDestinationProperties { /** * The destination layer or sublayer extension. */ destination: LayerExtension | SublayerExtension; } /** * Maps topology source layers to destination layers to be considered. */ export interface TopologySourceMapping { /** * Types of topology connections to be considered for this source. */ connections?: TopologyConnections; /** * The topology destinations, if not provided all destinations will be * considered. */ destinations?: TopologyDestinationProperties[]; /** * The topology source. If omitted the configuration will be applied to all * existing sources. */ source?: LayerExtension | SublayerExtension; } /** * Configuration for topological editing and sketching. */ export interface TopologyProperties { /** * Configuration for topology sources. */ sourceMappings?: TopologySourceMapping[]; /** * A multiplier of the distance tolerance associated with the map's spatial * reference, which will be used to calculate a 'coincident distance' * threshold. Geometries that fall within the coincident distance of each * other will qualify as 'coincident' and will be affected by editing * operations while topological editing is enabled. * * Eg. Maps using the Web Mercator spatial reference (WKID 102100) have a * tolerance distance of 0.0001 meters; a coincidentRadius multiplier value * of 20 means geometries within 0.002 meters of each other would be * considered 'coincident.'. * * Defaults to 20. */ coincidentRadius?: number; }