geojs 1.7.2 → 1.8.1
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/.github/workflows/main.yml +20 -0
- package/CHANGELOG.md +18 -0
- package/geo.js +747 -149
- package/geo.lean.js +746 -148
- package/geo.lean.min.js +3 -3
- package/geo.min.js +5 -5
- package/package.json +2 -2
- package/src/annotation.js +300 -33
- package/src/annotationLayer.js +18 -23
- package/src/event.js +10 -0
- package/src/geojsonReader.js +68 -1
- package/src/layer.js +1 -1
- package/src/map.js +1 -2
- package/src/mapInteractor.js +21 -6
- package/src/markerFeature.js +21 -6
- package/src/pixelmapLayer.js +8 -2
- package/src/registry.js +5 -0
- package/src/tileLayer.js +3 -3
- package/src/trackFeature.js +1 -1
- package/src/ui/colorLegendWidget.js +1 -1
- package/src/ui/scaleWidget.js +1 -1
- package/src/webgl/markerFeature.js +3 -2
- package/src/webgl/webglRenderer.js +4 -3
package/geo.lean.js
CHANGED
|
@@ -60,6 +60,8 @@ var registerAnnotation = (__webpack_require__(4647).registerAnnotation);
|
|
|
60
60
|
|
|
61
61
|
var lineFeature = __webpack_require__(4708);
|
|
62
62
|
|
|
63
|
+
var markerFeature = __webpack_require__(7098);
|
|
64
|
+
|
|
63
65
|
var pointFeature = __webpack_require__(2557);
|
|
64
66
|
|
|
65
67
|
var polygonFeature = __webpack_require__(4343);
|
|
@@ -203,10 +205,19 @@ var annotation = function annotation(type, args) {
|
|
|
203
205
|
delete m_options.name;
|
|
204
206
|
delete m_options.label;
|
|
205
207
|
delete m_options.description;
|
|
208
|
+
|
|
209
|
+
if (m_options.constraint) {
|
|
210
|
+
if (util.isFunction(m_options.constraint)) {
|
|
211
|
+
this._selectionConstraint = m_options.constraint;
|
|
212
|
+
} else {
|
|
213
|
+
this._selectionConstraint = constrainAspectRatio(m_options.constraint);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
206
216
|
/**
|
|
207
217
|
* Clean up any resources that the annotation is using.
|
|
208
218
|
*/
|
|
209
219
|
|
|
220
|
+
|
|
210
221
|
this._exit = function () {};
|
|
211
222
|
/**
|
|
212
223
|
* Get a unique annotation id.
|
|
@@ -540,7 +551,7 @@ var annotation = function annotation(type, args) {
|
|
|
540
551
|
return m_this;
|
|
541
552
|
};
|
|
542
553
|
/**
|
|
543
|
-
*
|
|
554
|
+
* Get or set options.
|
|
544
555
|
*
|
|
545
556
|
* @param {string|object} [arg1] If `undefined`, return the options object.
|
|
546
557
|
* If a string, either set or return the option of that name. If an
|
|
@@ -616,7 +627,7 @@ var annotation = function annotation(type, args) {
|
|
|
616
627
|
return m_this;
|
|
617
628
|
};
|
|
618
629
|
/**
|
|
619
|
-
*
|
|
630
|
+
* Get or set style.
|
|
620
631
|
*
|
|
621
632
|
* @param {string|object} [arg1] If `undefined`, return the current style
|
|
622
633
|
* object. If a string and `arg2` is undefined, return the style
|
|
@@ -1427,11 +1438,10 @@ function continuousVerticesProcessAction(m_this, evt, name) {
|
|
|
1427
1438
|
* finished rectangle. This uses styles for {@link geo.polygonFeature}.
|
|
1428
1439
|
* @property {geo.polygonFeature.styleSpec} [editStyle] The style to apply to a
|
|
1429
1440
|
* rectangle in edit mode.
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
*
|
|
1434
|
-
* @typedef {geo.annotation.spec | geo.rectangleAnnotation.subspec} geo.rectangleAnnotation.spec
|
|
1441
|
+
* @property {number|number[]|function} [constraint] If specified, an aspect
|
|
1442
|
+
* ratio or list of aspect ratios to constraint the rectangle to. If a
|
|
1443
|
+
* function, a selection constraint function to call to adjust the
|
|
1444
|
+
* rectangle.
|
|
1435
1445
|
*/
|
|
1436
1446
|
|
|
1437
1447
|
/**
|
|
@@ -1446,14 +1456,15 @@ function continuousVerticesProcessAction(m_this, evt, name) {
|
|
|
1446
1456
|
* @extends geo.annotation
|
|
1447
1457
|
*
|
|
1448
1458
|
* @param {geo.rectangleAnnotation.spec?} [args] Options for the annotation.
|
|
1459
|
+
* @param {string} [annotationName='rectangle'] Override the annotation name.
|
|
1449
1460
|
*/
|
|
1450
1461
|
|
|
1451
1462
|
|
|
1452
|
-
var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
1463
|
+
var rectangleAnnotation = function rectangleAnnotation(args, annotationName) {
|
|
1453
1464
|
'use strict';
|
|
1454
1465
|
|
|
1455
1466
|
if (!(this instanceof rectangleAnnotation)) {
|
|
1456
|
-
return new rectangleAnnotation(args);
|
|
1467
|
+
return new rectangleAnnotation(args, annotationName);
|
|
1457
1468
|
}
|
|
1458
1469
|
|
|
1459
1470
|
args = $.extend(true, {}, {
|
|
@@ -1503,7 +1514,7 @@ var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
|
1503
1514
|
}, args || {});
|
|
1504
1515
|
args.corners = args.corners || args.coordinates || [];
|
|
1505
1516
|
delete args.coordinates;
|
|
1506
|
-
annotation.call(this, 'rectangle', args);
|
|
1517
|
+
annotation.call(this, annotationName || 'rectangle', args);
|
|
1507
1518
|
var m_this = this,
|
|
1508
1519
|
s_actions = this.actions,
|
|
1509
1520
|
s_processEditAction = this.processEditAction;
|
|
@@ -1531,7 +1542,8 @@ var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
|
1531
1542
|
shift: false,
|
|
1532
1543
|
ctrl: false
|
|
1533
1544
|
},
|
|
1534
|
-
selectionRectangle: true
|
|
1545
|
+
selectionRectangle: true,
|
|
1546
|
+
selectionConstraint: this._selectionConstraint
|
|
1535
1547
|
}];
|
|
1536
1548
|
|
|
1537
1549
|
default:
|
|
@@ -1572,8 +1584,13 @@ var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
|
1572
1584
|
x: evt.upperRight.x,
|
|
1573
1585
|
y: evt.lowerLeft.y
|
|
1574
1586
|
}, null)];
|
|
1587
|
+
|
|
1588
|
+
if (this._selectionConstraint && evt.mouse && evt.state.origin) {
|
|
1589
|
+
this._selectionConstraint(evt.mouse.mapgcs, evt.state.origin.mapgcs, corners);
|
|
1590
|
+
}
|
|
1575
1591
|
/* Don't keep rectangles that have nearly zero area in display pixels */
|
|
1576
1592
|
|
|
1593
|
+
|
|
1577
1594
|
if (layer.displayDistance(corners[0], null, corners[1], null) * layer.displayDistance(corners[0], null, corners[3], null) < 0.01) {
|
|
1578
1595
|
return 'remove';
|
|
1579
1596
|
}
|
|
@@ -1593,35 +1610,19 @@ var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
|
1593
1610
|
var opt = m_this.options(),
|
|
1594
1611
|
state = m_this.state(),
|
|
1595
1612
|
features;
|
|
1613
|
+
features = [];
|
|
1596
1614
|
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
features = [{
|
|
1603
|
-
polygon: {
|
|
1604
|
-
polygon: opt.corners,
|
|
1605
|
-
style: m_this.styleForState(state)
|
|
1606
|
-
}
|
|
1607
|
-
}];
|
|
1608
|
-
}
|
|
1609
|
-
|
|
1610
|
-
break;
|
|
1611
|
-
|
|
1612
|
-
default:
|
|
1613
|
-
features = [{
|
|
1614
|
-
polygon: {
|
|
1615
|
-
polygon: opt.corners,
|
|
1616
|
-
style: m_this.styleForState(state)
|
|
1617
|
-
}
|
|
1618
|
-
}];
|
|
1619
|
-
|
|
1620
|
-
if (state === annotationState.edit) {
|
|
1621
|
-
m_this._addEditHandles(features, opt.corners);
|
|
1615
|
+
if (opt.corners && opt.corners.length >= 4) {
|
|
1616
|
+
features = [{
|
|
1617
|
+
polygon: {
|
|
1618
|
+
polygon: opt.corners,
|
|
1619
|
+
style: m_this.styleForState(state)
|
|
1622
1620
|
}
|
|
1621
|
+
}];
|
|
1622
|
+
}
|
|
1623
1623
|
|
|
1624
|
-
|
|
1624
|
+
if (state === annotationState.edit) {
|
|
1625
|
+
m_this._addEditHandles(features, opt.corners);
|
|
1625
1626
|
}
|
|
1626
1627
|
|
|
1627
1628
|
return features;
|
|
@@ -1719,6 +1720,10 @@ var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
|
1719
1720
|
corners[2] = $.extend({}, evt.mapgcs);
|
|
1720
1721
|
corners[1] = map.displayToGcs(c1, null);
|
|
1721
1722
|
corners[3] = map.displayToGcs(c3, null);
|
|
1723
|
+
|
|
1724
|
+
if (this._selectionConstraint) {
|
|
1725
|
+
this._selectionConstraint(evt.mapgcs, corners[0], corners);
|
|
1726
|
+
}
|
|
1722
1727
|
};
|
|
1723
1728
|
/**
|
|
1724
1729
|
* Handle a mouse move on this annotation.
|
|
@@ -1859,6 +1864,11 @@ var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
|
1859
1864
|
corners[(index + 1) % 4].y += delta1.y;
|
|
1860
1865
|
corners[(index + 3) % 4].x += delta2.x;
|
|
1861
1866
|
corners[(index + 3) % 4].y += delta2.y;
|
|
1867
|
+
|
|
1868
|
+
if (this._selectionConstraint) {
|
|
1869
|
+
corners = this._selectionConstraint(evt.mouse.mapgcs, evt.state.origin.mapgcs, corners, 'vertex', ang, index).corners;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1862
1872
|
m_this.options('corners', corners);
|
|
1863
1873
|
return true;
|
|
1864
1874
|
|
|
@@ -1878,6 +1888,11 @@ var rectangleAnnotation = function rectangleAnnotation(args) {
|
|
|
1878
1888
|
corners[index].y += delta.y;
|
|
1879
1889
|
corners[(index + 1) % 4].x += delta.x;
|
|
1880
1890
|
corners[(index + 1) % 4].y += delta.y;
|
|
1891
|
+
|
|
1892
|
+
if (this._selectionConstraint) {
|
|
1893
|
+
corners = this._selectionConstraint(evt.mouse.mapgcs, evt.state.origin.mapgcs, corners, 'edge', ang, index).corners;
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1881
1896
|
m_this.options('corners', corners);
|
|
1882
1897
|
return true;
|
|
1883
1898
|
}
|
|
@@ -1890,6 +1905,140 @@ inherit(rectangleAnnotation, annotation);
|
|
|
1890
1905
|
var rectangleRequiredFeatures = {};
|
|
1891
1906
|
rectangleRequiredFeatures[polygonFeature.capabilities.feature] = true;
|
|
1892
1907
|
registerAnnotation('rectangle', rectangleAnnotation, rectangleRequiredFeatures);
|
|
1908
|
+
/**
|
|
1909
|
+
* Square annotation class.
|
|
1910
|
+
*
|
|
1911
|
+
* Squares are a subset of rectangles with a fixed aspect ratio.
|
|
1912
|
+
*
|
|
1913
|
+
* @class
|
|
1914
|
+
* @alias geo.squareAnnotation
|
|
1915
|
+
* @extends geo.annotation
|
|
1916
|
+
*
|
|
1917
|
+
* @param {geo.squareAnnotation.spec?} [args] Options for the annotation.
|
|
1918
|
+
* @param {string} [annotationName='square'] Override the annotation name.
|
|
1919
|
+
*/
|
|
1920
|
+
|
|
1921
|
+
var squareAnnotation = function squareAnnotation(args, annotationName) {
|
|
1922
|
+
'use strict';
|
|
1923
|
+
|
|
1924
|
+
args = $.extend({}, args, {
|
|
1925
|
+
constraint: 1
|
|
1926
|
+
});
|
|
1927
|
+
|
|
1928
|
+
if (!(this instanceof squareAnnotation)) {
|
|
1929
|
+
return new squareAnnotation(args, annotationName);
|
|
1930
|
+
}
|
|
1931
|
+
|
|
1932
|
+
rectangleAnnotation.call(this, args, annotationName || 'square');
|
|
1933
|
+
};
|
|
1934
|
+
|
|
1935
|
+
inherit(squareAnnotation, rectangleAnnotation);
|
|
1936
|
+
var squareRequiredFeatures = {};
|
|
1937
|
+
squareRequiredFeatures[polygonFeature.capabilities.feature] = true;
|
|
1938
|
+
registerAnnotation('square', squareAnnotation, squareRequiredFeatures);
|
|
1939
|
+
/**
|
|
1940
|
+
* Ellipse annotation class.
|
|
1941
|
+
*
|
|
1942
|
+
* Ellipses are always rendered as markers.
|
|
1943
|
+
*
|
|
1944
|
+
* @class
|
|
1945
|
+
* @alias geo.ellipseAnnotation
|
|
1946
|
+
* @extends geo.annotation
|
|
1947
|
+
*
|
|
1948
|
+
* @param {geo.ellipseAnnotation.spec?} [args] Options for the annotation.
|
|
1949
|
+
* @param {string} [annotationName='ellipse'] Override the annotation name.
|
|
1950
|
+
*/
|
|
1951
|
+
|
|
1952
|
+
var ellipseAnnotation = function ellipseAnnotation(args, annotationName) {
|
|
1953
|
+
'use strict';
|
|
1954
|
+
|
|
1955
|
+
if (!(this instanceof ellipseAnnotation)) {
|
|
1956
|
+
return new ellipseAnnotation(args, annotationName);
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
rectangleAnnotation.call(this, args, annotationName || 'ellipse');
|
|
1960
|
+
var m_this = this;
|
|
1961
|
+
/**
|
|
1962
|
+
* Get a list of renderable features for this annotation.
|
|
1963
|
+
*
|
|
1964
|
+
* @returns {array} An array of features.
|
|
1965
|
+
*/
|
|
1966
|
+
|
|
1967
|
+
this.features = function () {
|
|
1968
|
+
var opt = m_this.options(),
|
|
1969
|
+
state = m_this.state(),
|
|
1970
|
+
features;
|
|
1971
|
+
features = [];
|
|
1972
|
+
|
|
1973
|
+
if (opt.corners && opt.corners.length >= 4) {
|
|
1974
|
+
var style = m_this.styleForState(state);
|
|
1975
|
+
var w = Math.pow(Math.pow(opt.corners[0].x - opt.corners[1].x, 2) + Math.pow(opt.corners[0].y - opt.corners[1].y, 2), 0.5);
|
|
1976
|
+
var h = Math.pow(Math.pow(opt.corners[0].x - opt.corners[3].x, 2) + Math.pow(opt.corners[0].y - opt.corners[3].y, 2), 0.5);
|
|
1977
|
+
var radius = Math.max(w, h) / 2 / m_this.layer().map().unitsPerPixel(0);
|
|
1978
|
+
var aspect = w ? h / w : 1e20;
|
|
1979
|
+
var rotation = -Math.atan2(opt.corners[1].y - opt.corners[0].y, opt.corners[1].x - opt.corners[0].x);
|
|
1980
|
+
features = [{
|
|
1981
|
+
marker: {
|
|
1982
|
+
x: (opt.corners[0].x + opt.corners[1].x + opt.corners[2].x + opt.corners[3].x) / 4,
|
|
1983
|
+
y: (opt.corners[0].y + opt.corners[1].y + opt.corners[2].y + opt.corners[3].y) / 4,
|
|
1984
|
+
style: $.extend({}, style, {
|
|
1985
|
+
radius: radius,
|
|
1986
|
+
symbolValue: aspect,
|
|
1987
|
+
rotation: rotation,
|
|
1988
|
+
strokeOffset: 0,
|
|
1989
|
+
radiusIncludesStroke: false,
|
|
1990
|
+
scaleWithZoom: markerFeature.scaleMode.fill,
|
|
1991
|
+
rotateWithMap: true,
|
|
1992
|
+
strokeOpacity: style.stroke === false ? 0 : style.strokeOpacity,
|
|
1993
|
+
fillOpacity: style.fill === false ? 0 : style.fillOpacity
|
|
1994
|
+
})
|
|
1995
|
+
}
|
|
1996
|
+
}];
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
if (state === annotationState.edit) {
|
|
2000
|
+
m_this._addEditHandles(features, opt.corners);
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
return features;
|
|
2004
|
+
};
|
|
2005
|
+
};
|
|
2006
|
+
|
|
2007
|
+
inherit(ellipseAnnotation, rectangleAnnotation);
|
|
2008
|
+
var ellipseRequiredFeatures = {};
|
|
2009
|
+
ellipseRequiredFeatures[markerFeature.capabilities.feature] = true;
|
|
2010
|
+
registerAnnotation('ellipse', ellipseAnnotation, ellipseRequiredFeatures);
|
|
2011
|
+
/**
|
|
2012
|
+
* Circle annotation class.
|
|
2013
|
+
*
|
|
2014
|
+
* Circles are a subset of rectangles with a fixed aspect ratio.
|
|
2015
|
+
*
|
|
2016
|
+
* @class
|
|
2017
|
+
* @alias geo.circleAnnotation
|
|
2018
|
+
* @extends geo.annotation
|
|
2019
|
+
*
|
|
2020
|
+
* @param {geo.circleAnnotation.spec?} [args] Options for the annotation.
|
|
2021
|
+
* @param {string} [annotationName='circle'] Override the annotation name.
|
|
2022
|
+
*/
|
|
2023
|
+
|
|
2024
|
+
var circleAnnotation = function circleAnnotation(args, annotationName) {
|
|
2025
|
+
'use strict';
|
|
2026
|
+
|
|
2027
|
+
args = $.extend({}, args, {
|
|
2028
|
+
constraint: 1
|
|
2029
|
+
});
|
|
2030
|
+
|
|
2031
|
+
if (!(this instanceof circleAnnotation)) {
|
|
2032
|
+
return new circleAnnotation(args, annotationName);
|
|
2033
|
+
}
|
|
2034
|
+
|
|
2035
|
+
ellipseAnnotation.call(this, args, annotationName || 'circle');
|
|
2036
|
+
};
|
|
2037
|
+
|
|
2038
|
+
inherit(circleAnnotation, ellipseAnnotation);
|
|
2039
|
+
var circleRequiredFeatures = {};
|
|
2040
|
+
circleRequiredFeatures[markerFeature.capabilities.feature] = true;
|
|
2041
|
+
registerAnnotation('circle', circleAnnotation, circleRequiredFeatures);
|
|
1893
2042
|
/**
|
|
1894
2043
|
* Polygon annotation specification. Extends {@link geo.annotation.spec}.
|
|
1895
2044
|
*
|
|
@@ -2852,6 +3001,154 @@ inherit(pointAnnotation, annotation);
|
|
|
2852
3001
|
var pointRequiredFeatures = {};
|
|
2853
3002
|
pointRequiredFeatures[pointFeature.capabilities.feature] = true;
|
|
2854
3003
|
registerAnnotation('point', pointAnnotation, pointRequiredFeatures);
|
|
3004
|
+
/**
|
|
3005
|
+
* Return a function that can be used as a selectionConstraint that requires
|
|
3006
|
+
* that the aspect ratio of a rectangle-like selection is a specific value or
|
|
3007
|
+
* range of values.
|
|
3008
|
+
*
|
|
3009
|
+
* @param {number|number[]} ratio Either a single aspect ratio or a list of
|
|
3010
|
+
* allowed aspect ratios. For instance, 1 will require that the selection
|
|
3011
|
+
* square, 2 would require that it is twice as wide as tall, [2, 1/2] would
|
|
3012
|
+
* allow it to be twice as wide or half as wide as it is tall.
|
|
3013
|
+
* @returns {function} A function that can be passed to the mapIterator
|
|
3014
|
+
* selectionConstraint or to an annotation constraint function.
|
|
3015
|
+
*/
|
|
3016
|
+
|
|
3017
|
+
function constrainAspectRatio(ratio) {
|
|
3018
|
+
var ratios = Array.isArray(ratio) ? ratio : [ratio];
|
|
3019
|
+
/**
|
|
3020
|
+
* Constrain a mouse action or annotation action to a list of aspect ratios.
|
|
3021
|
+
*
|
|
3022
|
+
* @param {geo.geoPosition} pos Mouse or new location in map gcs.
|
|
3023
|
+
* @param {geo.geoPosition} origin Origin in map gcs when the activity
|
|
3024
|
+
* started.
|
|
3025
|
+
* @param {geo.geoPosition} [corners] If specified, an array of corner
|
|
3026
|
+
* locations in mapgcs. This may be modified.
|
|
3027
|
+
* @param {string?} [mode] 'edge', 'vertex' or falsy. A falsy value implies
|
|
3028
|
+
* this is just the most recent point in the annotation, otherwise it is
|
|
3029
|
+
* the portion of the annotation being modified.
|
|
3030
|
+
* @param {number} [ang] A list of angles of each side of the polygon
|
|
3031
|
+
* represented by corners or the original annotation.
|
|
3032
|
+
* @param {integer} [index] The specific vertex or edge that is being
|
|
3033
|
+
* modified.
|
|
3034
|
+
* @returns {object} An object with the ``origin`` (this is what is passed
|
|
3035
|
+
* in), a new position as ``pos``, and the updated corners as ``corners``.
|
|
3036
|
+
*/
|
|
3037
|
+
|
|
3038
|
+
function constraintFunction(pos, origin, corners, mode, ang, index) {
|
|
3039
|
+
var newpos = pos;
|
|
3040
|
+
var best;
|
|
3041
|
+
|
|
3042
|
+
if (!corners) {
|
|
3043
|
+
corners = [{
|
|
3044
|
+
x: origin.x,
|
|
3045
|
+
y: origin.y
|
|
3046
|
+
}, {
|
|
3047
|
+
x: pos.x,
|
|
3048
|
+
y: origin.y
|
|
3049
|
+
}, {
|
|
3050
|
+
x: pos.x,
|
|
3051
|
+
y: pos.y
|
|
3052
|
+
}, {
|
|
3053
|
+
x: origin.x,
|
|
3054
|
+
y: pos.y
|
|
3055
|
+
}];
|
|
3056
|
+
}
|
|
3057
|
+
|
|
3058
|
+
if (mode) {
|
|
3059
|
+
/* Edit a vertex or edge */
|
|
3060
|
+
var i1 = (index + 1) % 4;
|
|
3061
|
+
var i2 = (index + 2) % 4;
|
|
3062
|
+
var i3 = (index + 3) % 4;
|
|
3063
|
+
var dist1 = Math.pow(Math.pow(corners[index].x - corners[i1].x, 2) + Math.pow(corners[index].y - corners[i1].y, 2), 0.5);
|
|
3064
|
+
var dist3 = Math.pow(Math.pow(corners[index].x - corners[i3].x, 2) + Math.pow(corners[index].y - corners[i3].y, 2), 0.5);
|
|
3065
|
+
var area = Math.abs(dist1 * dist3);
|
|
3066
|
+
var shape, edge;
|
|
3067
|
+
ratios.forEach(function (ratio) {
|
|
3068
|
+
if (ratio !== 1 && !(index % 2)) {
|
|
3069
|
+
ratio = 1.0 / ratio;
|
|
3070
|
+
}
|
|
3071
|
+
|
|
3072
|
+
var width = Math.pow(area * ratio, 0.5);
|
|
3073
|
+
var score = Math.pow(width - dist3, 2) + Math.pow(width / ratio - dist1, 2);
|
|
3074
|
+
|
|
3075
|
+
if (best === undefined || score < best) {
|
|
3076
|
+
best = score;
|
|
3077
|
+
shape = {
|
|
3078
|
+
w: width,
|
|
3079
|
+
h: width / ratio
|
|
3080
|
+
};
|
|
3081
|
+
}
|
|
3082
|
+
});
|
|
3083
|
+
var ang1 = ang[i1];
|
|
3084
|
+
var delta1 = {
|
|
3085
|
+
x: -shape.w * Math.cos(ang1),
|
|
3086
|
+
y: -shape.w * Math.sin(ang1)
|
|
3087
|
+
};
|
|
3088
|
+
var ang2 = ang[index];
|
|
3089
|
+
var delta2 = {
|
|
3090
|
+
x: -shape.h * Math.cos(ang2),
|
|
3091
|
+
y: -shape.h * Math.sin(ang2)
|
|
3092
|
+
};
|
|
3093
|
+
|
|
3094
|
+
switch (mode) {
|
|
3095
|
+
case 'vertex':
|
|
3096
|
+
corners[index].x = corners[i2].x + delta1.x + delta2.x;
|
|
3097
|
+
corners[index].y = corners[i2].y + delta1.y + delta2.y;
|
|
3098
|
+
corners[i1].x = corners[i2].x + delta1.x;
|
|
3099
|
+
corners[i1].y = corners[i2].y + delta1.y;
|
|
3100
|
+
corners[i3].x = corners[i2].x + delta2.x;
|
|
3101
|
+
corners[i3].y = corners[i2].y + delta2.y;
|
|
3102
|
+
break;
|
|
3103
|
+
|
|
3104
|
+
case 'edge':
|
|
3105
|
+
edge = {
|
|
3106
|
+
x: (corners[i2].x + corners[i3].x) * 0.5,
|
|
3107
|
+
y: (corners[i2].y + corners[i3].y) * 0.5
|
|
3108
|
+
};
|
|
3109
|
+
corners[i2].x = edge.x + delta2.x / 2;
|
|
3110
|
+
corners[i2].y = edge.y + delta2.y / 2;
|
|
3111
|
+
corners[index].x = edge.x + delta1.x - delta2.x / 2;
|
|
3112
|
+
corners[index].y = edge.y + delta1.y - delta2.y / 2;
|
|
3113
|
+
corners[i1].x = edge.x + delta1.x + delta2.x / 2;
|
|
3114
|
+
corners[i1].y = edge.y + delta1.y + delta2.y / 2;
|
|
3115
|
+
corners[i3].x = edge.x - delta2.x / 2;
|
|
3116
|
+
corners[i3].y = edge.y - delta2.y / 2;
|
|
3117
|
+
break;
|
|
3118
|
+
}
|
|
3119
|
+
} else {
|
|
3120
|
+
/* Not in edit vertex or edge mode */
|
|
3121
|
+
var _area = Math.abs((pos.x - origin.x) * (pos.y - origin.y));
|
|
3122
|
+
|
|
3123
|
+
ratios.forEach(function (ratio) {
|
|
3124
|
+
var width = Math.pow(_area * ratio, 0.5);
|
|
3125
|
+
var adjusted = {
|
|
3126
|
+
x: origin.x + Math.sign(pos.x - origin.x) * width,
|
|
3127
|
+
y: origin.y + Math.sign(pos.y - origin.y) * width / ratio
|
|
3128
|
+
};
|
|
3129
|
+
var score = Math.pow(adjusted.x - pos.x, 2) + Math.pow(adjusted.y - pos.y, 2);
|
|
3130
|
+
|
|
3131
|
+
if (best === undefined || score < best) {
|
|
3132
|
+
best = score;
|
|
3133
|
+
newpos = adjusted;
|
|
3134
|
+
}
|
|
3135
|
+
});
|
|
3136
|
+
corners[0].y = corners[1].y = origin.y;
|
|
3137
|
+
corners[0].x = corners[3].x = origin.x;
|
|
3138
|
+
corners[1].x = corners[2].x = newpos.x;
|
|
3139
|
+
corners[2].y = corners[3].y = newpos.y;
|
|
3140
|
+
}
|
|
3141
|
+
|
|
3142
|
+
return {
|
|
3143
|
+
corners: corners,
|
|
3144
|
+
origin: origin,
|
|
3145
|
+
pos: newpos
|
|
3146
|
+
};
|
|
3147
|
+
}
|
|
3148
|
+
|
|
3149
|
+
return constraintFunction;
|
|
3150
|
+
}
|
|
3151
|
+
|
|
2855
3152
|
module.exports = {
|
|
2856
3153
|
state: annotationState,
|
|
2857
3154
|
actionOwner: annotationActionOwner,
|
|
@@ -2860,8 +3157,12 @@ module.exports = {
|
|
|
2860
3157
|
pointAnnotation: pointAnnotation,
|
|
2861
3158
|
polygonAnnotation: polygonAnnotation,
|
|
2862
3159
|
rectangleAnnotation: rectangleAnnotation,
|
|
3160
|
+
squareAnnotation: squareAnnotation,
|
|
3161
|
+
ellipseAnnotation: ellipseAnnotation,
|
|
3162
|
+
circleAnnotation: circleAnnotation,
|
|
2863
3163
|
_editHandleFeatureLevel: editHandleFeatureLevel,
|
|
2864
|
-
defaultEditHandleStyle: defaultEditHandleStyle
|
|
3164
|
+
defaultEditHandleStyle: defaultEditHandleStyle,
|
|
3165
|
+
constrainAspectRatio: constrainAspectRatio
|
|
2865
3166
|
};
|
|
2866
3167
|
|
|
2867
3168
|
/***/ }),
|
|
@@ -3508,11 +3809,13 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3508
3809
|
* {@link geo.listAnnotations}.
|
|
3509
3810
|
* @param {geo.annotation} [editAnnotation] If `arg === this.modes.edit`,
|
|
3510
3811
|
* this is the annotation that should be edited.
|
|
3812
|
+
* @param {object} [options] Additional options to pass when creating an
|
|
3813
|
+
* annotation.
|
|
3511
3814
|
* @returns {string|null|this} The current mode or the layer.
|
|
3512
3815
|
* @fires geo.event.annotation.mode
|
|
3513
3816
|
*/
|
|
3514
3817
|
|
|
3515
|
-
this.mode = function (arg, editAnnotation) {
|
|
3818
|
+
this.mode = function (arg, editAnnotation, options) {
|
|
3516
3819
|
if (arg === undefined) {
|
|
3517
3820
|
return m_mode;
|
|
3518
3821
|
}
|
|
@@ -3553,37 +3856,22 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3553
3856
|
m_this.currentAnnotation = null;
|
|
3554
3857
|
}
|
|
3555
3858
|
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
case 'line':
|
|
3564
|
-
createAnnotation = geo_annotation.lineAnnotation;
|
|
3565
|
-
break;
|
|
3566
|
-
|
|
3567
|
-
case 'point':
|
|
3568
|
-
createAnnotation = geo_annotation.pointAnnotation;
|
|
3569
|
-
break;
|
|
3570
|
-
|
|
3571
|
-
case 'polygon':
|
|
3572
|
-
createAnnotation = geo_annotation.polygonAnnotation;
|
|
3573
|
-
break;
|
|
3574
|
-
|
|
3575
|
-
case 'rectangle':
|
|
3576
|
-
createAnnotation = geo_annotation.rectangleAnnotation;
|
|
3577
|
-
break;
|
|
3859
|
+
if (m_mode === m_this.modes.edit) {
|
|
3860
|
+
m_this.currentAnnotation = editAnnotation;
|
|
3861
|
+
m_this.currentAnnotation.state(geo_annotation.state.edit);
|
|
3862
|
+
m_this.modified();
|
|
3863
|
+
} else if (registry.registries.annotations[m_mode]) {
|
|
3864
|
+
createAnnotation = registry.registries.annotations[m_mode].func;
|
|
3578
3865
|
}
|
|
3579
3866
|
|
|
3580
3867
|
m_this.map().interactor().removeAction(undefined, undefined, geo_annotation.actionOwner);
|
|
3581
3868
|
|
|
3582
3869
|
if (createAnnotation) {
|
|
3583
|
-
|
|
3870
|
+
options = $.extend({}, options || {}, {
|
|
3584
3871
|
state: geo_annotation.state.create,
|
|
3585
3872
|
layer: m_this
|
|
3586
3873
|
});
|
|
3874
|
+
m_this.currentAnnotation = createAnnotation(options);
|
|
3587
3875
|
m_this.addAnnotation(m_this.currentAnnotation, null);
|
|
3588
3876
|
actions = m_this.currentAnnotation.actions(geo_annotation.state.create);
|
|
3589
3877
|
$.each(actions, function (idx, action) {
|
|
@@ -3718,7 +4006,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3718
4006
|
|
|
3719
4007
|
options.style = options.style || {};
|
|
3720
4008
|
options.labelStyle = options.labelStyle || {};
|
|
3721
|
-
delete options.annotationType; // the geoJSON reader can
|
|
4009
|
+
delete options.annotationType; // the geoJSON reader can emit line, polygon, point, and marker
|
|
3722
4010
|
|
|
3723
4011
|
switch (feature.featureType) {
|
|
3724
4012
|
case 'line':
|
|
@@ -3752,6 +4040,10 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3752
4040
|
|
|
3753
4041
|
break;
|
|
3754
4042
|
|
|
4043
|
+
case 'marker':
|
|
4044
|
+
position = data.geometry.coordinates[0].slice(0, 4);
|
|
4045
|
+
break;
|
|
4046
|
+
|
|
3755
4047
|
case 'point':
|
|
3756
4048
|
position = [feature.position()(data, data_idx)];
|
|
3757
4049
|
break;
|
|
@@ -4066,7 +4358,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4066
4358
|
|
|
4067
4359
|
|
|
4068
4360
|
var style = {};
|
|
4069
|
-
$.each(['closed', 'fill', 'fillColor', 'fillOpacity', 'line', 'lineCap', 'lineJoin', 'polygon', 'position', 'radius', 'stroke', 'strokeColor', 'strokeOffset', 'strokeOpacity', 'strokeWidth', 'uniformPolygon'], function (keyidx, key) {
|
|
4361
|
+
$.each(['closed', 'fill', 'fillColor', 'fillOpacity', 'line', 'lineCap', 'lineJoin', 'polygon', 'position', 'radius', 'radiusIncludesStroke', 'rotateWithMap', 'rotation', 'scaleWithZoom', 'stroke', 'strokeColor', 'strokeOffset', 'strokeOpacity', 'strokeWidth', 'symbolValue', 'uniformPolygon'], function (keyidx, key) {
|
|
4070
4362
|
var origFunc;
|
|
4071
4363
|
|
|
4072
4364
|
if (feature.style()[key] !== undefined) {
|
|
@@ -8138,6 +8430,16 @@ geo_event.layerAdd = 'geo_layerAdd';
|
|
|
8138
8430
|
*/
|
|
8139
8431
|
|
|
8140
8432
|
geo_event.layerRemove = 'geo_layerRemove';
|
|
8433
|
+
/**
|
|
8434
|
+
* Triggered when a layer z-index is changed.
|
|
8435
|
+
*
|
|
8436
|
+
* @event geo.event.layerMove
|
|
8437
|
+
* @type {geo.event.base}
|
|
8438
|
+
* @property {geo.map} target The current map.
|
|
8439
|
+
* @property {geo.layer} layer The old layer that was removed.
|
|
8440
|
+
*/
|
|
8441
|
+
|
|
8442
|
+
geo_event.layerMove = 'geo_layerMove';
|
|
8141
8443
|
/**
|
|
8142
8444
|
* Triggered when the map's zoom level is changed.
|
|
8143
8445
|
*
|
|
@@ -10779,6 +11081,10 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
10779
11081
|
|
|
10780
11082
|
var convertColor = (__webpack_require__(4634).convertColor);
|
|
10781
11083
|
|
|
11084
|
+
var markerFeature = __webpack_require__(7098);
|
|
11085
|
+
|
|
11086
|
+
var transform = __webpack_require__(6853);
|
|
11087
|
+
|
|
10782
11088
|
var m_this = this,
|
|
10783
11089
|
m_options = _objectSpread(_objectSpread({}, arg), {}, {
|
|
10784
11090
|
pointStyle: _objectSpread({
|
|
@@ -11067,6 +11373,20 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11067
11373
|
|
|
11068
11374
|
this.read = function (file, done, progress) {
|
|
11069
11375
|
var promise = new Promise(function (resolve, reject) {
|
|
11376
|
+
/**
|
|
11377
|
+
* Check if a feature is a circle or an ellipse.
|
|
11378
|
+
*
|
|
11379
|
+
* @param {geojson.object} f A geojson feature.
|
|
11380
|
+
* @returns {boolean} true if this should be rendered as an ellipse or
|
|
11381
|
+
* circle.
|
|
11382
|
+
*/
|
|
11383
|
+
function _isEllipse(f) {
|
|
11384
|
+
if (f.geometry.type !== 'Polygon' || f.geometry.coordinates.length !== 1 || f.geometry.coordinates[0].length !== 5) {
|
|
11385
|
+
return false;
|
|
11386
|
+
}
|
|
11387
|
+
|
|
11388
|
+
return (f.properties || {}).annotationType === 'ellipse' || (f.properties || {}).annotationType === 'circle';
|
|
11389
|
+
}
|
|
11070
11390
|
/**
|
|
11071
11391
|
* Given a parsed GeoJSON object, convert it into features on the
|
|
11072
11392
|
* reader's layer.
|
|
@@ -11074,6 +11394,8 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11074
11394
|
* @param {geojson.object|false} object Either a parse GeoJSON object or
|
|
11075
11395
|
* `false` for an error.
|
|
11076
11396
|
*/
|
|
11397
|
+
|
|
11398
|
+
|
|
11077
11399
|
function _done(object) {
|
|
11078
11400
|
if (object === false) {
|
|
11079
11401
|
if (done) {
|
|
@@ -11140,7 +11462,7 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11140
11462
|
|
|
11141
11463
|
|
|
11142
11464
|
var polygons = features.filter(function (f) {
|
|
11143
|
-
return f.geometry.type === 'Polygon';
|
|
11465
|
+
return f.geometry.type === 'Polygon' && !_isEllipse(f);
|
|
11144
11466
|
});
|
|
11145
11467
|
|
|
11146
11468
|
if (polygons.length) {
|
|
@@ -11161,6 +11483,53 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11161
11483
|
}));
|
|
11162
11484
|
allFeatures.push(feature);
|
|
11163
11485
|
}
|
|
11486
|
+
} // handle ellipses and circle
|
|
11487
|
+
|
|
11488
|
+
|
|
11489
|
+
var ellipses = features.filter(_isEllipse);
|
|
11490
|
+
|
|
11491
|
+
if (ellipses.length) {
|
|
11492
|
+
feature = m_this.layer().createFeature('marker');
|
|
11493
|
+
|
|
11494
|
+
if (feature) {
|
|
11495
|
+
ellipses.forEach(function (d) {
|
|
11496
|
+
var map = m_this.layer().map();
|
|
11497
|
+
var coord = transform.transformCoordinates(map.ingcs(), map.gcs(), d.geometry.coordinates[0]);
|
|
11498
|
+
var w = Math.pow(Math.pow(coord[0][0] - coord[1][0], 2) + Math.pow(coord[0][1] - coord[1][1], 2), 0.5);
|
|
11499
|
+
var h = Math.pow(Math.pow(coord[0][0] - coord[3][0], 2) + Math.pow(coord[0][1] - coord[3][1], 2), 0.5);
|
|
11500
|
+
var radius = Math.max(w, h) / 2 / map.unitsPerPixel(0);
|
|
11501
|
+
var aspect = w ? h / w : 1e20;
|
|
11502
|
+
var rotation = -Math.atan2(coord[1][1] - coord[0][1], coord[1][0] - coord[0][0]);
|
|
11503
|
+
var pos = transform.transformCoordinates(map.gcs(), map.ingcs(), {
|
|
11504
|
+
x: (coord[0][0] + coord[1][0] + coord[2][0] + coord[3][0]) / 4,
|
|
11505
|
+
y: (coord[0][1] + coord[1][1] + coord[2][1] + coord[3][1]) / 4
|
|
11506
|
+
});
|
|
11507
|
+
d._props = {
|
|
11508
|
+
pos: pos,
|
|
11509
|
+
radius: radius,
|
|
11510
|
+
aspect: aspect,
|
|
11511
|
+
rotation: rotation
|
|
11512
|
+
};
|
|
11513
|
+
});
|
|
11514
|
+
feature.data(ellipses).position(function (d) {
|
|
11515
|
+
return d._props.pos;
|
|
11516
|
+
}) // create an object with each property in m_options.polygonStyle,
|
|
11517
|
+
// mapping the values through the _style function.
|
|
11518
|
+
.style([{}].concat(Object.keys(m_options.polygonStyle)).reduce(function (styleObj, key) {
|
|
11519
|
+
var _objectSpread5;
|
|
11520
|
+
|
|
11521
|
+
return _objectSpread((_objectSpread5 = {}, _defineProperty(_objectSpread5, key, ellipses.some(function (d) {
|
|
11522
|
+
return d.properties && d.properties[key] !== undefined;
|
|
11523
|
+
}) ? m_this._style(key, m_options.polygonStyle[key]) : m_options.polygonStyle[key]), _defineProperty(_objectSpread5, "radius", function radius(d) {
|
|
11524
|
+
return d._props.radius;
|
|
11525
|
+
}), _defineProperty(_objectSpread5, "radiusIncludesStroke", false), _defineProperty(_objectSpread5, "symbolValue", function symbolValue(d) {
|
|
11526
|
+
return d._props.aspect;
|
|
11527
|
+
}), _defineProperty(_objectSpread5, "rotation", function rotation(d) {
|
|
11528
|
+
return d._props.rotation;
|
|
11529
|
+
}), _defineProperty(_objectSpread5, "strokeOffset", 0), _defineProperty(_objectSpread5, "rotateWithMap", true), _defineProperty(_objectSpread5, "scaleWithZoom", markerFeature.scaleMode.fill), _objectSpread5), styleObj);
|
|
11530
|
+
}));
|
|
11531
|
+
allFeatures.push(feature);
|
|
11532
|
+
}
|
|
11164
11533
|
}
|
|
11165
11534
|
|
|
11166
11535
|
if (done) {
|
|
@@ -13723,7 +14092,7 @@ var layer = function layer(arg) {
|
|
|
13723
14092
|
if (zIndex !== m_zIndex) {
|
|
13724
14093
|
m_zIndex = zIndex;
|
|
13725
14094
|
m_node.css('z-index', m_zIndex);
|
|
13726
|
-
m_this.geoTrigger(geo_event.
|
|
14095
|
+
m_this.geoTrigger(geo_event.layerMove, {
|
|
13727
14096
|
layer: m_this
|
|
13728
14097
|
});
|
|
13729
14098
|
}
|
|
@@ -15660,8 +16029,7 @@ var map = function map(arg) {
|
|
|
15660
16029
|
return m_this;
|
|
15661
16030
|
};
|
|
15662
16031
|
/**
|
|
15663
|
-
*
|
|
15664
|
-
* current center. Uses bare objects {x: 0, y: 0}.
|
|
16032
|
+
* Get or set the center of the map in the given geographic coordinates.
|
|
15665
16033
|
*
|
|
15666
16034
|
* @param {geo.geoPosition} coordinates If specified, the new center of the
|
|
15667
16035
|
* map.
|
|
@@ -17971,6 +18339,11 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
17971
18339
|
* selectionRectangle: truthy if a selection rectangle should be shown
|
|
17972
18340
|
* during the action. This can be the name of an event that will be
|
|
17973
18341
|
* triggered when the selection is complete.
|
|
18342
|
+
* selectionConstraint: if a function and a selection rectangle is being
|
|
18343
|
+
* drawn, this is a function that takes (mousexy, originxy, state)
|
|
18344
|
+
* with the coordinates objects with x, y in display coordinates.
|
|
18345
|
+
* The function returns a modified x, y for the mouse coordinates, or
|
|
18346
|
+
* undefined for no change.
|
|
17974
18347
|
* name: a string that can be used to reference this action.
|
|
17975
18348
|
* owner: a string that can be used to reference this action.
|
|
17976
18349
|
*/
|
|
@@ -18707,7 +19080,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
18707
19080
|
return m_this;
|
|
18708
19081
|
};
|
|
18709
19082
|
/**
|
|
18710
|
-
*
|
|
19083
|
+
* Get or set the map for this interactor, adds draw region layer if needed.
|
|
18711
19084
|
*
|
|
18712
19085
|
* @param {geo.map} [val] Either a new map object for `undefined` to return
|
|
18713
19086
|
* the current map object.
|
|
@@ -18864,16 +19237,28 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
18864
19237
|
mouse = m_this.mouse(),
|
|
18865
19238
|
map = m_this.map(),
|
|
18866
19239
|
display = {},
|
|
18867
|
-
gcs = {};
|
|
18868
|
-
|
|
19240
|
+
gcs = {};
|
|
19241
|
+
var mousexy = mouse.map;
|
|
19242
|
+
|
|
19243
|
+
if (m_state.actionRecord && util.isFunction(m_state.actionRecord.selectionConstraint)) {
|
|
19244
|
+
var constraint = m_state.actionRecord.selectionConstraint(mouse.mapgcs, origin.mapgcs);
|
|
19245
|
+
mousexy = constraint ? map.gcsToDisplay(constraint.pos, null) : mousexy;
|
|
19246
|
+
} else if (mouse.modifiers.shift) {
|
|
19247
|
+
var width = Math.pow(Math.abs((mousexy.x - origin.map.x) * (mousexy.y - origin.map.y)), 0.5);
|
|
19248
|
+
mousexy = {
|
|
19249
|
+
x: origin.map.x + Math.sign(mousexy.x - origin.map.x) * width,
|
|
19250
|
+
y: origin.map.y + Math.sign(mousexy.y - origin.map.y) * width
|
|
19251
|
+
};
|
|
19252
|
+
} // Get the display coordinates
|
|
19253
|
+
|
|
18869
19254
|
|
|
18870
19255
|
display.upperLeft = {
|
|
18871
|
-
x: Math.min(origin.map.x,
|
|
18872
|
-
y: Math.min(origin.map.y,
|
|
19256
|
+
x: Math.min(origin.map.x, mousexy.x),
|
|
19257
|
+
y: Math.min(origin.map.y, mousexy.y)
|
|
18873
19258
|
};
|
|
18874
19259
|
display.lowerRight = {
|
|
18875
|
-
x: Math.max(origin.map.x,
|
|
18876
|
-
y: Math.max(origin.map.y,
|
|
19260
|
+
x: Math.max(origin.map.x, mousexy.x),
|
|
19261
|
+
y: Math.max(origin.map.y, mousexy.y)
|
|
18877
19262
|
};
|
|
18878
19263
|
display.upperRight = {
|
|
18879
19264
|
x: display.lowerRight.x,
|
|
@@ -20243,7 +20628,8 @@ var pointFeature = __webpack_require__(2557);
|
|
|
20243
20628
|
* @property {number|function} [radius=5] Radius of each marker in pixels.
|
|
20244
20629
|
* This includes the stroke width if `strokeOffset` is -1, excludes it if
|
|
20245
20630
|
* `strokeOffset` is 1, and includes half the stroke width if `strokeOffset`
|
|
20246
|
-
* is 0.
|
|
20631
|
+
* is 0. Note that is `radiusIncludesStroke` is `false`, this never
|
|
20632
|
+
* includes the stroke width.
|
|
20247
20633
|
* @property {geo.geoColor|function} [strokeColor] Color to stroke each marker.
|
|
20248
20634
|
* @property {number|function} [strokeOpacity=1] Opacity for each marker's
|
|
20249
20635
|
* stroke. Opacity is on a [0-1] scale. Set this or `strokeWidth` to zero
|
|
@@ -20254,6 +20640,10 @@ var pointFeature = __webpack_require__(2557);
|
|
|
20254
20640
|
* @property {number|function} [strokeOffset=-1] The position of the stroke
|
|
20255
20641
|
* compared to the radius. This can only be -1, 0, or 1 (the sign of the
|
|
20256
20642
|
* value is used).
|
|
20643
|
+
* @property {boolean|function} [radiusIncludeStroke=true] If truthy or
|
|
20644
|
+
* undefined, the `radius` includes the `strokeWidth` based on the
|
|
20645
|
+
* `strokeOffset`. If defined and falsy, the radius does not include the
|
|
20646
|
+
* `strokeWidth`.
|
|
20257
20647
|
* @property {geo.geoColor|function} [fillColor] Color to fill each marker.
|
|
20258
20648
|
* @property {number|function} [fillOpacity=1] Opacity for each marker.
|
|
20259
20649
|
* Opacity is on a [0-1] scale. Set to zero to have no fill.
|
|
@@ -20269,7 +20659,7 @@ var pointFeature = __webpack_require__(2557);
|
|
|
20269
20659
|
* @property {boolean|function} [rotateWithMap=false] If truthy, rotate symbols
|
|
20270
20660
|
* with the map. If falsy, symbol orientation is absolute.
|
|
20271
20661
|
* @property {number[]|function} [origin] Origin in map gcs coordinates used
|
|
20272
|
-
*
|
|
20662
|
+
* to ensure high precision drawing in this location. When called as a
|
|
20273
20663
|
* function, this is passed the maker positions as a single continuous array
|
|
20274
20664
|
* in map gcs coordinates. It defaults to the first marker's position.
|
|
20275
20665
|
*/
|
|
@@ -20329,6 +20719,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20329
20719
|
position,
|
|
20330
20720
|
radius = m_this.style.get('radius'),
|
|
20331
20721
|
strokeWidth = m_this.style.get('strokeWidth'),
|
|
20722
|
+
radiusIncludesStroke = m_this.style.get('radiusIncludesStroke'),
|
|
20332
20723
|
strokeOffset = m_this.style.get('strokeOffset'),
|
|
20333
20724
|
scaleWithZoom = m_this.style.get('scaleWithZoom');
|
|
20334
20725
|
position = m_this.position();
|
|
@@ -20342,9 +20733,11 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20342
20733
|
var r = radius(d, i),
|
|
20343
20734
|
s = strokeWidth(d, i),
|
|
20344
20735
|
so = Math.sign(strokeOffset(d, i));
|
|
20345
|
-
var
|
|
20736
|
+
var ris = radiusIncludesStroke(d, i);
|
|
20737
|
+
ris = ris === undefined ? true : ris;
|
|
20738
|
+
var rwiths = ris ? r + s * (so + 1) / 2 : r + s,
|
|
20346
20739
|
// radius with stroke
|
|
20347
|
-
rwos = r + s * (so - 1) / 2; // radius without stroke
|
|
20740
|
+
rwos = ris ? r + s * (so - 1) / 2 : r; // radius without stroke
|
|
20348
20741
|
|
|
20349
20742
|
swz = markerFeature.scaleMode[swz] || (swz >= 1 && swz <= 3 ? swz : 0);
|
|
20350
20743
|
|
|
@@ -20419,6 +20812,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20419
20812
|
corners,
|
|
20420
20813
|
radius = m_this.style.get('radius'),
|
|
20421
20814
|
strokeWidth = m_this.style.get('strokeWidth'),
|
|
20815
|
+
radiusIncludesStroke = m_this.style.get('radiusIncludesStroke'),
|
|
20422
20816
|
strokeOffset = m_this.style.get('strokeOffset'),
|
|
20423
20817
|
scaleWithZoom = m_this.style.get('scaleWithZoom');
|
|
20424
20818
|
data = m_this.data();
|
|
@@ -20476,7 +20870,9 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20476
20870
|
swz = scaleWithZoom(data[i], i),
|
|
20477
20871
|
so = strokeOffset(data[i], i),
|
|
20478
20872
|
s = swz ? strokeWidth(data[i], i) : 0;
|
|
20479
|
-
var
|
|
20873
|
+
var ris = radiusIncludesStroke(d, i);
|
|
20874
|
+
ris = ris === undefined ? true : ris;
|
|
20875
|
+
var rwos = ris ? rad + s * (so - 1) / 2 : rad; // radius without stroke
|
|
20480
20876
|
|
|
20481
20877
|
rad = rwos + s;
|
|
20482
20878
|
var p = m_this.position()(d, i),
|
|
@@ -20548,6 +20944,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20548
20944
|
data = m_this.data(),
|
|
20549
20945
|
radius = m_this.style.get('radius'),
|
|
20550
20946
|
strokeWidth = m_this.style.get('strokeWidth'),
|
|
20947
|
+
radiusIncludesStroke = m_this.style.get('radiusIncludesStroke'),
|
|
20551
20948
|
strokeOffset = m_this.style.get('strokeOffset'),
|
|
20552
20949
|
scaleWithZoom = m_this.style.get('scaleWithZoom'),
|
|
20553
20950
|
idx,
|
|
@@ -20650,7 +21047,9 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20650
21047
|
swz = scaleWithZoom(data[i], i);
|
|
20651
21048
|
var so = strokeOffset(data[i], i),
|
|
20652
21049
|
s = swz ? strokeWidth(data[i], i) : 0;
|
|
20653
|
-
var
|
|
21050
|
+
var ris = radiusIncludesStroke(d, i);
|
|
21051
|
+
ris = ris === undefined ? true : ris;
|
|
21052
|
+
var rwos = ris ? rad + s * (so - 1) / 2 : rad; // radius without stroke
|
|
20654
21053
|
|
|
20655
21054
|
swz = markerFeature.scaleMode[swz] || (swz >= 1 && swz <= 3 ? swz : 0);
|
|
20656
21055
|
rad = rwos + s;
|
|
@@ -20701,6 +21100,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20701
21100
|
arg = $.extend(true, {}, {
|
|
20702
21101
|
style: $.extend({}, {
|
|
20703
21102
|
radius: 6.25,
|
|
21103
|
+
radiusIncludesStroke: true,
|
|
20704
21104
|
strokeColor: {
|
|
20705
21105
|
r: 0.851,
|
|
20706
21106
|
g: 0.604,
|
|
@@ -22651,6 +23051,15 @@ var pixelmapLayer = function pixelmapLayer(arg) {
|
|
|
22651
23051
|
}
|
|
22652
23052
|
|
|
22653
23053
|
arg = arg || {};
|
|
23054
|
+
/* Don't extend data from args -- it can be very slow */
|
|
23055
|
+
|
|
23056
|
+
var argdata;
|
|
23057
|
+
|
|
23058
|
+
if (arg.data) {
|
|
23059
|
+
argdata = arg.data;
|
|
23060
|
+
delete arg.data;
|
|
23061
|
+
}
|
|
23062
|
+
|
|
22654
23063
|
arg = $.extend(true, {}, this.constructor.defaults, arg);
|
|
22655
23064
|
tileLayer.call(this, arg);
|
|
22656
23065
|
var s_init = this._init,
|
|
@@ -22711,8 +23120,8 @@ var pixelmapLayer = function pixelmapLayer(arg) {
|
|
|
22711
23120
|
|
|
22712
23121
|
m_pixelmapFeature = m_this.createFeature('pixelmap', pixelmapArgs);
|
|
22713
23122
|
|
|
22714
|
-
if (
|
|
22715
|
-
m_pixelmapFeature.data(
|
|
23123
|
+
if (argdata) {
|
|
23124
|
+
m_pixelmapFeature.data(argdata);
|
|
22716
23125
|
}
|
|
22717
23126
|
|
|
22718
23127
|
m_this.style = m_pixelmapFeature.style;
|
|
@@ -25643,7 +26052,13 @@ util.createLayer = function (name, map, arg) {
|
|
|
25643
26052
|
}
|
|
25644
26053
|
|
|
25645
26054
|
if (arg !== undefined) {
|
|
26055
|
+
var argdata = arg.data;
|
|
26056
|
+
delete arg.data;
|
|
25646
26057
|
$.extend(true, options, arg);
|
|
26058
|
+
|
|
26059
|
+
if (argdata) {
|
|
26060
|
+
options.data = argdata;
|
|
26061
|
+
}
|
|
25647
26062
|
}
|
|
25648
26063
|
|
|
25649
26064
|
layer = layers[name](options);
|
|
@@ -26252,7 +26667,7 @@ module.exports = sceneObject;
|
|
|
26252
26667
|
* @constant
|
|
26253
26668
|
* @type {string}
|
|
26254
26669
|
*/
|
|
26255
|
-
module.exports = "
|
|
26670
|
+
module.exports = "b5206cc793635de028b4834eaad4a1c7d73e5b56";
|
|
26256
26671
|
|
|
26257
26672
|
/***/ }),
|
|
26258
26673
|
|
|
@@ -30951,9 +31366,9 @@ var tileLayer = function tileLayer(arg) {
|
|
|
30951
31366
|
/**
|
|
30952
31367
|
* Get/set the baseQuad.
|
|
30953
31368
|
*
|
|
30954
|
-
* @property {object} [baseQuad] A quad feature element to draw
|
|
30955
|
-
*
|
|
30956
|
-
*
|
|
31369
|
+
* @property {object} [baseQuad] A quad feature element to draw below any
|
|
31370
|
+
* tile layers. If specified, this uses the quad defaults, so this is a
|
|
31371
|
+
* ``geo.quadFeature.position`` object with, typically, an ``image``
|
|
30957
31372
|
* property added to it. The quad positions are in the map gcs
|
|
30958
31373
|
* coordinates.
|
|
30959
31374
|
* @name geo.tileLayer.baseQuad
|
|
@@ -31677,7 +32092,7 @@ var trackFeature = function trackFeature(arg) {
|
|
|
31677
32092
|
return result;
|
|
31678
32093
|
};
|
|
31679
32094
|
/**
|
|
31680
|
-
*
|
|
32095
|
+
* Get or set style.
|
|
31681
32096
|
*
|
|
31682
32097
|
* @param {string|object} [arg1] If `undefined`, return the current style
|
|
31683
32098
|
* object. If a string and `arg2` is undefined, return the style
|
|
@@ -33470,7 +33885,7 @@ var colorLegendWidget = function colorLegendWidget(arg) {
|
|
|
33470
33885
|
});
|
|
33471
33886
|
};
|
|
33472
33887
|
/**
|
|
33473
|
-
*
|
|
33888
|
+
* Get or set categories.
|
|
33474
33889
|
* @param {geo.gui.colorLegendWidget.category[]} [categories] If `undefined`,
|
|
33475
33890
|
* return the current legend categories array. If an array is provided,
|
|
33476
33891
|
* remove current legends and recreate with the new categories.
|
|
@@ -34495,7 +34910,7 @@ var scaleWidget = function scaleWidget(arg) {
|
|
|
34495
34910
|
m_this._render();
|
|
34496
34911
|
};
|
|
34497
34912
|
/**
|
|
34498
|
-
*
|
|
34913
|
+
* Get or set options.
|
|
34499
34914
|
*
|
|
34500
34915
|
* @param {string|object} [arg1] If `undefined`, return the options object.
|
|
34501
34916
|
* If a string, either set or return the option of that name. If an
|
|
@@ -38716,7 +39131,7 @@ module.exports = vectorFeature;
|
|
|
38716
39131
|
* @constant
|
|
38717
39132
|
* @type {string}
|
|
38718
39133
|
*/
|
|
38719
|
-
module.exports = "1.
|
|
39134
|
+
module.exports = "1.8.1";
|
|
38720
39135
|
|
|
38721
39136
|
/***/ }),
|
|
38722
39137
|
|
|
@@ -40712,7 +41127,8 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
|
|
|
40712
41127
|
symbolValue: 1,
|
|
40713
41128
|
rotation: 1,
|
|
40714
41129
|
scaleWithZoom: 0,
|
|
40715
|
-
rotateWithMap: 0
|
|
41130
|
+
rotateWithMap: 0,
|
|
41131
|
+
radiusIncludesStroke: 0
|
|
40716
41132
|
},
|
|
40717
41133
|
vpf = m_this.verticesPerFeature(),
|
|
40718
41134
|
data = m_this.data(),
|
|
@@ -40792,7 +41208,7 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
|
|
|
40792
41208
|
|
|
40793
41209
|
styleVal.scaleWithZoom = markerFeature.scaleMode[styleVal.scaleWithZoom] || (styleVal.scaleWithZoom >= 1 && styleVal.scaleWithZoom <= 3 ? styleVal.scaleWithZoom : 0);
|
|
40794
41210
|
styleVal.symbolComputed = styleVal.scaleWithZoom + (styleVal.rotateWithMap ? 4 : 0) + // bit 3 reserved
|
|
40795
|
-
(Math.sign(styleVal.strokeOffset) + 1) * 16 + styleVal.symbol * 64;
|
|
41211
|
+
(Math.sign(styleVal.radiusIncludesStroke !== undefined && styleVal.radiusIncludesStroke ? styleVal.strokeOffset : 1) + 1) * 16 + styleVal.symbol * 64;
|
|
40796
41212
|
|
|
40797
41213
|
if (styleVal.symbolValue && styleVal.symbol >= markerFeature.symbols.arrow && styleVal.symbol < markerFeature.symbols.arrow + markerFeature.symbols.arrowMax) {
|
|
40798
41214
|
styleVal.symbolValue = packFloats(styleVal.symbolValue);
|
|
@@ -44071,10 +44487,12 @@ var webglRenderer = function webglRenderer(arg) {
|
|
|
44071
44487
|
renderState.m_context = m_this._glContext();
|
|
44072
44488
|
m_viewer.exit(renderState);
|
|
44073
44489
|
|
|
44074
|
-
|
|
44075
|
-
|
|
44490
|
+
var context = m_this._glContext();
|
|
44491
|
+
|
|
44492
|
+
if (context !== vgl.GL && context.getExtension('WEBGL_lose_context') && context.getExtension('WEBGL_lose_context').loseContext) {
|
|
44493
|
+
context.getExtension('WEBGL_lose_context').loseContext();
|
|
44076
44494
|
}
|
|
44077
|
-
} // make sure we clear shaders associated with the
|
|
44495
|
+
} // make sure we clear shaders associated with the generated context, too
|
|
44078
44496
|
|
|
44079
44497
|
|
|
44080
44498
|
vgl.clearCachedShaders(vgl.GL);
|
|
@@ -74018,25 +74436,25 @@ var MAX_ITER = 20;
|
|
|
74018
74436
|
|
|
74019
74437
|
"use strict";
|
|
74020
74438
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
74021
|
-
/* harmony export */ "
|
|
74022
|
-
/* harmony export */ "
|
|
74439
|
+
/* harmony export */ "Be": function() { return /* binding */ SRS_WGS84_ESQUARED; },
|
|
74440
|
+
/* harmony export */ "Er": function() { return /* binding */ SRS_WGS84_SEMIMINOR; },
|
|
74023
74441
|
/* harmony export */ "Hp": function() { return /* binding */ PJD_GRIDSHIFT; },
|
|
74024
74442
|
/* harmony export */ "JP": function() { return /* binding */ PJD_WGS84; },
|
|
74443
|
+
/* harmony export */ "Pn": function() { return /* binding */ R2D; },
|
|
74025
74444
|
/* harmony export */ "Qf": function() { return /* binding */ PJD_NODATUM; },
|
|
74445
|
+
/* harmony export */ "Qg": function() { return /* binding */ FORTPI; },
|
|
74446
|
+
/* harmony export */ "Qx": function() { return /* binding */ D2R; },
|
|
74447
|
+
/* harmony export */ "U2": function() { return /* binding */ SPI; },
|
|
74448
|
+
/* harmony export */ "cN": function() { return /* binding */ PJD_3PARAM; },
|
|
74449
|
+
/* harmony export */ "cp": function() { return /* binding */ EPSLN; },
|
|
74026
74450
|
/* harmony export */ "ht": function() { return /* binding */ SRS_WGS84_SEMIMAJOR; },
|
|
74027
|
-
/* harmony export */ "
|
|
74028
|
-
/* harmony export */ "Be": function() { return /* binding */ SRS_WGS84_ESQUARED; },
|
|
74029
|
-
/* harmony export */ "uK": function() { return /* binding */ SEC_TO_RAD; },
|
|
74451
|
+
/* harmony export */ "iM": function() { return /* binding */ PJD_7PARAM; },
|
|
74030
74452
|
/* harmony export */ "pj": function() { return /* binding */ HALF_PI; },
|
|
74031
74453
|
/* harmony export */ "s3": function() { return /* binding */ SIXTH; },
|
|
74032
|
-
/* harmony export */ "
|
|
74033
|
-
/* harmony export */ "zJ": function() { return /* binding */ RA6; },
|
|
74034
|
-
/* harmony export */ "cp": function() { return /* binding */ EPSLN; },
|
|
74035
|
-
/* harmony export */ "Qx": function() { return /* binding */ D2R; },
|
|
74036
|
-
/* harmony export */ "Pn": function() { return /* binding */ R2D; },
|
|
74037
|
-
/* harmony export */ "Qg": function() { return /* binding */ FORTPI; },
|
|
74454
|
+
/* harmony export */ "uK": function() { return /* binding */ SEC_TO_RAD; },
|
|
74038
74455
|
/* harmony export */ "uo": function() { return /* binding */ TWO_PI; },
|
|
74039
|
-
/* harmony export */ "
|
|
74456
|
+
/* harmony export */ "y1": function() { return /* binding */ RA4; },
|
|
74457
|
+
/* harmony export */ "zJ": function() { return /* binding */ RA6; }
|
|
74040
74458
|
/* harmony export */ });
|
|
74041
74459
|
var PJD_3PARAM = 1;
|
|
74042
74460
|
var PJD_7PARAM = 2;
|
|
@@ -74076,11 +74494,11 @@ var SPI = 3.14159265359;
|
|
|
74076
74494
|
|
|
74077
74495
|
"use strict";
|
|
74078
74496
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
74079
|
-
/* harmony export */ "Lv": function() { return /* binding */ compareDatums; },
|
|
74080
74497
|
/* harmony export */ "Gu": function() { return /* binding */ geodeticToGeocentric; },
|
|
74498
|
+
/* harmony export */ "Lv": function() { return /* binding */ compareDatums; },
|
|
74499
|
+
/* harmony export */ "QN": function() { return /* binding */ geocentricFromWgs84; },
|
|
74081
74500
|
/* harmony export */ "Xu": function() { return /* binding */ geocentricToGeodetic; },
|
|
74082
|
-
/* harmony export */ "jJ": function() { return /* binding */ geocentricToWgs84; }
|
|
74083
|
-
/* harmony export */ "QN": function() { return /* binding */ geocentricFromWgs84; }
|
|
74501
|
+
/* harmony export */ "jJ": function() { return /* binding */ geocentricToWgs84; }
|
|
74084
74502
|
/* harmony export */ });
|
|
74085
74503
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
74086
74504
|
|
|
@@ -75869,7 +76287,7 @@ function Projection(srsCode,callback) {
|
|
|
75869
76287
|
extend(this, json); // transfer everything over from the projection because we don't know what we'll need
|
|
75870
76288
|
extend(this, ourProj); // transfer all the methods from the projection
|
|
75871
76289
|
|
|
75872
|
-
// copy the 4 things over we
|
|
76290
|
+
// copy the 4 things over we calculated in deriveConstants.sphere
|
|
75873
76291
|
this.a = sphere_.a;
|
|
75874
76292
|
this.b = sphere_.b;
|
|
75875
76293
|
this.rf = sphere_.rf;
|
|
@@ -77199,6 +77617,8 @@ var robin = __webpack_require__(4402);
|
|
|
77199
77617
|
var geocent = __webpack_require__(1258);
|
|
77200
77618
|
// EXTERNAL MODULE: ../node_modules/proj4/lib/projections/tpers.js
|
|
77201
77619
|
var tpers = __webpack_require__(6470);
|
|
77620
|
+
// EXTERNAL MODULE: ../node_modules/proj4/lib/projections/geos.js
|
|
77621
|
+
var geos = __webpack_require__(813);
|
|
77202
77622
|
;// CONCATENATED MODULE: ../node_modules/proj4/projs.js
|
|
77203
77623
|
|
|
77204
77624
|
|
|
@@ -77226,6 +77646,7 @@ var tpers = __webpack_require__(6470);
|
|
|
77226
77646
|
|
|
77227
77647
|
|
|
77228
77648
|
|
|
77649
|
+
|
|
77229
77650
|
|
|
77230
77651
|
|
|
77231
77652
|
/* harmony default export */ function proj4_projs(proj4){
|
|
@@ -77257,6 +77678,7 @@ var tpers = __webpack_require__(6470);
|
|
|
77257
77678
|
proj4.Proj.projections.add(robin["default"]);
|
|
77258
77679
|
proj4.Proj.projections.add(geocent["default"]);
|
|
77259
77680
|
proj4.Proj.projections.add(tpers["default"]);
|
|
77681
|
+
proj4.Proj.projections.add(geos["default"]);
|
|
77260
77682
|
}
|
|
77261
77683
|
;// CONCATENATED MODULE: ../node_modules/proj4/lib/index.js
|
|
77262
77684
|
|
|
@@ -77291,11 +77713,11 @@ proj4_projs(core);
|
|
|
77291
77713
|
"use strict";
|
|
77292
77714
|
__webpack_require__.r(__webpack_exports__);
|
|
77293
77715
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77294
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77295
77716
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
77717
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77296
77718
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77297
|
-
/* harmony export */ "
|
|
77298
|
-
/* harmony export */ "
|
|
77719
|
+
/* harmony export */ "names": function() { return /* binding */ names; },
|
|
77720
|
+
/* harmony export */ "phi1z": function() { return /* binding */ phi1z; }
|
|
77299
77721
|
/* harmony export */ });
|
|
77300
77722
|
/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4541);
|
|
77301
77723
|
/* harmony import */ var _common_qsfnz__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3998);
|
|
@@ -77441,8 +77863,8 @@ var names = ["Albers_Conic_Equal_Area", "Albers", "aea"];
|
|
|
77441
77863
|
"use strict";
|
|
77442
77864
|
__webpack_require__.r(__webpack_exports__);
|
|
77443
77865
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77444
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77445
77866
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
77867
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77446
77868
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77447
77869
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77448
77870
|
/* harmony export */ });
|
|
@@ -77674,8 +78096,8 @@ var names = ["Azimuthal_Equidistant", "aeqd"];
|
|
|
77674
78096
|
"use strict";
|
|
77675
78097
|
__webpack_require__.r(__webpack_exports__);
|
|
77676
78098
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77677
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77678
78099
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78100
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77679
78101
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77680
78102
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77681
78103
|
/* harmony export */ });
|
|
@@ -77940,8 +78362,8 @@ var names = ["cea"];
|
|
|
77940
78362
|
"use strict";
|
|
77941
78363
|
__webpack_require__.r(__webpack_exports__);
|
|
77942
78364
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77943
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77944
78365
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78366
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77945
78367
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77946
78368
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77947
78369
|
/* harmony export */ });
|
|
@@ -78005,8 +78427,8 @@ var names = ["Equirectangular", "Equidistant_Cylindrical", "eqc"];
|
|
|
78005
78427
|
"use strict";
|
|
78006
78428
|
__webpack_require__.r(__webpack_exports__);
|
|
78007
78429
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78008
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78009
78430
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78431
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78010
78432
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78011
78433
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78012
78434
|
/* harmony export */ });
|
|
@@ -78147,8 +78569,8 @@ var names = ["Equidistant_Conic", "eqdc"];
|
|
|
78147
78569
|
"use strict";
|
|
78148
78570
|
__webpack_require__.r(__webpack_exports__);
|
|
78149
78571
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78150
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78151
78572
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78573
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78152
78574
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78153
78575
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78154
78576
|
/* harmony export */ });
|
|
@@ -78580,8 +79002,8 @@ var names = ["gauss"];
|
|
|
78580
79002
|
"use strict";
|
|
78581
79003
|
__webpack_require__.r(__webpack_exports__);
|
|
78582
79004
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78583
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78584
79005
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79006
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78585
79007
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78586
79008
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78587
79009
|
/* harmony export */ });
|
|
@@ -78613,14 +79035,187 @@ var names = ["Geocentric", 'geocentric', "geocent", "Geocent"];
|
|
|
78613
79035
|
|
|
78614
79036
|
/***/ }),
|
|
78615
79037
|
|
|
78616
|
-
/***/
|
|
79038
|
+
/***/ 813:
|
|
78617
79039
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
78618
79040
|
|
|
78619
79041
|
"use strict";
|
|
78620
79042
|
__webpack_require__.r(__webpack_exports__);
|
|
78621
79043
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78622
79044
|
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79045
|
+
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79046
|
+
/* harmony export */ });
|
|
79047
|
+
/* harmony import */ var _common_hypot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(110);
|
|
79048
|
+
|
|
79049
|
+
|
|
79050
|
+
function init() {
|
|
79051
|
+
this.flip_axis = (this.sweep === 'x' ? 1 : 0);
|
|
79052
|
+
this.h = Number(this.h);
|
|
79053
|
+
this.radius_g_1 = this.h / this.a;
|
|
79054
|
+
|
|
79055
|
+
if (this.radius_g_1 <= 0 || this.radius_g_1 > 1e10) {
|
|
79056
|
+
throw new Error();
|
|
79057
|
+
}
|
|
79058
|
+
|
|
79059
|
+
this.radius_g = 1.0 + this.radius_g_1;
|
|
79060
|
+
this.C = this.radius_g * this.radius_g - 1.0;
|
|
79061
|
+
|
|
79062
|
+
if (this.es !== 0.0) {
|
|
79063
|
+
var one_es = 1.0 - this.es;
|
|
79064
|
+
var rone_es = 1 / one_es;
|
|
79065
|
+
|
|
79066
|
+
this.radius_p = Math.sqrt(one_es);
|
|
79067
|
+
this.radius_p2 = one_es;
|
|
79068
|
+
this.radius_p_inv2 = rone_es;
|
|
79069
|
+
|
|
79070
|
+
this.shape = 'ellipse'; // Use as a condition in the forward and inverse functions.
|
|
79071
|
+
} else {
|
|
79072
|
+
this.radius_p = 1.0;
|
|
79073
|
+
this.radius_p2 = 1.0;
|
|
79074
|
+
this.radius_p_inv2 = 1.0;
|
|
79075
|
+
|
|
79076
|
+
this.shape = 'sphere'; // Use as a condition in the forward and inverse functions.
|
|
79077
|
+
}
|
|
79078
|
+
|
|
79079
|
+
if (!this.title) {
|
|
79080
|
+
this.title = "Geostationary Satellite View";
|
|
79081
|
+
}
|
|
79082
|
+
}
|
|
79083
|
+
|
|
79084
|
+
function forward(p) {
|
|
79085
|
+
var lon = p.x;
|
|
79086
|
+
var lat = p.y;
|
|
79087
|
+
var tmp, v_x, v_y, v_z;
|
|
79088
|
+
lon = lon - this.long0;
|
|
79089
|
+
|
|
79090
|
+
if (this.shape === 'ellipse') {
|
|
79091
|
+
lat = Math.atan(this.radius_p2 * Math.tan(lat));
|
|
79092
|
+
var r = this.radius_p / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(this.radius_p * Math.cos(lat), Math.sin(lat));
|
|
79093
|
+
|
|
79094
|
+
v_x = r * Math.cos(lon) * Math.cos(lat);
|
|
79095
|
+
v_y = r * Math.sin(lon) * Math.cos(lat);
|
|
79096
|
+
v_z = r * Math.sin(lat);
|
|
79097
|
+
|
|
79098
|
+
if (((this.radius_g - v_x) * v_x - v_y * v_y - v_z * v_z * this.radius_p_inv2) < 0.0) {
|
|
79099
|
+
p.x = Number.NaN;
|
|
79100
|
+
p.y = Number.NaN;
|
|
79101
|
+
return p;
|
|
79102
|
+
}
|
|
79103
|
+
|
|
79104
|
+
tmp = this.radius_g - v_x;
|
|
79105
|
+
if (this.flip_axis) {
|
|
79106
|
+
p.x = this.radius_g_1 * Math.atan(v_y / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_z, tmp));
|
|
79107
|
+
p.y = this.radius_g_1 * Math.atan(v_z / tmp);
|
|
79108
|
+
} else {
|
|
79109
|
+
p.x = this.radius_g_1 * Math.atan(v_y / tmp);
|
|
79110
|
+
p.y = this.radius_g_1 * Math.atan(v_z / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_y, tmp));
|
|
79111
|
+
}
|
|
79112
|
+
} else if (this.shape === 'sphere') {
|
|
79113
|
+
tmp = Math.cos(lat);
|
|
79114
|
+
v_x = Math.cos(lon) * tmp;
|
|
79115
|
+
v_y = Math.sin(lon) * tmp;
|
|
79116
|
+
v_z = Math.sin(lat);
|
|
79117
|
+
tmp = this.radius_g - v_x;
|
|
79118
|
+
|
|
79119
|
+
if (this.flip_axis) {
|
|
79120
|
+
p.x = this.radius_g_1 * Math.atan(v_y / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_z, tmp));
|
|
79121
|
+
p.y = this.radius_g_1 * Math.atan(v_z / tmp);
|
|
79122
|
+
} else {
|
|
79123
|
+
p.x = this.radius_g_1 * Math.atan(v_y / tmp);
|
|
79124
|
+
p.y = this.radius_g_1 * Math.atan(v_z / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_y, tmp));
|
|
79125
|
+
}
|
|
79126
|
+
}
|
|
79127
|
+
p.x = p.x * this.a;
|
|
79128
|
+
p.y = p.y * this.a;
|
|
79129
|
+
return p;
|
|
79130
|
+
}
|
|
79131
|
+
|
|
79132
|
+
function inverse(p) {
|
|
79133
|
+
var v_x = -1.0;
|
|
79134
|
+
var v_y = 0.0;
|
|
79135
|
+
var v_z = 0.0;
|
|
79136
|
+
var a, b, det, k;
|
|
79137
|
+
|
|
79138
|
+
p.x = p.x / this.a;
|
|
79139
|
+
p.y = p.y / this.a;
|
|
79140
|
+
|
|
79141
|
+
if (this.shape === 'ellipse') {
|
|
79142
|
+
if (this.flip_axis) {
|
|
79143
|
+
v_z = Math.tan(p.y / this.radius_g_1);
|
|
79144
|
+
v_y = Math.tan(p.x / this.radius_g_1) * (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(1.0, v_z);
|
|
79145
|
+
} else {
|
|
79146
|
+
v_y = Math.tan(p.x / this.radius_g_1);
|
|
79147
|
+
v_z = Math.tan(p.y / this.radius_g_1) * (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(1.0, v_y);
|
|
79148
|
+
}
|
|
79149
|
+
|
|
79150
|
+
var v_zp = v_z / this.radius_p;
|
|
79151
|
+
a = v_y * v_y + v_zp * v_zp + v_x * v_x;
|
|
79152
|
+
b = 2 * this.radius_g * v_x;
|
|
79153
|
+
det = (b * b) - 4 * a * this.C;
|
|
79154
|
+
|
|
79155
|
+
if (det < 0.0) {
|
|
79156
|
+
p.x = Number.NaN;
|
|
79157
|
+
p.y = Number.NaN;
|
|
79158
|
+
return p;
|
|
79159
|
+
}
|
|
79160
|
+
|
|
79161
|
+
k = (-b - Math.sqrt(det)) / (2.0 * a);
|
|
79162
|
+
v_x = this.radius_g + k * v_x;
|
|
79163
|
+
v_y *= k;
|
|
79164
|
+
v_z *= k;
|
|
79165
|
+
|
|
79166
|
+
p.x = Math.atan2(v_y, v_x);
|
|
79167
|
+
p.y = Math.atan(v_z * Math.cos(p.x) / v_x);
|
|
79168
|
+
p.y = Math.atan(this.radius_p_inv2 * Math.tan(p.y));
|
|
79169
|
+
} else if (this.shape === 'sphere') {
|
|
79170
|
+
if (this.flip_axis) {
|
|
79171
|
+
v_z = Math.tan(p.y / this.radius_g_1);
|
|
79172
|
+
v_y = Math.tan(p.x / this.radius_g_1) * Math.sqrt(1.0 + v_z * v_z);
|
|
79173
|
+
} else {
|
|
79174
|
+
v_y = Math.tan(p.x / this.radius_g_1);
|
|
79175
|
+
v_z = Math.tan(p.y / this.radius_g_1) * Math.sqrt(1.0 + v_y * v_y);
|
|
79176
|
+
}
|
|
79177
|
+
|
|
79178
|
+
a = v_y * v_y + v_z * v_z + v_x * v_x;
|
|
79179
|
+
b = 2 * this.radius_g * v_x;
|
|
79180
|
+
det = (b * b) - 4 * a * this.C;
|
|
79181
|
+
if (det < 0.0) {
|
|
79182
|
+
p.x = Number.NaN;
|
|
79183
|
+
p.y = Number.NaN;
|
|
79184
|
+
return p;
|
|
79185
|
+
}
|
|
79186
|
+
|
|
79187
|
+
k = (-b - Math.sqrt(det)) / (2.0 * a);
|
|
79188
|
+
v_x = this.radius_g + k * v_x;
|
|
79189
|
+
v_y *= k;
|
|
79190
|
+
v_z *= k;
|
|
79191
|
+
|
|
79192
|
+
p.x = Math.atan2(v_y, v_x);
|
|
79193
|
+
p.y = Math.atan(v_z * Math.cos(p.x) / v_x);
|
|
79194
|
+
}
|
|
79195
|
+
p.x = p.x + this.long0;
|
|
79196
|
+
return p;
|
|
79197
|
+
}
|
|
79198
|
+
|
|
79199
|
+
var names = ["Geostationary Satellite View", "Geostationary_Satellite", "geos"];
|
|
79200
|
+
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
79201
|
+
init: init,
|
|
79202
|
+
forward: forward,
|
|
79203
|
+
inverse: inverse,
|
|
79204
|
+
names: names,
|
|
79205
|
+
});
|
|
79206
|
+
|
|
79207
|
+
|
|
79208
|
+
|
|
79209
|
+
/***/ }),
|
|
79210
|
+
|
|
79211
|
+
/***/ 4655:
|
|
79212
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
79213
|
+
|
|
79214
|
+
"use strict";
|
|
79215
|
+
__webpack_require__.r(__webpack_exports__);
|
|
79216
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78623
79217
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79218
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78624
79219
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78625
79220
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78626
79221
|
/* harmony export */ });
|
|
@@ -78870,8 +79465,8 @@ var names = ["gstmerg", "gstmerc"];
|
|
|
78870
79465
|
"use strict";
|
|
78871
79466
|
__webpack_require__.r(__webpack_exports__);
|
|
78872
79467
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78873
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78874
79468
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79469
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78875
79470
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78876
79471
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78877
79472
|
/* harmony export */ });
|
|
@@ -78992,12 +79587,12 @@ var names = ["Krovak", "krovak"];
|
|
|
78992
79587
|
"use strict";
|
|
78993
79588
|
__webpack_require__.r(__webpack_exports__);
|
|
78994
79589
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78995
|
-
/* harmony export */ "S_POLE": function() { return /* binding */ S_POLE; },
|
|
78996
|
-
/* harmony export */ "N_POLE": function() { return /* binding */ N_POLE; },
|
|
78997
79590
|
/* harmony export */ "EQUIT": function() { return /* binding */ EQUIT; },
|
|
79591
|
+
/* harmony export */ "N_POLE": function() { return /* binding */ N_POLE; },
|
|
78998
79592
|
/* harmony export */ "OBLIQ": function() { return /* binding */ OBLIQ; },
|
|
78999
|
-
/* harmony export */ "
|
|
79593
|
+
/* harmony export */ "S_POLE": function() { return /* binding */ S_POLE; },
|
|
79000
79594
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79595
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79001
79596
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79002
79597
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79003
79598
|
/* harmony export */ });
|
|
@@ -79312,8 +79907,8 @@ var names = ["Lambert Azimuthal Equal Area", "Lambert_Azimuthal_Equal_Area", "la
|
|
|
79312
79907
|
"use strict";
|
|
79313
79908
|
__webpack_require__.r(__webpack_exports__);
|
|
79314
79909
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79315
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79316
79910
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79911
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79317
79912
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79318
79913
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79319
79914
|
/* harmony export */ });
|
|
@@ -79462,7 +80057,9 @@ var names = [
|
|
|
79462
80057
|
"Lambert_Conformal_Conic",
|
|
79463
80058
|
"Lambert_Conformal_Conic_1SP",
|
|
79464
80059
|
"Lambert_Conformal_Conic_2SP",
|
|
79465
|
-
"lcc"
|
|
80060
|
+
"lcc",
|
|
80061
|
+
"Lambert Conic Conformal (1SP)",
|
|
80062
|
+
"Lambert Conic Conformal (2SP)"
|
|
79466
80063
|
];
|
|
79467
80064
|
|
|
79468
80065
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
@@ -79481,8 +80078,8 @@ var names = [
|
|
|
79481
80078
|
"use strict";
|
|
79482
80079
|
__webpack_require__.r(__webpack_exports__);
|
|
79483
80080
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79484
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79485
80081
|
/* harmony export */ "forward": function() { return /* binding */ identity; },
|
|
80082
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79486
80083
|
/* harmony export */ "inverse": function() { return /* binding */ identity; },
|
|
79487
80084
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79488
80085
|
/* harmony export */ });
|
|
@@ -79512,8 +80109,8 @@ var names = ["longlat", "identity"];
|
|
|
79512
80109
|
"use strict";
|
|
79513
80110
|
__webpack_require__.r(__webpack_exports__);
|
|
79514
80111
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79515
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79516
80112
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80113
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79517
80114
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79518
80115
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79519
80116
|
/* harmony export */ });
|
|
@@ -79632,8 +80229,8 @@ var names = ["Mercator", "Popular Visualisation Pseudo Mercator", "Mercator_1SP"
|
|
|
79632
80229
|
"use strict";
|
|
79633
80230
|
__webpack_require__.r(__webpack_exports__);
|
|
79634
80231
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79635
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79636
80232
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80233
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79637
80234
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79638
80235
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79639
80236
|
/* harmony export */ });
|
|
@@ -79700,8 +80297,8 @@ var names = ["Miller_Cylindrical", "mill"];
|
|
|
79700
80297
|
"use strict";
|
|
79701
80298
|
__webpack_require__.r(__webpack_exports__);
|
|
79702
80299
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79703
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79704
80300
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80301
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79705
80302
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79706
80303
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79707
80304
|
/* harmony export */ });
|
|
@@ -79800,10 +80397,10 @@ var names = ["Mollweide", "moll"];
|
|
|
79800
80397
|
"use strict";
|
|
79801
80398
|
__webpack_require__.r(__webpack_exports__);
|
|
79802
80399
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79803
|
-
/* harmony export */ "iterations": function() { return /* binding */ iterations; },
|
|
79804
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79805
80400
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80401
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79806
80402
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80403
|
+
/* harmony export */ "iterations": function() { return /* binding */ iterations; },
|
|
79807
80404
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79808
80405
|
/* harmony export */ });
|
|
79809
80406
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
@@ -80043,8 +80640,8 @@ var names = ["New_Zealand_Map_Grid", "nzmg"];
|
|
|
80043
80640
|
"use strict";
|
|
80044
80641
|
__webpack_require__.r(__webpack_exports__);
|
|
80045
80642
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80046
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80047
80643
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80644
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80048
80645
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80049
80646
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80050
80647
|
/* harmony export */ });
|
|
@@ -80303,8 +80900,8 @@ var names = ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", "Hotine_Obliq
|
|
|
80303
80900
|
"use strict";
|
|
80304
80901
|
__webpack_require__.r(__webpack_exports__);
|
|
80305
80902
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80306
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80307
80903
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80904
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80308
80905
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80309
80906
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80310
80907
|
/* harmony export */ });
|
|
@@ -80412,8 +81009,8 @@ var names = ["ortho"];
|
|
|
80412
81009
|
"use strict";
|
|
80413
81010
|
__webpack_require__.r(__webpack_exports__);
|
|
80414
81011
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80415
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80416
81012
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81013
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80417
81014
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80418
81015
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80419
81016
|
/* harmony export */ });
|
|
@@ -80571,8 +81168,8 @@ var names = ["Polyconic", "poly"];
|
|
|
80571
81168
|
"use strict";
|
|
80572
81169
|
__webpack_require__.r(__webpack_exports__);
|
|
80573
81170
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80574
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80575
81171
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81172
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80576
81173
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80577
81174
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80578
81175
|
/* harmony export */ });
|
|
@@ -80955,8 +81552,8 @@ var names = ["Quadrilateralized Spherical Cube", "Quadrilateralized_Spherical_Cu
|
|
|
80955
81552
|
"use strict";
|
|
80956
81553
|
__webpack_require__.r(__webpack_exports__);
|
|
80957
81554
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80958
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80959
81555
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81556
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80960
81557
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80961
81558
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80962
81559
|
/* harmony export */ });
|
|
@@ -81133,8 +81730,8 @@ var names = ["Robinson", "robin"];
|
|
|
81133
81730
|
"use strict";
|
|
81134
81731
|
__webpack_require__.r(__webpack_exports__);
|
|
81135
81732
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81136
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81137
81733
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81734
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81138
81735
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81139
81736
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81140
81737
|
/* harmony export */ });
|
|
@@ -81270,8 +81867,8 @@ var names = ["Sinusoidal", "sinu"];
|
|
|
81270
81867
|
"use strict";
|
|
81271
81868
|
__webpack_require__.r(__webpack_exports__);
|
|
81272
81869
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81273
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81274
81870
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81871
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81275
81872
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81276
81873
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81277
81874
|
/* harmony export */ });
|
|
@@ -81371,11 +81968,11 @@ var names = ["somerc"];
|
|
|
81371
81968
|
"use strict";
|
|
81372
81969
|
__webpack_require__.r(__webpack_exports__);
|
|
81373
81970
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81374
|
-
/* harmony export */ "ssfn_": function() { return /* binding */ ssfn_; },
|
|
81375
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81376
81971
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81972
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81377
81973
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81378
|
-
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81974
|
+
/* harmony export */ "names": function() { return /* binding */ names; },
|
|
81975
|
+
/* harmony export */ "ssfn_": function() { return /* binding */ ssfn_; }
|
|
81379
81976
|
/* harmony export */ });
|
|
81380
81977
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
81381
81978
|
/* harmony import */ var _common_sign__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7676);
|
|
@@ -81567,8 +82164,8 @@ var names = ["stere", "Stereographic_South_Pole", "Polar Stereographic (variant
|
|
|
81567
82164
|
"use strict";
|
|
81568
82165
|
__webpack_require__.r(__webpack_exports__);
|
|
81569
82166
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81570
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81571
82167
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82168
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81572
82169
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81573
82170
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81574
82171
|
/* harmony export */ });
|
|
@@ -81648,8 +82245,8 @@ var names = ["Stereographic_North_Pole", "Oblique_Stereographic", "Polar_Stereog
|
|
|
81648
82245
|
"use strict";
|
|
81649
82246
|
__webpack_require__.r(__webpack_exports__);
|
|
81650
82247
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81651
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81652
82248
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82249
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81653
82250
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81654
82251
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81655
82252
|
/* harmony export */ });
|
|
@@ -81842,8 +82439,8 @@ var names = ["Fast_Transverse_Mercator", "Fast Transverse Mercator"];
|
|
|
81842
82439
|
"use strict";
|
|
81843
82440
|
__webpack_require__.r(__webpack_exports__);
|
|
81844
82441
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81845
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81846
82442
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82443
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81847
82444
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81848
82445
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81849
82446
|
/* harmony export */ });
|
|
@@ -82098,8 +82695,8 @@ var names = ["Universal Transverse Mercator System", "utm"];
|
|
|
82098
82695
|
"use strict";
|
|
82099
82696
|
__webpack_require__.r(__webpack_exports__);
|
|
82100
82697
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
82101
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
82102
82698
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82699
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
82103
82700
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
82104
82701
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
82105
82702
|
/* harmony export */ });
|
|
@@ -82253,6 +82850,7 @@ var map = {
|
|
|
82253
82850
|
"./etmerc.js": 516,
|
|
82254
82851
|
"./gauss.js": 9326,
|
|
82255
82852
|
"./geocent.js": 1258,
|
|
82853
|
+
"./geos.js": 813,
|
|
82256
82854
|
"./gnom.js": 4655,
|
|
82257
82855
|
"./gstmerc.js": 2653,
|
|
82258
82856
|
"./krovak.js": 6235,
|