UNPKG

gisviewer-vue3-arcgis

Version:

在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:

95 lines (94 loc) 3.16 kB
import { Point, Polygon, Polyline } from '@arcgis/core/geometry'; import Graphic from '@arcgis/core/Graphic'; import * as turf from '@turf/helpers'; export default class CommonUtils { /** * 得到某个点在一定方向、距离之外的另一个点 * @param point * @param angel * @param distance * @returns */ static destinationWithPoint(point: Point, angel: number, distance: number): Point; /** * 线段与正北方向夹角 * @param line * @returns */ static angleOfLine(line: Polyline): number; /** * 在头尾两个方向上延长折线 * @param line * @param distance */ static extendLineInTowDir(line: Polyline, distance: number): Polyline; /** * 两条线的交点 * @param line1 * @param line2 * @returns */ static getIntersectPointOfTwoLines(line1: Polyline, line2: Polyline): Promise<Point | undefined>; /** * 获取停止线与车道面的交点 * @param stopLine * @param lanePolygon * @param offsetDistances * @returns */ static getIntersectPointsOfStopLineAndLane(stopLine: Polyline, lanePolygon: Polygon, offsetDistances?: number[]): Promise<number[][]>; /** * 两个点之间的距离 * @param points * @returns */ private static pointDistance; /** * 线按一定距离平移之后,与面相交的两个端点 * @param line * @param polygon * @param offsetDistance 线平移的距离 * @returns 线面交线的头尾端点 */ static getIntersectPointOfLineAndPolygon(line: Polyline, polygon: Polygon, offsetDistance?: number): Promise<number[][]>; /** * 对polyline做平移 * @param line * @param offsetDistance * @returns 平移后的polyline */ static getOffsetLine(line: Polyline, offsetDistance: number): Promise<Polyline>; /** * 解压 * @param key * @returns */ static unzip(key: string): string | undefined; static getStdVecEntries(std_vec: any, delete_vec?: boolean): any[]; static getStdMapEntries(std_map: any): any[]; static getStdMapKeys(std_map: any, delete_map?: boolean): any[]; static geoReference: string; static xOffset: number; static yOffset: number; static setGeoData(geoReference: string, xOffset: number, yOffset: number): void; /** * OpenDrive坐标转换为WGS84坐标 * @param line * @returns */ static transformLineProjection(line: number[][]): number[][]; static transformPointProjection(point: number[]): number[]; static pointsEqual(point1: number[], point2: number[]): boolean; static getExtensionLine(pt1: number[], pt2: number[], distance: number): turf.Position; static isCoordinateValid(coordinate: { latitude: number | string; longitude: number | string; }): boolean; /** * 获取折线中点 * @param line * @returns */ static getCenterPointInLine(line: number[][]): number[]; static viewGoto(view: __esri.MapView | __esri.SceneView, target: Graphic[], zoom?: boolean): Promise<void>; }