@vcmap/core 6.0.6 → 6.0.7
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/src/util/extent.js
CHANGED
|
@@ -38,7 +38,13 @@ class Extent {
|
|
|
38
38
|
extent;
|
|
39
39
|
constructor(options = {}) {
|
|
40
40
|
this.projection = new Projection(options.projection);
|
|
41
|
-
this.extent = options.coordinates ||
|
|
41
|
+
this.extent = options.coordinates ||
|
|
42
|
+
this.projection.proj?.getExtent() || [
|
|
43
|
+
-Infinity,
|
|
44
|
+
-Infinity,
|
|
45
|
+
Infinity,
|
|
46
|
+
Infinity,
|
|
47
|
+
];
|
|
42
48
|
}
|
|
43
49
|
getCoordinatesInProjection(destination, result) {
|
|
44
50
|
if (destination.epsg === this.projection.epsg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extent.js","sourceRoot":"","sources":["../../../src/util/extent.ts"],"names":[],"mappings":"AACA,OAAO,UAAsC,MAAM,iBAAiB,CAAC;AAQrE;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAiB;IAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,MAAM;IACV,MAAM,KAAK,SAAS;QAClB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAsB;QAC3C,OAAO,CACL,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;YACpD,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,UAAU,CAAa;IAEvB,MAAM,CAAW;IAEjB,YAAY,UAAyB,EAAE;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,
|
|
1
|
+
{"version":3,"file":"extent.js","sourceRoot":"","sources":["../../../src/util/extent.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,30 +9,37 @@ let defaultProjectionOption = {
|
|
|
9
9
|
};
|
|
10
10
|
function parseEPSGCode(value, prefix = 'EPSG:') {
|
|
11
11
|
if (value) {
|
|
12
|
-
const regex = new RegExp(`^(?:${prefix})
|
|
12
|
+
const regex = new RegExp(`^(?:${prefix})?:?(\\d+)`, 'i');
|
|
13
13
|
const matches = `${value}`.match(regex);
|
|
14
14
|
if (matches && matches[1]) {
|
|
15
|
-
|
|
15
|
+
if (prefix) {
|
|
16
|
+
if (prefix.endsWith(':')) {
|
|
17
|
+
return `${prefix}${matches[1]}`;
|
|
18
|
+
}
|
|
19
|
+
return `${prefix}:${matches[1]}`;
|
|
20
|
+
}
|
|
21
|
+
return matches[1];
|
|
16
22
|
}
|
|
17
23
|
}
|
|
18
24
|
return '';
|
|
19
25
|
}
|
|
20
26
|
function validateProjectionOptions(options) {
|
|
21
27
|
let proj = null;
|
|
22
|
-
|
|
28
|
+
const epsg = parseEPSGCode(options.epsg, options.prefix);
|
|
29
|
+
if (epsg) {
|
|
23
30
|
try {
|
|
24
|
-
proj = proj4(parseEPSGCode(
|
|
31
|
+
proj = proj4(parseEPSGCode(epsg));
|
|
25
32
|
}
|
|
26
33
|
catch (error) {
|
|
27
34
|
proj = null;
|
|
28
35
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
if (options.proj4) {
|
|
37
|
+
try {
|
|
38
|
+
proj = proj4(options.proj4);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
proj = null;
|
|
42
|
+
}
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
return proj != null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/util/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,GAAG,IAAI,aAAa,EACpB,UAAU,GAEX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA2BrD,MAAM,CAAC,MAAM,0BAA0B,GACrC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GACrC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAEzC,IAAI,uBAAuB,GAAsB;IAC/C,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF,SAAS,aAAa,CAAC,KAAuB,EAAE,MAAM,GAAG,OAAO;IAC9D,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/util/projection.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/util/extent.ts
CHANGED
|
@@ -57,7 +57,13 @@ class Extent {
|
|
|
57
57
|
|
|
58
58
|
constructor(options: ExtentOptions = {}) {
|
|
59
59
|
this.projection = new Projection(options.projection);
|
|
60
|
-
this.extent = options.coordinates ||
|
|
60
|
+
this.extent = options.coordinates ||
|
|
61
|
+
this.projection.proj?.getExtent() || [
|
|
62
|
+
-Infinity,
|
|
63
|
+
-Infinity,
|
|
64
|
+
Infinity,
|
|
65
|
+
Infinity,
|
|
66
|
+
];
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
getCoordinatesInProjection(
|
package/src/util/projection.ts
CHANGED
|
@@ -45,10 +45,16 @@ let defaultProjectionOption: ProjectionOptions = {
|
|
|
45
45
|
|
|
46
46
|
function parseEPSGCode(value?: string | number, prefix = 'EPSG:'): string {
|
|
47
47
|
if (value) {
|
|
48
|
-
const regex = new RegExp(`^(?:${prefix})
|
|
48
|
+
const regex = new RegExp(`^(?:${prefix})?:?(\\d+)`, 'i');
|
|
49
49
|
const matches = `${value}`.match(regex);
|
|
50
50
|
if (matches && matches[1]) {
|
|
51
|
-
|
|
51
|
+
if (prefix) {
|
|
52
|
+
if (prefix.endsWith(':')) {
|
|
53
|
+
return `${prefix}${matches[1]}`;
|
|
54
|
+
}
|
|
55
|
+
return `${prefix}:${matches[1]}`;
|
|
56
|
+
}
|
|
57
|
+
return matches[1];
|
|
52
58
|
}
|
|
53
59
|
}
|
|
54
60
|
return '';
|
|
@@ -56,20 +62,24 @@ function parseEPSGCode(value?: string | number, prefix = 'EPSG:'): string {
|
|
|
56
62
|
|
|
57
63
|
function validateProjectionOptions(options: ProjectionOptions): boolean {
|
|
58
64
|
let proj = null;
|
|
59
|
-
|
|
65
|
+
const epsg = parseEPSGCode(options.epsg, options.prefix);
|
|
66
|
+
|
|
67
|
+
if (epsg) {
|
|
60
68
|
try {
|
|
61
|
-
proj = proj4(parseEPSGCode(
|
|
69
|
+
proj = proj4(parseEPSGCode(epsg));
|
|
62
70
|
} catch (error) {
|
|
63
71
|
proj = null;
|
|
64
72
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
|
|
74
|
+
if (options.proj4) {
|
|
75
|
+
try {
|
|
76
|
+
proj = proj4(options.proj4);
|
|
77
|
+
} catch (error) {
|
|
78
|
+
proj = null;
|
|
79
|
+
}
|
|
71
80
|
}
|
|
72
81
|
}
|
|
82
|
+
|
|
73
83
|
return proj != null;
|
|
74
84
|
}
|
|
75
85
|
|