geojs 1.7.1 → 1.8.0
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 +732 -149
- package/geo.lean.js +731 -148
- package/geo.lean.min.js +3 -3
- package/geo.min.js +5 -5
- package/package.json +18 -16
- 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/tileLayer.js +10 -5
- 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,
|
|
@@ -26252,7 +26652,7 @@ module.exports = sceneObject;
|
|
|
26252
26652
|
* @constant
|
|
26253
26653
|
* @type {string}
|
|
26254
26654
|
*/
|
|
26255
|
-
module.exports = "
|
|
26655
|
+
module.exports = "6c86a1d8a40dcb39b91fa8e33804c15097da7c22";
|
|
26256
26656
|
|
|
26257
26657
|
/***/ }),
|
|
26258
26658
|
|
|
@@ -29847,7 +30247,7 @@ var tileLayer = function tileLayer(arg) {
|
|
|
29847
30247
|
changed = false,
|
|
29848
30248
|
old,
|
|
29849
30249
|
level,
|
|
29850
|
-
minLevel = m_this._options.keepLower ? m_this._options.minLevel : Math.max(maxLevel, m_this._options.minLevel);
|
|
30250
|
+
minLevel = m_this._options.keepLower ? m_this._options.minLevel : Math.min(Math.max(maxLevel, m_this._options.minLevel), m_this._options.maxLevel);
|
|
29851
30251
|
|
|
29852
30252
|
if (maxLevel < minLevel) {
|
|
29853
30253
|
maxLevel = minLevel;
|
|
@@ -30787,7 +31187,7 @@ var tileLayer = function tileLayer(arg) {
|
|
|
30787
31187
|
/* For tile layers that should only keep one layer, if loading is
|
|
30788
31188
|
* finished, purge all but the current layer. This is important for
|
|
30789
31189
|
* semi-transparent layers. */
|
|
30790
|
-
if ((doneLoading || m_this._isCovered(tile)) && zoom !== tile.index.level && (zoom >= m_this._options.minLevel || tile.index.level !== m_this._options.minLevel)) {
|
|
31190
|
+
if ((doneLoading || m_this._isCovered(tile)) && zoom !== tile.index.level && (zoom >= m_this._options.minLevel || tile.index.level !== m_this._options.minLevel) && (zoom < m_this._options.maxLevel || tile.index.level !== m_this._options.maxLevel)) {
|
|
30791
31191
|
return true;
|
|
30792
31192
|
}
|
|
30793
31193
|
}
|
|
@@ -30951,9 +31351,9 @@ var tileLayer = function tileLayer(arg) {
|
|
|
30951
31351
|
/**
|
|
30952
31352
|
* Get/set the baseQuad.
|
|
30953
31353
|
*
|
|
30954
|
-
* @property {object} [baseQuad] A quad feature element to draw
|
|
30955
|
-
*
|
|
30956
|
-
*
|
|
31354
|
+
* @property {object} [baseQuad] A quad feature element to draw below any
|
|
31355
|
+
* tile layers. If specified, this uses the quad defaults, so this is a
|
|
31356
|
+
* ``geo.quadFeature.position`` object with, typically, an ``image``
|
|
30957
31357
|
* property added to it. The quad positions are in the map gcs
|
|
30958
31358
|
* coordinates.
|
|
30959
31359
|
* @name geo.tileLayer.baseQuad
|
|
@@ -31677,7 +32077,7 @@ var trackFeature = function trackFeature(arg) {
|
|
|
31677
32077
|
return result;
|
|
31678
32078
|
};
|
|
31679
32079
|
/**
|
|
31680
|
-
*
|
|
32080
|
+
* Get or set style.
|
|
31681
32081
|
*
|
|
31682
32082
|
* @param {string|object} [arg1] If `undefined`, return the current style
|
|
31683
32083
|
* object. If a string and `arg2` is undefined, return the style
|
|
@@ -33470,7 +33870,7 @@ var colorLegendWidget = function colorLegendWidget(arg) {
|
|
|
33470
33870
|
});
|
|
33471
33871
|
};
|
|
33472
33872
|
/**
|
|
33473
|
-
*
|
|
33873
|
+
* Get or set categories.
|
|
33474
33874
|
* @param {geo.gui.colorLegendWidget.category[]} [categories] If `undefined`,
|
|
33475
33875
|
* return the current legend categories array. If an array is provided,
|
|
33476
33876
|
* remove current legends and recreate with the new categories.
|
|
@@ -34495,7 +34895,7 @@ var scaleWidget = function scaleWidget(arg) {
|
|
|
34495
34895
|
m_this._render();
|
|
34496
34896
|
};
|
|
34497
34897
|
/**
|
|
34498
|
-
*
|
|
34898
|
+
* Get or set options.
|
|
34499
34899
|
*
|
|
34500
34900
|
* @param {string|object} [arg1] If `undefined`, return the options object.
|
|
34501
34901
|
* If a string, either set or return the option of that name. If an
|
|
@@ -38716,7 +39116,7 @@ module.exports = vectorFeature;
|
|
|
38716
39116
|
* @constant
|
|
38717
39117
|
* @type {string}
|
|
38718
39118
|
*/
|
|
38719
|
-
module.exports = "1.
|
|
39119
|
+
module.exports = "1.8.0";
|
|
38720
39120
|
|
|
38721
39121
|
/***/ }),
|
|
38722
39122
|
|
|
@@ -40712,7 +41112,8 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
|
|
|
40712
41112
|
symbolValue: 1,
|
|
40713
41113
|
rotation: 1,
|
|
40714
41114
|
scaleWithZoom: 0,
|
|
40715
|
-
rotateWithMap: 0
|
|
41115
|
+
rotateWithMap: 0,
|
|
41116
|
+
radiusIncludesStroke: 0
|
|
40716
41117
|
},
|
|
40717
41118
|
vpf = m_this.verticesPerFeature(),
|
|
40718
41119
|
data = m_this.data(),
|
|
@@ -40792,7 +41193,7 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
|
|
|
40792
41193
|
|
|
40793
41194
|
styleVal.scaleWithZoom = markerFeature.scaleMode[styleVal.scaleWithZoom] || (styleVal.scaleWithZoom >= 1 && styleVal.scaleWithZoom <= 3 ? styleVal.scaleWithZoom : 0);
|
|
40794
41195
|
styleVal.symbolComputed = styleVal.scaleWithZoom + (styleVal.rotateWithMap ? 4 : 0) + // bit 3 reserved
|
|
40795
|
-
(Math.sign(styleVal.strokeOffset) + 1) * 16 + styleVal.symbol * 64;
|
|
41196
|
+
(Math.sign(styleVal.radiusIncludesStroke !== undefined && styleVal.radiusIncludesStroke ? styleVal.strokeOffset : 1) + 1) * 16 + styleVal.symbol * 64;
|
|
40796
41197
|
|
|
40797
41198
|
if (styleVal.symbolValue && styleVal.symbol >= markerFeature.symbols.arrow && styleVal.symbol < markerFeature.symbols.arrow + markerFeature.symbols.arrowMax) {
|
|
40798
41199
|
styleVal.symbolValue = packFloats(styleVal.symbolValue);
|
|
@@ -44071,10 +44472,12 @@ var webglRenderer = function webglRenderer(arg) {
|
|
|
44071
44472
|
renderState.m_context = m_this._glContext();
|
|
44072
44473
|
m_viewer.exit(renderState);
|
|
44073
44474
|
|
|
44074
|
-
|
|
44075
|
-
|
|
44475
|
+
var context = m_this._glContext();
|
|
44476
|
+
|
|
44477
|
+
if (context !== vgl.GL && context.getExtension('WEBGL_lose_context') && context.getExtension('WEBGL_lose_context').loseContext) {
|
|
44478
|
+
context.getExtension('WEBGL_lose_context').loseContext();
|
|
44076
44479
|
}
|
|
44077
|
-
} // make sure we clear shaders associated with the
|
|
44480
|
+
} // make sure we clear shaders associated with the generated context, too
|
|
44078
44481
|
|
|
44079
44482
|
|
|
44080
44483
|
vgl.clearCachedShaders(vgl.GL);
|
|
@@ -74018,25 +74421,25 @@ var MAX_ITER = 20;
|
|
|
74018
74421
|
|
|
74019
74422
|
"use strict";
|
|
74020
74423
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
74021
|
-
/* harmony export */ "
|
|
74022
|
-
/* harmony export */ "
|
|
74424
|
+
/* harmony export */ "Be": function() { return /* binding */ SRS_WGS84_ESQUARED; },
|
|
74425
|
+
/* harmony export */ "Er": function() { return /* binding */ SRS_WGS84_SEMIMINOR; },
|
|
74023
74426
|
/* harmony export */ "Hp": function() { return /* binding */ PJD_GRIDSHIFT; },
|
|
74024
74427
|
/* harmony export */ "JP": function() { return /* binding */ PJD_WGS84; },
|
|
74428
|
+
/* harmony export */ "Pn": function() { return /* binding */ R2D; },
|
|
74025
74429
|
/* harmony export */ "Qf": function() { return /* binding */ PJD_NODATUM; },
|
|
74430
|
+
/* harmony export */ "Qg": function() { return /* binding */ FORTPI; },
|
|
74431
|
+
/* harmony export */ "Qx": function() { return /* binding */ D2R; },
|
|
74432
|
+
/* harmony export */ "U2": function() { return /* binding */ SPI; },
|
|
74433
|
+
/* harmony export */ "cN": function() { return /* binding */ PJD_3PARAM; },
|
|
74434
|
+
/* harmony export */ "cp": function() { return /* binding */ EPSLN; },
|
|
74026
74435
|
/* 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; },
|
|
74436
|
+
/* harmony export */ "iM": function() { return /* binding */ PJD_7PARAM; },
|
|
74030
74437
|
/* harmony export */ "pj": function() { return /* binding */ HALF_PI; },
|
|
74031
74438
|
/* 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; },
|
|
74439
|
+
/* harmony export */ "uK": function() { return /* binding */ SEC_TO_RAD; },
|
|
74038
74440
|
/* harmony export */ "uo": function() { return /* binding */ TWO_PI; },
|
|
74039
|
-
/* harmony export */ "
|
|
74441
|
+
/* harmony export */ "y1": function() { return /* binding */ RA4; },
|
|
74442
|
+
/* harmony export */ "zJ": function() { return /* binding */ RA6; }
|
|
74040
74443
|
/* harmony export */ });
|
|
74041
74444
|
var PJD_3PARAM = 1;
|
|
74042
74445
|
var PJD_7PARAM = 2;
|
|
@@ -74076,11 +74479,11 @@ var SPI = 3.14159265359;
|
|
|
74076
74479
|
|
|
74077
74480
|
"use strict";
|
|
74078
74481
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
74079
|
-
/* harmony export */ "Lv": function() { return /* binding */ compareDatums; },
|
|
74080
74482
|
/* harmony export */ "Gu": function() { return /* binding */ geodeticToGeocentric; },
|
|
74483
|
+
/* harmony export */ "Lv": function() { return /* binding */ compareDatums; },
|
|
74484
|
+
/* harmony export */ "QN": function() { return /* binding */ geocentricFromWgs84; },
|
|
74081
74485
|
/* harmony export */ "Xu": function() { return /* binding */ geocentricToGeodetic; },
|
|
74082
|
-
/* harmony export */ "jJ": function() { return /* binding */ geocentricToWgs84; }
|
|
74083
|
-
/* harmony export */ "QN": function() { return /* binding */ geocentricFromWgs84; }
|
|
74486
|
+
/* harmony export */ "jJ": function() { return /* binding */ geocentricToWgs84; }
|
|
74084
74487
|
/* harmony export */ });
|
|
74085
74488
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
74086
74489
|
|
|
@@ -75869,7 +76272,7 @@ function Projection(srsCode,callback) {
|
|
|
75869
76272
|
extend(this, json); // transfer everything over from the projection because we don't know what we'll need
|
|
75870
76273
|
extend(this, ourProj); // transfer all the methods from the projection
|
|
75871
76274
|
|
|
75872
|
-
// copy the 4 things over we
|
|
76275
|
+
// copy the 4 things over we calculated in deriveConstants.sphere
|
|
75873
76276
|
this.a = sphere_.a;
|
|
75874
76277
|
this.b = sphere_.b;
|
|
75875
76278
|
this.rf = sphere_.rf;
|
|
@@ -77199,6 +77602,8 @@ var robin = __webpack_require__(4402);
|
|
|
77199
77602
|
var geocent = __webpack_require__(1258);
|
|
77200
77603
|
// EXTERNAL MODULE: ../node_modules/proj4/lib/projections/tpers.js
|
|
77201
77604
|
var tpers = __webpack_require__(6470);
|
|
77605
|
+
// EXTERNAL MODULE: ../node_modules/proj4/lib/projections/geos.js
|
|
77606
|
+
var geos = __webpack_require__(813);
|
|
77202
77607
|
;// CONCATENATED MODULE: ../node_modules/proj4/projs.js
|
|
77203
77608
|
|
|
77204
77609
|
|
|
@@ -77226,6 +77631,7 @@ var tpers = __webpack_require__(6470);
|
|
|
77226
77631
|
|
|
77227
77632
|
|
|
77228
77633
|
|
|
77634
|
+
|
|
77229
77635
|
|
|
77230
77636
|
|
|
77231
77637
|
/* harmony default export */ function proj4_projs(proj4){
|
|
@@ -77257,6 +77663,7 @@ var tpers = __webpack_require__(6470);
|
|
|
77257
77663
|
proj4.Proj.projections.add(robin["default"]);
|
|
77258
77664
|
proj4.Proj.projections.add(geocent["default"]);
|
|
77259
77665
|
proj4.Proj.projections.add(tpers["default"]);
|
|
77666
|
+
proj4.Proj.projections.add(geos["default"]);
|
|
77260
77667
|
}
|
|
77261
77668
|
;// CONCATENATED MODULE: ../node_modules/proj4/lib/index.js
|
|
77262
77669
|
|
|
@@ -77291,11 +77698,11 @@ proj4_projs(core);
|
|
|
77291
77698
|
"use strict";
|
|
77292
77699
|
__webpack_require__.r(__webpack_exports__);
|
|
77293
77700
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77294
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77295
77701
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
77702
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77296
77703
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77297
|
-
/* harmony export */ "
|
|
77298
|
-
/* harmony export */ "
|
|
77704
|
+
/* harmony export */ "names": function() { return /* binding */ names; },
|
|
77705
|
+
/* harmony export */ "phi1z": function() { return /* binding */ phi1z; }
|
|
77299
77706
|
/* harmony export */ });
|
|
77300
77707
|
/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4541);
|
|
77301
77708
|
/* harmony import */ var _common_qsfnz__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3998);
|
|
@@ -77441,8 +77848,8 @@ var names = ["Albers_Conic_Equal_Area", "Albers", "aea"];
|
|
|
77441
77848
|
"use strict";
|
|
77442
77849
|
__webpack_require__.r(__webpack_exports__);
|
|
77443
77850
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77444
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77445
77851
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
77852
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77446
77853
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77447
77854
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77448
77855
|
/* harmony export */ });
|
|
@@ -77674,8 +78081,8 @@ var names = ["Azimuthal_Equidistant", "aeqd"];
|
|
|
77674
78081
|
"use strict";
|
|
77675
78082
|
__webpack_require__.r(__webpack_exports__);
|
|
77676
78083
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77677
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77678
78084
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78085
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77679
78086
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77680
78087
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77681
78088
|
/* harmony export */ });
|
|
@@ -77940,8 +78347,8 @@ var names = ["cea"];
|
|
|
77940
78347
|
"use strict";
|
|
77941
78348
|
__webpack_require__.r(__webpack_exports__);
|
|
77942
78349
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77943
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77944
78350
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78351
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77945
78352
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77946
78353
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77947
78354
|
/* harmony export */ });
|
|
@@ -78005,8 +78412,8 @@ var names = ["Equirectangular", "Equidistant_Cylindrical", "eqc"];
|
|
|
78005
78412
|
"use strict";
|
|
78006
78413
|
__webpack_require__.r(__webpack_exports__);
|
|
78007
78414
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78008
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78009
78415
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78416
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78010
78417
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78011
78418
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78012
78419
|
/* harmony export */ });
|
|
@@ -78147,8 +78554,8 @@ var names = ["Equidistant_Conic", "eqdc"];
|
|
|
78147
78554
|
"use strict";
|
|
78148
78555
|
__webpack_require__.r(__webpack_exports__);
|
|
78149
78556
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78150
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78151
78557
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78558
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78152
78559
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78153
78560
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78154
78561
|
/* harmony export */ });
|
|
@@ -78580,8 +78987,8 @@ var names = ["gauss"];
|
|
|
78580
78987
|
"use strict";
|
|
78581
78988
|
__webpack_require__.r(__webpack_exports__);
|
|
78582
78989
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78583
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78584
78990
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78991
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78585
78992
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78586
78993
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78587
78994
|
/* harmony export */ });
|
|
@@ -78613,14 +79020,187 @@ var names = ["Geocentric", 'geocentric', "geocent", "Geocent"];
|
|
|
78613
79020
|
|
|
78614
79021
|
/***/ }),
|
|
78615
79022
|
|
|
78616
|
-
/***/
|
|
79023
|
+
/***/ 813:
|
|
78617
79024
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
78618
79025
|
|
|
78619
79026
|
"use strict";
|
|
78620
79027
|
__webpack_require__.r(__webpack_exports__);
|
|
78621
79028
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78622
79029
|
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79030
|
+
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79031
|
+
/* harmony export */ });
|
|
79032
|
+
/* harmony import */ var _common_hypot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(110);
|
|
79033
|
+
|
|
79034
|
+
|
|
79035
|
+
function init() {
|
|
79036
|
+
this.flip_axis = (this.sweep === 'x' ? 1 : 0);
|
|
79037
|
+
this.h = Number(this.h);
|
|
79038
|
+
this.radius_g_1 = this.h / this.a;
|
|
79039
|
+
|
|
79040
|
+
if (this.radius_g_1 <= 0 || this.radius_g_1 > 1e10) {
|
|
79041
|
+
throw new Error();
|
|
79042
|
+
}
|
|
79043
|
+
|
|
79044
|
+
this.radius_g = 1.0 + this.radius_g_1;
|
|
79045
|
+
this.C = this.radius_g * this.radius_g - 1.0;
|
|
79046
|
+
|
|
79047
|
+
if (this.es !== 0.0) {
|
|
79048
|
+
var one_es = 1.0 - this.es;
|
|
79049
|
+
var rone_es = 1 / one_es;
|
|
79050
|
+
|
|
79051
|
+
this.radius_p = Math.sqrt(one_es);
|
|
79052
|
+
this.radius_p2 = one_es;
|
|
79053
|
+
this.radius_p_inv2 = rone_es;
|
|
79054
|
+
|
|
79055
|
+
this.shape = 'ellipse'; // Use as a condition in the forward and inverse functions.
|
|
79056
|
+
} else {
|
|
79057
|
+
this.radius_p = 1.0;
|
|
79058
|
+
this.radius_p2 = 1.0;
|
|
79059
|
+
this.radius_p_inv2 = 1.0;
|
|
79060
|
+
|
|
79061
|
+
this.shape = 'sphere'; // Use as a condition in the forward and inverse functions.
|
|
79062
|
+
}
|
|
79063
|
+
|
|
79064
|
+
if (!this.title) {
|
|
79065
|
+
this.title = "Geostationary Satellite View";
|
|
79066
|
+
}
|
|
79067
|
+
}
|
|
79068
|
+
|
|
79069
|
+
function forward(p) {
|
|
79070
|
+
var lon = p.x;
|
|
79071
|
+
var lat = p.y;
|
|
79072
|
+
var tmp, v_x, v_y, v_z;
|
|
79073
|
+
lon = lon - this.long0;
|
|
79074
|
+
|
|
79075
|
+
if (this.shape === 'ellipse') {
|
|
79076
|
+
lat = Math.atan(this.radius_p2 * Math.tan(lat));
|
|
79077
|
+
var r = this.radius_p / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(this.radius_p * Math.cos(lat), Math.sin(lat));
|
|
79078
|
+
|
|
79079
|
+
v_x = r * Math.cos(lon) * Math.cos(lat);
|
|
79080
|
+
v_y = r * Math.sin(lon) * Math.cos(lat);
|
|
79081
|
+
v_z = r * Math.sin(lat);
|
|
79082
|
+
|
|
79083
|
+
if (((this.radius_g - v_x) * v_x - v_y * v_y - v_z * v_z * this.radius_p_inv2) < 0.0) {
|
|
79084
|
+
p.x = Number.NaN;
|
|
79085
|
+
p.y = Number.NaN;
|
|
79086
|
+
return p;
|
|
79087
|
+
}
|
|
79088
|
+
|
|
79089
|
+
tmp = this.radius_g - v_x;
|
|
79090
|
+
if (this.flip_axis) {
|
|
79091
|
+
p.x = this.radius_g_1 * Math.atan(v_y / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_z, tmp));
|
|
79092
|
+
p.y = this.radius_g_1 * Math.atan(v_z / tmp);
|
|
79093
|
+
} else {
|
|
79094
|
+
p.x = this.radius_g_1 * Math.atan(v_y / tmp);
|
|
79095
|
+
p.y = this.radius_g_1 * Math.atan(v_z / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_y, tmp));
|
|
79096
|
+
}
|
|
79097
|
+
} else if (this.shape === 'sphere') {
|
|
79098
|
+
tmp = Math.cos(lat);
|
|
79099
|
+
v_x = Math.cos(lon) * tmp;
|
|
79100
|
+
v_y = Math.sin(lon) * tmp;
|
|
79101
|
+
v_z = Math.sin(lat);
|
|
79102
|
+
tmp = this.radius_g - v_x;
|
|
79103
|
+
|
|
79104
|
+
if (this.flip_axis) {
|
|
79105
|
+
p.x = this.radius_g_1 * Math.atan(v_y / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_z, tmp));
|
|
79106
|
+
p.y = this.radius_g_1 * Math.atan(v_z / tmp);
|
|
79107
|
+
} else {
|
|
79108
|
+
p.x = this.radius_g_1 * Math.atan(v_y / tmp);
|
|
79109
|
+
p.y = this.radius_g_1 * Math.atan(v_z / (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(v_y, tmp));
|
|
79110
|
+
}
|
|
79111
|
+
}
|
|
79112
|
+
p.x = p.x * this.a;
|
|
79113
|
+
p.y = p.y * this.a;
|
|
79114
|
+
return p;
|
|
79115
|
+
}
|
|
79116
|
+
|
|
79117
|
+
function inverse(p) {
|
|
79118
|
+
var v_x = -1.0;
|
|
79119
|
+
var v_y = 0.0;
|
|
79120
|
+
var v_z = 0.0;
|
|
79121
|
+
var a, b, det, k;
|
|
79122
|
+
|
|
79123
|
+
p.x = p.x / this.a;
|
|
79124
|
+
p.y = p.y / this.a;
|
|
79125
|
+
|
|
79126
|
+
if (this.shape === 'ellipse') {
|
|
79127
|
+
if (this.flip_axis) {
|
|
79128
|
+
v_z = Math.tan(p.y / this.radius_g_1);
|
|
79129
|
+
v_y = Math.tan(p.x / this.radius_g_1) * (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(1.0, v_z);
|
|
79130
|
+
} else {
|
|
79131
|
+
v_y = Math.tan(p.x / this.radius_g_1);
|
|
79132
|
+
v_z = Math.tan(p.y / this.radius_g_1) * (0,_common_hypot__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(1.0, v_y);
|
|
79133
|
+
}
|
|
79134
|
+
|
|
79135
|
+
var v_zp = v_z / this.radius_p;
|
|
79136
|
+
a = v_y * v_y + v_zp * v_zp + v_x * v_x;
|
|
79137
|
+
b = 2 * this.radius_g * v_x;
|
|
79138
|
+
det = (b * b) - 4 * a * this.C;
|
|
79139
|
+
|
|
79140
|
+
if (det < 0.0) {
|
|
79141
|
+
p.x = Number.NaN;
|
|
79142
|
+
p.y = Number.NaN;
|
|
79143
|
+
return p;
|
|
79144
|
+
}
|
|
79145
|
+
|
|
79146
|
+
k = (-b - Math.sqrt(det)) / (2.0 * a);
|
|
79147
|
+
v_x = this.radius_g + k * v_x;
|
|
79148
|
+
v_y *= k;
|
|
79149
|
+
v_z *= k;
|
|
79150
|
+
|
|
79151
|
+
p.x = Math.atan2(v_y, v_x);
|
|
79152
|
+
p.y = Math.atan(v_z * Math.cos(p.x) / v_x);
|
|
79153
|
+
p.y = Math.atan(this.radius_p_inv2 * Math.tan(p.y));
|
|
79154
|
+
} else if (this.shape === 'sphere') {
|
|
79155
|
+
if (this.flip_axis) {
|
|
79156
|
+
v_z = Math.tan(p.y / this.radius_g_1);
|
|
79157
|
+
v_y = Math.tan(p.x / this.radius_g_1) * Math.sqrt(1.0 + v_z * v_z);
|
|
79158
|
+
} else {
|
|
79159
|
+
v_y = Math.tan(p.x / this.radius_g_1);
|
|
79160
|
+
v_z = Math.tan(p.y / this.radius_g_1) * Math.sqrt(1.0 + v_y * v_y);
|
|
79161
|
+
}
|
|
79162
|
+
|
|
79163
|
+
a = v_y * v_y + v_z * v_z + v_x * v_x;
|
|
79164
|
+
b = 2 * this.radius_g * v_x;
|
|
79165
|
+
det = (b * b) - 4 * a * this.C;
|
|
79166
|
+
if (det < 0.0) {
|
|
79167
|
+
p.x = Number.NaN;
|
|
79168
|
+
p.y = Number.NaN;
|
|
79169
|
+
return p;
|
|
79170
|
+
}
|
|
79171
|
+
|
|
79172
|
+
k = (-b - Math.sqrt(det)) / (2.0 * a);
|
|
79173
|
+
v_x = this.radius_g + k * v_x;
|
|
79174
|
+
v_y *= k;
|
|
79175
|
+
v_z *= k;
|
|
79176
|
+
|
|
79177
|
+
p.x = Math.atan2(v_y, v_x);
|
|
79178
|
+
p.y = Math.atan(v_z * Math.cos(p.x) / v_x);
|
|
79179
|
+
}
|
|
79180
|
+
p.x = p.x + this.long0;
|
|
79181
|
+
return p;
|
|
79182
|
+
}
|
|
79183
|
+
|
|
79184
|
+
var names = ["Geostationary Satellite View", "Geostationary_Satellite", "geos"];
|
|
79185
|
+
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
79186
|
+
init: init,
|
|
79187
|
+
forward: forward,
|
|
79188
|
+
inverse: inverse,
|
|
79189
|
+
names: names,
|
|
79190
|
+
});
|
|
79191
|
+
|
|
79192
|
+
|
|
79193
|
+
|
|
79194
|
+
/***/ }),
|
|
79195
|
+
|
|
79196
|
+
/***/ 4655:
|
|
79197
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
79198
|
+
|
|
79199
|
+
"use strict";
|
|
79200
|
+
__webpack_require__.r(__webpack_exports__);
|
|
79201
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78623
79202
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79203
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78624
79204
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78625
79205
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78626
79206
|
/* harmony export */ });
|
|
@@ -78870,8 +79450,8 @@ var names = ["gstmerg", "gstmerc"];
|
|
|
78870
79450
|
"use strict";
|
|
78871
79451
|
__webpack_require__.r(__webpack_exports__);
|
|
78872
79452
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78873
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78874
79453
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79454
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78875
79455
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78876
79456
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78877
79457
|
/* harmony export */ });
|
|
@@ -78992,12 +79572,12 @@ var names = ["Krovak", "krovak"];
|
|
|
78992
79572
|
"use strict";
|
|
78993
79573
|
__webpack_require__.r(__webpack_exports__);
|
|
78994
79574
|
/* 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
79575
|
/* harmony export */ "EQUIT": function() { return /* binding */ EQUIT; },
|
|
79576
|
+
/* harmony export */ "N_POLE": function() { return /* binding */ N_POLE; },
|
|
78998
79577
|
/* harmony export */ "OBLIQ": function() { return /* binding */ OBLIQ; },
|
|
78999
|
-
/* harmony export */ "
|
|
79578
|
+
/* harmony export */ "S_POLE": function() { return /* binding */ S_POLE; },
|
|
79000
79579
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79580
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79001
79581
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79002
79582
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79003
79583
|
/* harmony export */ });
|
|
@@ -79312,8 +79892,8 @@ var names = ["Lambert Azimuthal Equal Area", "Lambert_Azimuthal_Equal_Area", "la
|
|
|
79312
79892
|
"use strict";
|
|
79313
79893
|
__webpack_require__.r(__webpack_exports__);
|
|
79314
79894
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79315
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79316
79895
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79896
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79317
79897
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79318
79898
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79319
79899
|
/* harmony export */ });
|
|
@@ -79462,7 +80042,9 @@ var names = [
|
|
|
79462
80042
|
"Lambert_Conformal_Conic",
|
|
79463
80043
|
"Lambert_Conformal_Conic_1SP",
|
|
79464
80044
|
"Lambert_Conformal_Conic_2SP",
|
|
79465
|
-
"lcc"
|
|
80045
|
+
"lcc",
|
|
80046
|
+
"Lambert Conic Conformal (1SP)",
|
|
80047
|
+
"Lambert Conic Conformal (2SP)"
|
|
79466
80048
|
];
|
|
79467
80049
|
|
|
79468
80050
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
@@ -79481,8 +80063,8 @@ var names = [
|
|
|
79481
80063
|
"use strict";
|
|
79482
80064
|
__webpack_require__.r(__webpack_exports__);
|
|
79483
80065
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79484
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79485
80066
|
/* harmony export */ "forward": function() { return /* binding */ identity; },
|
|
80067
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79486
80068
|
/* harmony export */ "inverse": function() { return /* binding */ identity; },
|
|
79487
80069
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79488
80070
|
/* harmony export */ });
|
|
@@ -79512,8 +80094,8 @@ var names = ["longlat", "identity"];
|
|
|
79512
80094
|
"use strict";
|
|
79513
80095
|
__webpack_require__.r(__webpack_exports__);
|
|
79514
80096
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79515
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79516
80097
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80098
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79517
80099
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79518
80100
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79519
80101
|
/* harmony export */ });
|
|
@@ -79632,8 +80214,8 @@ var names = ["Mercator", "Popular Visualisation Pseudo Mercator", "Mercator_1SP"
|
|
|
79632
80214
|
"use strict";
|
|
79633
80215
|
__webpack_require__.r(__webpack_exports__);
|
|
79634
80216
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79635
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79636
80217
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80218
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79637
80219
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79638
80220
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79639
80221
|
/* harmony export */ });
|
|
@@ -79700,8 +80282,8 @@ var names = ["Miller_Cylindrical", "mill"];
|
|
|
79700
80282
|
"use strict";
|
|
79701
80283
|
__webpack_require__.r(__webpack_exports__);
|
|
79702
80284
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79703
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79704
80285
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80286
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79705
80287
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79706
80288
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79707
80289
|
/* harmony export */ });
|
|
@@ -79800,10 +80382,10 @@ var names = ["Mollweide", "moll"];
|
|
|
79800
80382
|
"use strict";
|
|
79801
80383
|
__webpack_require__.r(__webpack_exports__);
|
|
79802
80384
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79803
|
-
/* harmony export */ "iterations": function() { return /* binding */ iterations; },
|
|
79804
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79805
80385
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80386
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79806
80387
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80388
|
+
/* harmony export */ "iterations": function() { return /* binding */ iterations; },
|
|
79807
80389
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79808
80390
|
/* harmony export */ });
|
|
79809
80391
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
@@ -80043,8 +80625,8 @@ var names = ["New_Zealand_Map_Grid", "nzmg"];
|
|
|
80043
80625
|
"use strict";
|
|
80044
80626
|
__webpack_require__.r(__webpack_exports__);
|
|
80045
80627
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80046
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80047
80628
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80629
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80048
80630
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80049
80631
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80050
80632
|
/* harmony export */ });
|
|
@@ -80303,8 +80885,8 @@ var names = ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", "Hotine_Obliq
|
|
|
80303
80885
|
"use strict";
|
|
80304
80886
|
__webpack_require__.r(__webpack_exports__);
|
|
80305
80887
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80306
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80307
80888
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80889
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80308
80890
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80309
80891
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80310
80892
|
/* harmony export */ });
|
|
@@ -80412,8 +80994,8 @@ var names = ["ortho"];
|
|
|
80412
80994
|
"use strict";
|
|
80413
80995
|
__webpack_require__.r(__webpack_exports__);
|
|
80414
80996
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80415
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80416
80997
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80998
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80417
80999
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80418
81000
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80419
81001
|
/* harmony export */ });
|
|
@@ -80571,8 +81153,8 @@ var names = ["Polyconic", "poly"];
|
|
|
80571
81153
|
"use strict";
|
|
80572
81154
|
__webpack_require__.r(__webpack_exports__);
|
|
80573
81155
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80574
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80575
81156
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81157
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80576
81158
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80577
81159
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80578
81160
|
/* harmony export */ });
|
|
@@ -80955,8 +81537,8 @@ var names = ["Quadrilateralized Spherical Cube", "Quadrilateralized_Spherical_Cu
|
|
|
80955
81537
|
"use strict";
|
|
80956
81538
|
__webpack_require__.r(__webpack_exports__);
|
|
80957
81539
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80958
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80959
81540
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81541
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80960
81542
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80961
81543
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80962
81544
|
/* harmony export */ });
|
|
@@ -81133,8 +81715,8 @@ var names = ["Robinson", "robin"];
|
|
|
81133
81715
|
"use strict";
|
|
81134
81716
|
__webpack_require__.r(__webpack_exports__);
|
|
81135
81717
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81136
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81137
81718
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81719
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81138
81720
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81139
81721
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81140
81722
|
/* harmony export */ });
|
|
@@ -81270,8 +81852,8 @@ var names = ["Sinusoidal", "sinu"];
|
|
|
81270
81852
|
"use strict";
|
|
81271
81853
|
__webpack_require__.r(__webpack_exports__);
|
|
81272
81854
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81273
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81274
81855
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81856
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81275
81857
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81276
81858
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81277
81859
|
/* harmony export */ });
|
|
@@ -81371,11 +81953,11 @@ var names = ["somerc"];
|
|
|
81371
81953
|
"use strict";
|
|
81372
81954
|
__webpack_require__.r(__webpack_exports__);
|
|
81373
81955
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81374
|
-
/* harmony export */ "ssfn_": function() { return /* binding */ ssfn_; },
|
|
81375
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81376
81956
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81957
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81377
81958
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81378
|
-
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81959
|
+
/* harmony export */ "names": function() { return /* binding */ names; },
|
|
81960
|
+
/* harmony export */ "ssfn_": function() { return /* binding */ ssfn_; }
|
|
81379
81961
|
/* harmony export */ });
|
|
81380
81962
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
81381
81963
|
/* harmony import */ var _common_sign__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7676);
|
|
@@ -81567,8 +82149,8 @@ var names = ["stere", "Stereographic_South_Pole", "Polar Stereographic (variant
|
|
|
81567
82149
|
"use strict";
|
|
81568
82150
|
__webpack_require__.r(__webpack_exports__);
|
|
81569
82151
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81570
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81571
82152
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82153
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81572
82154
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81573
82155
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81574
82156
|
/* harmony export */ });
|
|
@@ -81648,8 +82230,8 @@ var names = ["Stereographic_North_Pole", "Oblique_Stereographic", "Polar_Stereog
|
|
|
81648
82230
|
"use strict";
|
|
81649
82231
|
__webpack_require__.r(__webpack_exports__);
|
|
81650
82232
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81651
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81652
82233
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82234
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81653
82235
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81654
82236
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81655
82237
|
/* harmony export */ });
|
|
@@ -81842,8 +82424,8 @@ var names = ["Fast_Transverse_Mercator", "Fast Transverse Mercator"];
|
|
|
81842
82424
|
"use strict";
|
|
81843
82425
|
__webpack_require__.r(__webpack_exports__);
|
|
81844
82426
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81845
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81846
82427
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82428
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81847
82429
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81848
82430
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81849
82431
|
/* harmony export */ });
|
|
@@ -82098,8 +82680,8 @@ var names = ["Universal Transverse Mercator System", "utm"];
|
|
|
82098
82680
|
"use strict";
|
|
82099
82681
|
__webpack_require__.r(__webpack_exports__);
|
|
82100
82682
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
82101
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
82102
82683
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82684
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
82103
82685
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
82104
82686
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
82105
82687
|
/* harmony export */ });
|
|
@@ -82253,6 +82835,7 @@ var map = {
|
|
|
82253
82835
|
"./etmerc.js": 516,
|
|
82254
82836
|
"./gauss.js": 9326,
|
|
82255
82837
|
"./geocent.js": 1258,
|
|
82838
|
+
"./geos.js": 813,
|
|
82256
82839
|
"./gnom.js": 4655,
|
|
82257
82840
|
"./gstmerc.js": 2653,
|
|
82258
82841
|
"./krovak.js": 6235,
|