dgeoutils 2.4.47 → 2.4.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DCircle.d.ts +18 -0
- package/dist/cjs/DCircle.js +102 -0
- package/dist/cjs/DLine.d.ts +39 -0
- package/dist/cjs/DLine.js +343 -0
- package/dist/cjs/DNumbers.d.ts +8 -0
- package/dist/cjs/DNumbers.js +30 -0
- package/dist/cjs/DPlane.d.ts +25 -0
- package/dist/cjs/DPlane.js +132 -0
- package/dist/cjs/DPoint.d.ts +138 -0
- package/dist/cjs/DPoint.js +803 -0
- package/dist/cjs/DPolygon.d.ts +137 -0
- package/dist/cjs/DPolygon.js +1745 -0
- package/dist/cjs/DPolygonLoop.d.ts +60 -0
- package/dist/cjs/DPolygonLoop.js +439 -0
- package/dist/cjs/FastSearch.d.ts +6 -0
- package/dist/cjs/FastSearch.js +53 -0
- package/dist/cjs/InterpolationMatrix.d.ts +24 -0
- package/dist/cjs/InterpolationMatrix.js +173 -0
- package/dist/cjs/TraceMatrix.d.ts +22 -0
- package/dist/cjs/TraceMatrix.js +285 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/utils.d.ts +49 -0
- package/dist/cjs/utils.js +281 -0
- package/dist/es2015/DCircle.js +87 -0
- package/dist/es2015/DLine.js +290 -0
- package/dist/es2015/DNumbers.js +22 -0
- package/dist/es2015/DPlane.js +105 -0
- package/dist/es2015/DPoint.js +676 -0
- package/dist/es2015/DPolygon.js +1193 -0
- package/dist/es2015/DPolygonLoop.js +430 -0
- package/dist/es2015/FastSearch.js +25 -0
- package/dist/es2015/InterpolationMatrix.js +128 -0
- package/dist/es2015/TraceMatrix.js +229 -0
- package/dist/es2015/index.js +11 -0
- package/dist/es2015/utils.js +208 -0
- package/dist/esm/DCircle.js +99 -0
- package/dist/esm/DLine.js +340 -0
- package/dist/esm/DNumbers.js +27 -0
- package/dist/esm/DPlane.js +129 -0
- package/dist/esm/DPoint.js +800 -0
- package/dist/esm/DPolygon.js +1742 -0
- package/dist/esm/DPolygonLoop.js +436 -0
- package/dist/esm/FastSearch.js +50 -0
- package/dist/esm/InterpolationMatrix.js +170 -0
- package/dist/esm/TraceMatrix.js +282 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/utils.js +266 -0
- package/dist/umd/dgeoutils.js +4348 -0
- package/dist/umd/dgeoutils.min.js +1 -0
- package/dist/umd/dgeoutils.min.js.map +1 -0
- package/package.json +9 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.DPlane = void 0;
|
|
20
|
+
var DPoint_1 = require("./DPoint");
|
|
21
|
+
var utils_1 = require("./utils");
|
|
22
|
+
var DNumbers_1 = require("./DNumbers");
|
|
23
|
+
var DPlane = (function () {
|
|
24
|
+
function DPlane(a, b, c, d, p1, p2, p3) {
|
|
25
|
+
if (p1 === void 0) { p1 = DPoint_1.DPoint.zero(); }
|
|
26
|
+
if (p2 === void 0) { p2 = DPoint_1.DPoint.zero(); }
|
|
27
|
+
if (p3 === void 0) { p3 = DPoint_1.DPoint.zero(); }
|
|
28
|
+
this.a = a;
|
|
29
|
+
this.b = b;
|
|
30
|
+
this.c = c;
|
|
31
|
+
this.d = d;
|
|
32
|
+
this.p1 = p1;
|
|
33
|
+
this.p2 = p2;
|
|
34
|
+
this.p3 = p3;
|
|
35
|
+
}
|
|
36
|
+
DPlane.find = function (p1, p2, p3) {
|
|
37
|
+
if (p1.x === p2.x && p2.x === p3.x) {
|
|
38
|
+
return new DPlane(1, 0, 0, -p1.x, p1, p2, p3);
|
|
39
|
+
}
|
|
40
|
+
if (p1.y === p2.y && p2.y === p3.y) {
|
|
41
|
+
return new DPlane(0, 1, 0, -p1.y, p1, p2, p3);
|
|
42
|
+
}
|
|
43
|
+
if (p1.z === p2.z && p2.z === p3.z) {
|
|
44
|
+
return new DPlane(0, 0, 1, -p1.z, p1, p2, p3);
|
|
45
|
+
}
|
|
46
|
+
var d = 1;
|
|
47
|
+
var _a = __read((0, utils_1.gaussianElimination)([
|
|
48
|
+
[p1.x, p1.y, p1.z, -d],
|
|
49
|
+
[p2.x, p2.y, p2.z, -d],
|
|
50
|
+
[p3.x, p3.y, p3.z, -d]
|
|
51
|
+
]), 3), a = _a[0], b = _a[1], c = _a[2];
|
|
52
|
+
return new DPlane(a, b, c, d, p1, p2, p3);
|
|
53
|
+
};
|
|
54
|
+
DPlane.prototype.x = function (p) {
|
|
55
|
+
var _this = this;
|
|
56
|
+
if (p instanceof DPoint_1.DPoint) {
|
|
57
|
+
var _a = this, a = _a.a, b = _a.b, c = _a.c, d = _a.d;
|
|
58
|
+
var y = p.y, z = p.z;
|
|
59
|
+
p.x = -(b * y + c * z + d) / a;
|
|
60
|
+
return p;
|
|
61
|
+
}
|
|
62
|
+
return p.map(function (t) { return _this.x(t); });
|
|
63
|
+
};
|
|
64
|
+
DPlane.prototype.y = function (p) {
|
|
65
|
+
var _this = this;
|
|
66
|
+
if (p instanceof DPoint_1.DPoint) {
|
|
67
|
+
var _a = this, a = _a.a, b = _a.b, c = _a.c, d = _a.d;
|
|
68
|
+
var x = p.x, z = p.z;
|
|
69
|
+
p.y = -(a * x + c * z + d) / b;
|
|
70
|
+
return p;
|
|
71
|
+
}
|
|
72
|
+
return p.map(function (t) { return _this.y(t); });
|
|
73
|
+
};
|
|
74
|
+
DPlane.prototype.z = function (p) {
|
|
75
|
+
var _this = this;
|
|
76
|
+
if (p instanceof DPoint_1.DPoint) {
|
|
77
|
+
var _a = this, a = _a.a, b = _a.b, c = _a.c, d = _a.d;
|
|
78
|
+
var x = p.x, y = p.y;
|
|
79
|
+
p.z = -(a * x + b * y + d) / c;
|
|
80
|
+
return p;
|
|
81
|
+
}
|
|
82
|
+
return p.map(function (t) { return _this.z(t); });
|
|
83
|
+
};
|
|
84
|
+
DPlane.prototype.clone = function () {
|
|
85
|
+
var _a = this, a = _a.a, b = _a.b, c = _a.c, d = _a.d, p1 = _a.p1, p2 = _a.p2, p3 = _a.p3;
|
|
86
|
+
return new DPlane(a, b, c, d, p1, p2, p3);
|
|
87
|
+
};
|
|
88
|
+
DPlane.prototype.distance = function (p) {
|
|
89
|
+
if (p instanceof DPoint_1.DPoint) {
|
|
90
|
+
var x = p.x, y = p.y, z = p.z;
|
|
91
|
+
var _a = this, a_1 = _a.a, b_1 = _a.b, c_1 = _a.c, d_1 = _a.d;
|
|
92
|
+
return Math.abs(a_1 * x + b_1 * y + c_1 * z + d_1) / Math.sqrt(a_1 * a_1 + b_1 * b_1 + c_1 * c_1);
|
|
93
|
+
}
|
|
94
|
+
var _b = p, a = _b.a, b = _b.b, c = _b.c, d = _b.d;
|
|
95
|
+
var r = this.d;
|
|
96
|
+
return Math.abs(d - r) / Math.sqrt(a * a + b * b + c * c);
|
|
97
|
+
};
|
|
98
|
+
DPlane.prototype.equal = function (p) {
|
|
99
|
+
var a = p.a, b = p.b, c = p.c, d = p.d;
|
|
100
|
+
var _a = this, q = _a.a, w = _a.b, e = _a.c, r = _a.d;
|
|
101
|
+
return DNumbers_1.DNumbers.like(a, q) &&
|
|
102
|
+
DNumbers_1.DNumbers.like(b, w) &&
|
|
103
|
+
DNumbers_1.DNumbers.like(c, e) &&
|
|
104
|
+
DNumbers_1.DNumbers.like(d, r);
|
|
105
|
+
};
|
|
106
|
+
DPlane.prototype.same = function (p) {
|
|
107
|
+
var a = p.a, b = p.b, c = p.c, d = p.d;
|
|
108
|
+
var _a = this, q = _a.a, w = _a.b, e = _a.c, r = _a.d;
|
|
109
|
+
var t = a / q;
|
|
110
|
+
var y = b / w;
|
|
111
|
+
var u = c / e;
|
|
112
|
+
var i = d / r;
|
|
113
|
+
return DNumbers_1.DNumbers.like(t, y) &&
|
|
114
|
+
DNumbers_1.DNumbers.like(t, u) &&
|
|
115
|
+
DNumbers_1.DNumbers.like(t, c) &&
|
|
116
|
+
DNumbers_1.DNumbers.like(t, i);
|
|
117
|
+
};
|
|
118
|
+
DPlane.prototype.parallel = function (p) {
|
|
119
|
+
var a = p.a, b = p.b, c = p.c, d = p.d;
|
|
120
|
+
var _a = this, q = _a.a, w = _a.b, e = _a.c, r = _a.d;
|
|
121
|
+
var t = a / q;
|
|
122
|
+
var y = b / w;
|
|
123
|
+
var u = c / e;
|
|
124
|
+
var i = d / r;
|
|
125
|
+
return DNumbers_1.DNumbers.like(t, y) &&
|
|
126
|
+
DNumbers_1.DNumbers.like(t, u) &&
|
|
127
|
+
DNumbers_1.DNumbers.like(t, c) &&
|
|
128
|
+
!DNumbers_1.DNumbers.like(t, i);
|
|
129
|
+
};
|
|
130
|
+
return DPlane;
|
|
131
|
+
}());
|
|
132
|
+
exports.DPlane = DPlane;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { DLine } from './DLine';
|
|
2
|
+
import { DPolygon } from './DPolygon';
|
|
3
|
+
import { Point, Feature } from 'geojson';
|
|
4
|
+
export declare const EARTH_RADIUS_IN_METERS = 6378137;
|
|
5
|
+
export declare type DCoord = [number, number] | [number, number, number];
|
|
6
|
+
export interface LatLng {
|
|
7
|
+
lat: number;
|
|
8
|
+
lng?: number;
|
|
9
|
+
lon?: number;
|
|
10
|
+
alt?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface XYZ extends Record<string, any> {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
z?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare const HALF_PI_IN_DEGREE = 90;
|
|
18
|
+
export declare const PI_IN_DEGREE = 180;
|
|
19
|
+
export declare const DOUBLE_PI_IN_DEGREE = 360;
|
|
20
|
+
export declare const PI_TO_DEGREE: number;
|
|
21
|
+
export declare const DEGREE_TO_PI: number;
|
|
22
|
+
declare type SetterFunction<T> = (t: DPoint) => T;
|
|
23
|
+
export declare class DPoint {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
z?: number | undefined;
|
|
27
|
+
properties: Record<string, any>;
|
|
28
|
+
constructor();
|
|
29
|
+
constructor(xy: number);
|
|
30
|
+
constructor(x: number, y: number);
|
|
31
|
+
constructor(x: number, y: number, z?: number);
|
|
32
|
+
static zero(): DPoint;
|
|
33
|
+
static parse(c: LatLng | number[] | DCoord | Point | Feature<Point> | XYZ, format?: string): DPoint;
|
|
34
|
+
static parseFromWKT(wkt: string): DPoint;
|
|
35
|
+
static random(): DPoint;
|
|
36
|
+
static getTileFromQuadKey(quadKey: string): DPoint;
|
|
37
|
+
toDegreesMinutesSeconds(): {
|
|
38
|
+
x: string;
|
|
39
|
+
y: string;
|
|
40
|
+
};
|
|
41
|
+
getTileFromCoords(zoom?: number): DPoint;
|
|
42
|
+
getQuadKeyFromTile(zoom?: number): string;
|
|
43
|
+
getCoordsFromTile(zoom?: number): DPoint;
|
|
44
|
+
toCoords(format?: string): DCoord;
|
|
45
|
+
toGeoJSON(format?: string): Point;
|
|
46
|
+
toGeoJSONFeature(format?: string): Feature<Point>;
|
|
47
|
+
findLine(p: DPoint): DLine;
|
|
48
|
+
findInnerAngle(p1: DPoint, p3: DPoint): number;
|
|
49
|
+
toString(): string;
|
|
50
|
+
getValue(): [number, number];
|
|
51
|
+
height(z: number): DPoint;
|
|
52
|
+
toWKT(): string;
|
|
53
|
+
distance(p: DPoint): number;
|
|
54
|
+
distance3d(p: DPoint): number;
|
|
55
|
+
setX(x: number): DPoint;
|
|
56
|
+
setX(f: SetterFunction<number>): DPoint;
|
|
57
|
+
setZ(z: number): DPoint;
|
|
58
|
+
setZ(f: SetterFunction<number>): DPoint;
|
|
59
|
+
setY(y: number): DPoint;
|
|
60
|
+
setY(f: SetterFunction<number>): DPoint;
|
|
61
|
+
setProperties(v: SetterFunction<Record<string, any>> | Record<string, any>): DPoint;
|
|
62
|
+
clone(): DPoint;
|
|
63
|
+
gt(p: DPoint): boolean;
|
|
64
|
+
lt(p: DPoint): boolean;
|
|
65
|
+
gtOrEqual(p: DPoint): boolean;
|
|
66
|
+
ltOrEqual(p: DPoint): boolean;
|
|
67
|
+
rotate(a: number): DPoint;
|
|
68
|
+
rotate3dX(a: number): DPoint;
|
|
69
|
+
rotate3dY(a: number): DPoint;
|
|
70
|
+
rotate3dZ(a: number): DPoint;
|
|
71
|
+
move(v: number): DPoint;
|
|
72
|
+
move(p: DPoint): DPoint;
|
|
73
|
+
move(x: number, y: number): DPoint;
|
|
74
|
+
move(x: number, y: number, z: number): DPoint;
|
|
75
|
+
degreeToMeters(): DPoint;
|
|
76
|
+
metersToDegree(): DPoint;
|
|
77
|
+
degreeToRadians(): DPoint;
|
|
78
|
+
radiansToDegrees(): DPoint;
|
|
79
|
+
radiansToMeters(): DPoint;
|
|
80
|
+
metersToRadians(): DPoint;
|
|
81
|
+
round(): DPoint;
|
|
82
|
+
ceil(): DPoint;
|
|
83
|
+
floor(): DPoint;
|
|
84
|
+
toFixed(n?: number): DPoint;
|
|
85
|
+
abs(): DPoint;
|
|
86
|
+
scale(v: number): DPoint;
|
|
87
|
+
scale(p: DPoint): DPoint;
|
|
88
|
+
scale(x: number, y: number): DPoint;
|
|
89
|
+
scale(x: number, y: number, z: number): DPoint;
|
|
90
|
+
divide(v: number): DPoint;
|
|
91
|
+
divide(p: DPoint): DPoint;
|
|
92
|
+
divide(x: number, y: number): DPoint;
|
|
93
|
+
divide(x: number, y: number, z: number): DPoint;
|
|
94
|
+
mod(v: number): DPoint;
|
|
95
|
+
mod(p: DPoint): DPoint;
|
|
96
|
+
mod(x: number, y: number): DPoint;
|
|
97
|
+
mod(x: number, y: number, z: number): DPoint;
|
|
98
|
+
div(v: number): DPoint;
|
|
99
|
+
div(p: DPoint): DPoint;
|
|
100
|
+
div(x: number, y: number): DPoint;
|
|
101
|
+
div(x: number, y: number, z: number): DPoint;
|
|
102
|
+
equal(p: DPoint): boolean;
|
|
103
|
+
like(p: DPoint, d?: number): boolean;
|
|
104
|
+
flipVertically(size: DPoint): DPoint;
|
|
105
|
+
flipVertically(height: number): DPoint;
|
|
106
|
+
get likeRadians(): boolean;
|
|
107
|
+
get likeWorldGeodeticSystem(): boolean;
|
|
108
|
+
get likePseudoMercator(): boolean;
|
|
109
|
+
get w(): number;
|
|
110
|
+
set w(x: number);
|
|
111
|
+
get h(): number;
|
|
112
|
+
set h(y: number);
|
|
113
|
+
get area(): number;
|
|
114
|
+
get hip(): number;
|
|
115
|
+
get min(): number;
|
|
116
|
+
get max(): number;
|
|
117
|
+
get hipPoint(): DPoint;
|
|
118
|
+
get xPoint(): DPoint;
|
|
119
|
+
get yPoint(): DPoint;
|
|
120
|
+
get wPoint(): DPoint;
|
|
121
|
+
get hPoint(): DPoint;
|
|
122
|
+
get lat(): number;
|
|
123
|
+
set lat(v: number);
|
|
124
|
+
get lng(): number;
|
|
125
|
+
set lng(v: number);
|
|
126
|
+
get lon(): number;
|
|
127
|
+
set lon(v: number);
|
|
128
|
+
get alt(): number | undefined;
|
|
129
|
+
set alt(v: number | undefined);
|
|
130
|
+
simple<T extends Record<string, number>>(xKey?: string, yKey?: string, zKey?: string): T;
|
|
131
|
+
setIfLessThan(p: DPoint): DPoint;
|
|
132
|
+
setIfMoreThan(p: DPoint): DPoint;
|
|
133
|
+
minus(): DPoint;
|
|
134
|
+
orthodromicPath(point: DPoint, pointsCount?: number): DPolygon;
|
|
135
|
+
sortByDistance(p: DPolygon): DPolygon;
|
|
136
|
+
calculateAltitudeByDistanceBetweenPoints(p1: DPoint, p2: DPoint): DPoint;
|
|
137
|
+
}
|
|
138
|
+
export {};
|