geojs 1.7.3 → 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/geo.js +711 -140
- package/geo.lean.js +710 -139
- 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/geojsonReader.js +68 -1
- package/src/map.js +1 -2
- package/src/mapInteractor.js +21 -6
- package/src/markerFeature.js +21 -6
- 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/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) {
|
|
@@ -10789,6 +11081,10 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
10789
11081
|
|
|
10790
11082
|
var convertColor = (__webpack_require__(4634).convertColor);
|
|
10791
11083
|
|
|
11084
|
+
var markerFeature = __webpack_require__(7098);
|
|
11085
|
+
|
|
11086
|
+
var transform = __webpack_require__(6853);
|
|
11087
|
+
|
|
10792
11088
|
var m_this = this,
|
|
10793
11089
|
m_options = _objectSpread(_objectSpread({}, arg), {}, {
|
|
10794
11090
|
pointStyle: _objectSpread({
|
|
@@ -11077,6 +11373,20 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11077
11373
|
|
|
11078
11374
|
this.read = function (file, done, progress) {
|
|
11079
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
|
+
}
|
|
11080
11390
|
/**
|
|
11081
11391
|
* Given a parsed GeoJSON object, convert it into features on the
|
|
11082
11392
|
* reader's layer.
|
|
@@ -11084,6 +11394,8 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11084
11394
|
* @param {geojson.object|false} object Either a parse GeoJSON object or
|
|
11085
11395
|
* `false` for an error.
|
|
11086
11396
|
*/
|
|
11397
|
+
|
|
11398
|
+
|
|
11087
11399
|
function _done(object) {
|
|
11088
11400
|
if (object === false) {
|
|
11089
11401
|
if (done) {
|
|
@@ -11150,7 +11462,7 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11150
11462
|
|
|
11151
11463
|
|
|
11152
11464
|
var polygons = features.filter(function (f) {
|
|
11153
|
-
return f.geometry.type === 'Polygon';
|
|
11465
|
+
return f.geometry.type === 'Polygon' && !_isEllipse(f);
|
|
11154
11466
|
});
|
|
11155
11467
|
|
|
11156
11468
|
if (polygons.length) {
|
|
@@ -11171,6 +11483,53 @@ var geojsonReader = function geojsonReader(arg) {
|
|
|
11171
11483
|
}));
|
|
11172
11484
|
allFeatures.push(feature);
|
|
11173
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
|
+
}
|
|
11174
11533
|
}
|
|
11175
11534
|
|
|
11176
11535
|
if (done) {
|
|
@@ -15670,8 +16029,7 @@ var map = function map(arg) {
|
|
|
15670
16029
|
return m_this;
|
|
15671
16030
|
};
|
|
15672
16031
|
/**
|
|
15673
|
-
*
|
|
15674
|
-
* current center. Uses bare objects {x: 0, y: 0}.
|
|
16032
|
+
* Get or set the center of the map in the given geographic coordinates.
|
|
15675
16033
|
*
|
|
15676
16034
|
* @param {geo.geoPosition} coordinates If specified, the new center of the
|
|
15677
16035
|
* map.
|
|
@@ -17981,6 +18339,11 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
17981
18339
|
* selectionRectangle: truthy if a selection rectangle should be shown
|
|
17982
18340
|
* during the action. This can be the name of an event that will be
|
|
17983
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.
|
|
17984
18347
|
* name: a string that can be used to reference this action.
|
|
17985
18348
|
* owner: a string that can be used to reference this action.
|
|
17986
18349
|
*/
|
|
@@ -18717,7 +19080,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
18717
19080
|
return m_this;
|
|
18718
19081
|
};
|
|
18719
19082
|
/**
|
|
18720
|
-
*
|
|
19083
|
+
* Get or set the map for this interactor, adds draw region layer if needed.
|
|
18721
19084
|
*
|
|
18722
19085
|
* @param {geo.map} [val] Either a new map object for `undefined` to return
|
|
18723
19086
|
* the current map object.
|
|
@@ -18874,16 +19237,28 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
18874
19237
|
mouse = m_this.mouse(),
|
|
18875
19238
|
map = m_this.map(),
|
|
18876
19239
|
display = {},
|
|
18877
|
-
gcs = {};
|
|
18878
|
-
|
|
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
|
+
|
|
18879
19254
|
|
|
18880
19255
|
display.upperLeft = {
|
|
18881
|
-
x: Math.min(origin.map.x,
|
|
18882
|
-
y: Math.min(origin.map.y,
|
|
19256
|
+
x: Math.min(origin.map.x, mousexy.x),
|
|
19257
|
+
y: Math.min(origin.map.y, mousexy.y)
|
|
18883
19258
|
};
|
|
18884
19259
|
display.lowerRight = {
|
|
18885
|
-
x: Math.max(origin.map.x,
|
|
18886
|
-
y: Math.max(origin.map.y,
|
|
19260
|
+
x: Math.max(origin.map.x, mousexy.x),
|
|
19261
|
+
y: Math.max(origin.map.y, mousexy.y)
|
|
18887
19262
|
};
|
|
18888
19263
|
display.upperRight = {
|
|
18889
19264
|
x: display.lowerRight.x,
|
|
@@ -20253,7 +20628,8 @@ var pointFeature = __webpack_require__(2557);
|
|
|
20253
20628
|
* @property {number|function} [radius=5] Radius of each marker in pixels.
|
|
20254
20629
|
* This includes the stroke width if `strokeOffset` is -1, excludes it if
|
|
20255
20630
|
* `strokeOffset` is 1, and includes half the stroke width if `strokeOffset`
|
|
20256
|
-
* is 0.
|
|
20631
|
+
* is 0. Note that is `radiusIncludesStroke` is `false`, this never
|
|
20632
|
+
* includes the stroke width.
|
|
20257
20633
|
* @property {geo.geoColor|function} [strokeColor] Color to stroke each marker.
|
|
20258
20634
|
* @property {number|function} [strokeOpacity=1] Opacity for each marker's
|
|
20259
20635
|
* stroke. Opacity is on a [0-1] scale. Set this or `strokeWidth` to zero
|
|
@@ -20264,6 +20640,10 @@ var pointFeature = __webpack_require__(2557);
|
|
|
20264
20640
|
* @property {number|function} [strokeOffset=-1] The position of the stroke
|
|
20265
20641
|
* compared to the radius. This can only be -1, 0, or 1 (the sign of the
|
|
20266
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`.
|
|
20267
20647
|
* @property {geo.geoColor|function} [fillColor] Color to fill each marker.
|
|
20268
20648
|
* @property {number|function} [fillOpacity=1] Opacity for each marker.
|
|
20269
20649
|
* Opacity is on a [0-1] scale. Set to zero to have no fill.
|
|
@@ -20279,7 +20659,7 @@ var pointFeature = __webpack_require__(2557);
|
|
|
20279
20659
|
* @property {boolean|function} [rotateWithMap=false] If truthy, rotate symbols
|
|
20280
20660
|
* with the map. If falsy, symbol orientation is absolute.
|
|
20281
20661
|
* @property {number[]|function} [origin] Origin in map gcs coordinates used
|
|
20282
|
-
*
|
|
20662
|
+
* to ensure high precision drawing in this location. When called as a
|
|
20283
20663
|
* function, this is passed the maker positions as a single continuous array
|
|
20284
20664
|
* in map gcs coordinates. It defaults to the first marker's position.
|
|
20285
20665
|
*/
|
|
@@ -20339,6 +20719,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20339
20719
|
position,
|
|
20340
20720
|
radius = m_this.style.get('radius'),
|
|
20341
20721
|
strokeWidth = m_this.style.get('strokeWidth'),
|
|
20722
|
+
radiusIncludesStroke = m_this.style.get('radiusIncludesStroke'),
|
|
20342
20723
|
strokeOffset = m_this.style.get('strokeOffset'),
|
|
20343
20724
|
scaleWithZoom = m_this.style.get('scaleWithZoom');
|
|
20344
20725
|
position = m_this.position();
|
|
@@ -20352,9 +20733,11 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20352
20733
|
var r = radius(d, i),
|
|
20353
20734
|
s = strokeWidth(d, i),
|
|
20354
20735
|
so = Math.sign(strokeOffset(d, i));
|
|
20355
|
-
var
|
|
20736
|
+
var ris = radiusIncludesStroke(d, i);
|
|
20737
|
+
ris = ris === undefined ? true : ris;
|
|
20738
|
+
var rwiths = ris ? r + s * (so + 1) / 2 : r + s,
|
|
20356
20739
|
// radius with stroke
|
|
20357
|
-
rwos = r + s * (so - 1) / 2; // radius without stroke
|
|
20740
|
+
rwos = ris ? r + s * (so - 1) / 2 : r; // radius without stroke
|
|
20358
20741
|
|
|
20359
20742
|
swz = markerFeature.scaleMode[swz] || (swz >= 1 && swz <= 3 ? swz : 0);
|
|
20360
20743
|
|
|
@@ -20429,6 +20812,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20429
20812
|
corners,
|
|
20430
20813
|
radius = m_this.style.get('radius'),
|
|
20431
20814
|
strokeWidth = m_this.style.get('strokeWidth'),
|
|
20815
|
+
radiusIncludesStroke = m_this.style.get('radiusIncludesStroke'),
|
|
20432
20816
|
strokeOffset = m_this.style.get('strokeOffset'),
|
|
20433
20817
|
scaleWithZoom = m_this.style.get('scaleWithZoom');
|
|
20434
20818
|
data = m_this.data();
|
|
@@ -20486,7 +20870,9 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20486
20870
|
swz = scaleWithZoom(data[i], i),
|
|
20487
20871
|
so = strokeOffset(data[i], i),
|
|
20488
20872
|
s = swz ? strokeWidth(data[i], i) : 0;
|
|
20489
|
-
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
|
|
20490
20876
|
|
|
20491
20877
|
rad = rwos + s;
|
|
20492
20878
|
var p = m_this.position()(d, i),
|
|
@@ -20558,6 +20944,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20558
20944
|
data = m_this.data(),
|
|
20559
20945
|
radius = m_this.style.get('radius'),
|
|
20560
20946
|
strokeWidth = m_this.style.get('strokeWidth'),
|
|
20947
|
+
radiusIncludesStroke = m_this.style.get('radiusIncludesStroke'),
|
|
20561
20948
|
strokeOffset = m_this.style.get('strokeOffset'),
|
|
20562
20949
|
scaleWithZoom = m_this.style.get('scaleWithZoom'),
|
|
20563
20950
|
idx,
|
|
@@ -20660,7 +21047,9 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20660
21047
|
swz = scaleWithZoom(data[i], i);
|
|
20661
21048
|
var so = strokeOffset(data[i], i),
|
|
20662
21049
|
s = swz ? strokeWidth(data[i], i) : 0;
|
|
20663
|
-
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
|
|
20664
21053
|
|
|
20665
21054
|
swz = markerFeature.scaleMode[swz] || (swz >= 1 && swz <= 3 ? swz : 0);
|
|
20666
21055
|
rad = rwos + s;
|
|
@@ -20711,6 +21100,7 @@ var markerFeature = function markerFeature(arg) {
|
|
|
20711
21100
|
arg = $.extend(true, {}, {
|
|
20712
21101
|
style: $.extend({}, {
|
|
20713
21102
|
radius: 6.25,
|
|
21103
|
+
radiusIncludesStroke: true,
|
|
20714
21104
|
strokeColor: {
|
|
20715
21105
|
r: 0.851,
|
|
20716
21106
|
g: 0.604,
|
|
@@ -26262,7 +26652,7 @@ module.exports = sceneObject;
|
|
|
26262
26652
|
* @constant
|
|
26263
26653
|
* @type {string}
|
|
26264
26654
|
*/
|
|
26265
|
-
module.exports = "
|
|
26655
|
+
module.exports = "6c86a1d8a40dcb39b91fa8e33804c15097da7c22";
|
|
26266
26656
|
|
|
26267
26657
|
/***/ }),
|
|
26268
26658
|
|
|
@@ -31687,7 +32077,7 @@ var trackFeature = function trackFeature(arg) {
|
|
|
31687
32077
|
return result;
|
|
31688
32078
|
};
|
|
31689
32079
|
/**
|
|
31690
|
-
*
|
|
32080
|
+
* Get or set style.
|
|
31691
32081
|
*
|
|
31692
32082
|
* @param {string|object} [arg1] If `undefined`, return the current style
|
|
31693
32083
|
* object. If a string and `arg2` is undefined, return the style
|
|
@@ -33480,7 +33870,7 @@ var colorLegendWidget = function colorLegendWidget(arg) {
|
|
|
33480
33870
|
});
|
|
33481
33871
|
};
|
|
33482
33872
|
/**
|
|
33483
|
-
*
|
|
33873
|
+
* Get or set categories.
|
|
33484
33874
|
* @param {geo.gui.colorLegendWidget.category[]} [categories] If `undefined`,
|
|
33485
33875
|
* return the current legend categories array. If an array is provided,
|
|
33486
33876
|
* remove current legends and recreate with the new categories.
|
|
@@ -34505,7 +34895,7 @@ var scaleWidget = function scaleWidget(arg) {
|
|
|
34505
34895
|
m_this._render();
|
|
34506
34896
|
};
|
|
34507
34897
|
/**
|
|
34508
|
-
*
|
|
34898
|
+
* Get or set options.
|
|
34509
34899
|
*
|
|
34510
34900
|
* @param {string|object} [arg1] If `undefined`, return the options object.
|
|
34511
34901
|
* If a string, either set or return the option of that name. If an
|
|
@@ -38726,7 +39116,7 @@ module.exports = vectorFeature;
|
|
|
38726
39116
|
* @constant
|
|
38727
39117
|
* @type {string}
|
|
38728
39118
|
*/
|
|
38729
|
-
module.exports = "1.
|
|
39119
|
+
module.exports = "1.8.0";
|
|
38730
39120
|
|
|
38731
39121
|
/***/ }),
|
|
38732
39122
|
|
|
@@ -40722,7 +41112,8 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
|
|
|
40722
41112
|
symbolValue: 1,
|
|
40723
41113
|
rotation: 1,
|
|
40724
41114
|
scaleWithZoom: 0,
|
|
40725
|
-
rotateWithMap: 0
|
|
41115
|
+
rotateWithMap: 0,
|
|
41116
|
+
radiusIncludesStroke: 0
|
|
40726
41117
|
},
|
|
40727
41118
|
vpf = m_this.verticesPerFeature(),
|
|
40728
41119
|
data = m_this.data(),
|
|
@@ -40802,7 +41193,7 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
|
|
|
40802
41193
|
|
|
40803
41194
|
styleVal.scaleWithZoom = markerFeature.scaleMode[styleVal.scaleWithZoom] || (styleVal.scaleWithZoom >= 1 && styleVal.scaleWithZoom <= 3 ? styleVal.scaleWithZoom : 0);
|
|
40804
41195
|
styleVal.symbolComputed = styleVal.scaleWithZoom + (styleVal.rotateWithMap ? 4 : 0) + // bit 3 reserved
|
|
40805
|
-
(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;
|
|
40806
41197
|
|
|
40807
41198
|
if (styleVal.symbolValue && styleVal.symbol >= markerFeature.symbols.arrow && styleVal.symbol < markerFeature.symbols.arrow + markerFeature.symbols.arrowMax) {
|
|
40808
41199
|
styleVal.symbolValue = packFloats(styleVal.symbolValue);
|
|
@@ -74030,25 +74421,25 @@ var MAX_ITER = 20;
|
|
|
74030
74421
|
|
|
74031
74422
|
"use strict";
|
|
74032
74423
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
74033
|
-
/* harmony export */ "
|
|
74034
|
-
/* harmony export */ "
|
|
74424
|
+
/* harmony export */ "Be": function() { return /* binding */ SRS_WGS84_ESQUARED; },
|
|
74425
|
+
/* harmony export */ "Er": function() { return /* binding */ SRS_WGS84_SEMIMINOR; },
|
|
74035
74426
|
/* harmony export */ "Hp": function() { return /* binding */ PJD_GRIDSHIFT; },
|
|
74036
74427
|
/* harmony export */ "JP": function() { return /* binding */ PJD_WGS84; },
|
|
74428
|
+
/* harmony export */ "Pn": function() { return /* binding */ R2D; },
|
|
74037
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; },
|
|
74038
74435
|
/* harmony export */ "ht": function() { return /* binding */ SRS_WGS84_SEMIMAJOR; },
|
|
74039
|
-
/* harmony export */ "
|
|
74040
|
-
/* harmony export */ "Be": function() { return /* binding */ SRS_WGS84_ESQUARED; },
|
|
74041
|
-
/* harmony export */ "uK": function() { return /* binding */ SEC_TO_RAD; },
|
|
74436
|
+
/* harmony export */ "iM": function() { return /* binding */ PJD_7PARAM; },
|
|
74042
74437
|
/* harmony export */ "pj": function() { return /* binding */ HALF_PI; },
|
|
74043
74438
|
/* harmony export */ "s3": function() { return /* binding */ SIXTH; },
|
|
74044
|
-
/* harmony export */ "
|
|
74045
|
-
/* harmony export */ "zJ": function() { return /* binding */ RA6; },
|
|
74046
|
-
/* harmony export */ "cp": function() { return /* binding */ EPSLN; },
|
|
74047
|
-
/* harmony export */ "Qx": function() { return /* binding */ D2R; },
|
|
74048
|
-
/* harmony export */ "Pn": function() { return /* binding */ R2D; },
|
|
74049
|
-
/* harmony export */ "Qg": function() { return /* binding */ FORTPI; },
|
|
74439
|
+
/* harmony export */ "uK": function() { return /* binding */ SEC_TO_RAD; },
|
|
74050
74440
|
/* harmony export */ "uo": function() { return /* binding */ TWO_PI; },
|
|
74051
|
-
/* harmony export */ "
|
|
74441
|
+
/* harmony export */ "y1": function() { return /* binding */ RA4; },
|
|
74442
|
+
/* harmony export */ "zJ": function() { return /* binding */ RA6; }
|
|
74052
74443
|
/* harmony export */ });
|
|
74053
74444
|
var PJD_3PARAM = 1;
|
|
74054
74445
|
var PJD_7PARAM = 2;
|
|
@@ -74088,11 +74479,11 @@ var SPI = 3.14159265359;
|
|
|
74088
74479
|
|
|
74089
74480
|
"use strict";
|
|
74090
74481
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
74091
|
-
/* harmony export */ "Lv": function() { return /* binding */ compareDatums; },
|
|
74092
74482
|
/* harmony export */ "Gu": function() { return /* binding */ geodeticToGeocentric; },
|
|
74483
|
+
/* harmony export */ "Lv": function() { return /* binding */ compareDatums; },
|
|
74484
|
+
/* harmony export */ "QN": function() { return /* binding */ geocentricFromWgs84; },
|
|
74093
74485
|
/* harmony export */ "Xu": function() { return /* binding */ geocentricToGeodetic; },
|
|
74094
|
-
/* harmony export */ "jJ": function() { return /* binding */ geocentricToWgs84; }
|
|
74095
|
-
/* harmony export */ "QN": function() { return /* binding */ geocentricFromWgs84; }
|
|
74486
|
+
/* harmony export */ "jJ": function() { return /* binding */ geocentricToWgs84; }
|
|
74096
74487
|
/* harmony export */ });
|
|
74097
74488
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
74098
74489
|
|
|
@@ -75881,7 +76272,7 @@ function Projection(srsCode,callback) {
|
|
|
75881
76272
|
extend(this, json); // transfer everything over from the projection because we don't know what we'll need
|
|
75882
76273
|
extend(this, ourProj); // transfer all the methods from the projection
|
|
75883
76274
|
|
|
75884
|
-
// copy the 4 things over we
|
|
76275
|
+
// copy the 4 things over we calculated in deriveConstants.sphere
|
|
75885
76276
|
this.a = sphere_.a;
|
|
75886
76277
|
this.b = sphere_.b;
|
|
75887
76278
|
this.rf = sphere_.rf;
|
|
@@ -77211,6 +77602,8 @@ var robin = __webpack_require__(4402);
|
|
|
77211
77602
|
var geocent = __webpack_require__(1258);
|
|
77212
77603
|
// EXTERNAL MODULE: ../node_modules/proj4/lib/projections/tpers.js
|
|
77213
77604
|
var tpers = __webpack_require__(6470);
|
|
77605
|
+
// EXTERNAL MODULE: ../node_modules/proj4/lib/projections/geos.js
|
|
77606
|
+
var geos = __webpack_require__(813);
|
|
77214
77607
|
;// CONCATENATED MODULE: ../node_modules/proj4/projs.js
|
|
77215
77608
|
|
|
77216
77609
|
|
|
@@ -77238,6 +77631,7 @@ var tpers = __webpack_require__(6470);
|
|
|
77238
77631
|
|
|
77239
77632
|
|
|
77240
77633
|
|
|
77634
|
+
|
|
77241
77635
|
|
|
77242
77636
|
|
|
77243
77637
|
/* harmony default export */ function proj4_projs(proj4){
|
|
@@ -77269,6 +77663,7 @@ var tpers = __webpack_require__(6470);
|
|
|
77269
77663
|
proj4.Proj.projections.add(robin["default"]);
|
|
77270
77664
|
proj4.Proj.projections.add(geocent["default"]);
|
|
77271
77665
|
proj4.Proj.projections.add(tpers["default"]);
|
|
77666
|
+
proj4.Proj.projections.add(geos["default"]);
|
|
77272
77667
|
}
|
|
77273
77668
|
;// CONCATENATED MODULE: ../node_modules/proj4/lib/index.js
|
|
77274
77669
|
|
|
@@ -77303,11 +77698,11 @@ proj4_projs(core);
|
|
|
77303
77698
|
"use strict";
|
|
77304
77699
|
__webpack_require__.r(__webpack_exports__);
|
|
77305
77700
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77306
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77307
77701
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
77702
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77308
77703
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77309
|
-
/* harmony export */ "
|
|
77310
|
-
/* harmony export */ "
|
|
77704
|
+
/* harmony export */ "names": function() { return /* binding */ names; },
|
|
77705
|
+
/* harmony export */ "phi1z": function() { return /* binding */ phi1z; }
|
|
77311
77706
|
/* harmony export */ });
|
|
77312
77707
|
/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4541);
|
|
77313
77708
|
/* harmony import */ var _common_qsfnz__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3998);
|
|
@@ -77453,8 +77848,8 @@ var names = ["Albers_Conic_Equal_Area", "Albers", "aea"];
|
|
|
77453
77848
|
"use strict";
|
|
77454
77849
|
__webpack_require__.r(__webpack_exports__);
|
|
77455
77850
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77456
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77457
77851
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
77852
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77458
77853
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77459
77854
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77460
77855
|
/* harmony export */ });
|
|
@@ -77686,8 +78081,8 @@ var names = ["Azimuthal_Equidistant", "aeqd"];
|
|
|
77686
78081
|
"use strict";
|
|
77687
78082
|
__webpack_require__.r(__webpack_exports__);
|
|
77688
78083
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77689
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77690
78084
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78085
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77691
78086
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77692
78087
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77693
78088
|
/* harmony export */ });
|
|
@@ -77952,8 +78347,8 @@ var names = ["cea"];
|
|
|
77952
78347
|
"use strict";
|
|
77953
78348
|
__webpack_require__.r(__webpack_exports__);
|
|
77954
78349
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
77955
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77956
78350
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78351
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
77957
78352
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
77958
78353
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
77959
78354
|
/* harmony export */ });
|
|
@@ -78017,8 +78412,8 @@ var names = ["Equirectangular", "Equidistant_Cylindrical", "eqc"];
|
|
|
78017
78412
|
"use strict";
|
|
78018
78413
|
__webpack_require__.r(__webpack_exports__);
|
|
78019
78414
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78020
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78021
78415
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78416
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78022
78417
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78023
78418
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78024
78419
|
/* harmony export */ });
|
|
@@ -78159,8 +78554,8 @@ var names = ["Equidistant_Conic", "eqdc"];
|
|
|
78159
78554
|
"use strict";
|
|
78160
78555
|
__webpack_require__.r(__webpack_exports__);
|
|
78161
78556
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78162
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78163
78557
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78558
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78164
78559
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78165
78560
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78166
78561
|
/* harmony export */ });
|
|
@@ -78592,8 +78987,8 @@ var names = ["gauss"];
|
|
|
78592
78987
|
"use strict";
|
|
78593
78988
|
__webpack_require__.r(__webpack_exports__);
|
|
78594
78989
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78595
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78596
78990
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
78991
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78597
78992
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78598
78993
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78599
78994
|
/* harmony export */ });
|
|
@@ -78625,14 +79020,187 @@ var names = ["Geocentric", 'geocentric', "geocent", "Geocent"];
|
|
|
78625
79020
|
|
|
78626
79021
|
/***/ }),
|
|
78627
79022
|
|
|
78628
|
-
/***/
|
|
79023
|
+
/***/ 813:
|
|
78629
79024
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
78630
79025
|
|
|
78631
79026
|
"use strict";
|
|
78632
79027
|
__webpack_require__.r(__webpack_exports__);
|
|
78633
79028
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78634
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__, {
|
|
78635
79202
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79203
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78636
79204
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78637
79205
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78638
79206
|
/* harmony export */ });
|
|
@@ -78882,8 +79450,8 @@ var names = ["gstmerg", "gstmerc"];
|
|
|
78882
79450
|
"use strict";
|
|
78883
79451
|
__webpack_require__.r(__webpack_exports__);
|
|
78884
79452
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78885
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78886
79453
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79454
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
78887
79455
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
78888
79456
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
78889
79457
|
/* harmony export */ });
|
|
@@ -79004,12 +79572,12 @@ var names = ["Krovak", "krovak"];
|
|
|
79004
79572
|
"use strict";
|
|
79005
79573
|
__webpack_require__.r(__webpack_exports__);
|
|
79006
79574
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79007
|
-
/* harmony export */ "S_POLE": function() { return /* binding */ S_POLE; },
|
|
79008
|
-
/* harmony export */ "N_POLE": function() { return /* binding */ N_POLE; },
|
|
79009
79575
|
/* harmony export */ "EQUIT": function() { return /* binding */ EQUIT; },
|
|
79576
|
+
/* harmony export */ "N_POLE": function() { return /* binding */ N_POLE; },
|
|
79010
79577
|
/* harmony export */ "OBLIQ": function() { return /* binding */ OBLIQ; },
|
|
79011
|
-
/* harmony export */ "
|
|
79578
|
+
/* harmony export */ "S_POLE": function() { return /* binding */ S_POLE; },
|
|
79012
79579
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79580
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79013
79581
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79014
79582
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79015
79583
|
/* harmony export */ });
|
|
@@ -79324,8 +79892,8 @@ var names = ["Lambert Azimuthal Equal Area", "Lambert_Azimuthal_Equal_Area", "la
|
|
|
79324
79892
|
"use strict";
|
|
79325
79893
|
__webpack_require__.r(__webpack_exports__);
|
|
79326
79894
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79327
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79328
79895
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
79896
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79329
79897
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79330
79898
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79331
79899
|
/* harmony export */ });
|
|
@@ -79474,7 +80042,9 @@ var names = [
|
|
|
79474
80042
|
"Lambert_Conformal_Conic",
|
|
79475
80043
|
"Lambert_Conformal_Conic_1SP",
|
|
79476
80044
|
"Lambert_Conformal_Conic_2SP",
|
|
79477
|
-
"lcc"
|
|
80045
|
+
"lcc",
|
|
80046
|
+
"Lambert Conic Conformal (1SP)",
|
|
80047
|
+
"Lambert Conic Conformal (2SP)"
|
|
79478
80048
|
];
|
|
79479
80049
|
|
|
79480
80050
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
@@ -79493,8 +80063,8 @@ var names = [
|
|
|
79493
80063
|
"use strict";
|
|
79494
80064
|
__webpack_require__.r(__webpack_exports__);
|
|
79495
80065
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79496
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79497
80066
|
/* harmony export */ "forward": function() { return /* binding */ identity; },
|
|
80067
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79498
80068
|
/* harmony export */ "inverse": function() { return /* binding */ identity; },
|
|
79499
80069
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79500
80070
|
/* harmony export */ });
|
|
@@ -79524,8 +80094,8 @@ var names = ["longlat", "identity"];
|
|
|
79524
80094
|
"use strict";
|
|
79525
80095
|
__webpack_require__.r(__webpack_exports__);
|
|
79526
80096
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79527
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79528
80097
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80098
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79529
80099
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79530
80100
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79531
80101
|
/* harmony export */ });
|
|
@@ -79644,8 +80214,8 @@ var names = ["Mercator", "Popular Visualisation Pseudo Mercator", "Mercator_1SP"
|
|
|
79644
80214
|
"use strict";
|
|
79645
80215
|
__webpack_require__.r(__webpack_exports__);
|
|
79646
80216
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79647
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79648
80217
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80218
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79649
80219
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79650
80220
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79651
80221
|
/* harmony export */ });
|
|
@@ -79712,8 +80282,8 @@ var names = ["Miller_Cylindrical", "mill"];
|
|
|
79712
80282
|
"use strict";
|
|
79713
80283
|
__webpack_require__.r(__webpack_exports__);
|
|
79714
80284
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79715
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79716
80285
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80286
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79717
80287
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
79718
80288
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79719
80289
|
/* harmony export */ });
|
|
@@ -79812,10 +80382,10 @@ var names = ["Mollweide", "moll"];
|
|
|
79812
80382
|
"use strict";
|
|
79813
80383
|
__webpack_require__.r(__webpack_exports__);
|
|
79814
80384
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
79815
|
-
/* harmony export */ "iterations": function() { return /* binding */ iterations; },
|
|
79816
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79817
80385
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80386
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
79818
80387
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80388
|
+
/* harmony export */ "iterations": function() { return /* binding */ iterations; },
|
|
79819
80389
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
79820
80390
|
/* harmony export */ });
|
|
79821
80391
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
@@ -80055,8 +80625,8 @@ var names = ["New_Zealand_Map_Grid", "nzmg"];
|
|
|
80055
80625
|
"use strict";
|
|
80056
80626
|
__webpack_require__.r(__webpack_exports__);
|
|
80057
80627
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80058
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80059
80628
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80629
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80060
80630
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80061
80631
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80062
80632
|
/* harmony export */ });
|
|
@@ -80315,8 +80885,8 @@ var names = ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", "Hotine_Obliq
|
|
|
80315
80885
|
"use strict";
|
|
80316
80886
|
__webpack_require__.r(__webpack_exports__);
|
|
80317
80887
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80318
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80319
80888
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80889
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80320
80890
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80321
80891
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80322
80892
|
/* harmony export */ });
|
|
@@ -80424,8 +80994,8 @@ var names = ["ortho"];
|
|
|
80424
80994
|
"use strict";
|
|
80425
80995
|
__webpack_require__.r(__webpack_exports__);
|
|
80426
80996
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80427
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80428
80997
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
80998
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80429
80999
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80430
81000
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80431
81001
|
/* harmony export */ });
|
|
@@ -80583,8 +81153,8 @@ var names = ["Polyconic", "poly"];
|
|
|
80583
81153
|
"use strict";
|
|
80584
81154
|
__webpack_require__.r(__webpack_exports__);
|
|
80585
81155
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80586
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80587
81156
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81157
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80588
81158
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80589
81159
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80590
81160
|
/* harmony export */ });
|
|
@@ -80967,8 +81537,8 @@ var names = ["Quadrilateralized Spherical Cube", "Quadrilateralized_Spherical_Cu
|
|
|
80967
81537
|
"use strict";
|
|
80968
81538
|
__webpack_require__.r(__webpack_exports__);
|
|
80969
81539
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80970
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80971
81540
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81541
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
80972
81542
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
80973
81543
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
80974
81544
|
/* harmony export */ });
|
|
@@ -81145,8 +81715,8 @@ var names = ["Robinson", "robin"];
|
|
|
81145
81715
|
"use strict";
|
|
81146
81716
|
__webpack_require__.r(__webpack_exports__);
|
|
81147
81717
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81148
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81149
81718
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81719
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81150
81720
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81151
81721
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81152
81722
|
/* harmony export */ });
|
|
@@ -81282,8 +81852,8 @@ var names = ["Sinusoidal", "sinu"];
|
|
|
81282
81852
|
"use strict";
|
|
81283
81853
|
__webpack_require__.r(__webpack_exports__);
|
|
81284
81854
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81285
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81286
81855
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81856
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81287
81857
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81288
81858
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81289
81859
|
/* harmony export */ });
|
|
@@ -81383,11 +81953,11 @@ var names = ["somerc"];
|
|
|
81383
81953
|
"use strict";
|
|
81384
81954
|
__webpack_require__.r(__webpack_exports__);
|
|
81385
81955
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81386
|
-
/* harmony export */ "ssfn_": function() { return /* binding */ ssfn_; },
|
|
81387
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81388
81956
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
81957
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81389
81958
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81390
|
-
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81959
|
+
/* harmony export */ "names": function() { return /* binding */ names; },
|
|
81960
|
+
/* harmony export */ "ssfn_": function() { return /* binding */ ssfn_; }
|
|
81391
81961
|
/* harmony export */ });
|
|
81392
81962
|
/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8217);
|
|
81393
81963
|
/* harmony import */ var _common_sign__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7676);
|
|
@@ -81579,8 +82149,8 @@ var names = ["stere", "Stereographic_South_Pole", "Polar Stereographic (variant
|
|
|
81579
82149
|
"use strict";
|
|
81580
82150
|
__webpack_require__.r(__webpack_exports__);
|
|
81581
82151
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81582
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81583
82152
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82153
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81584
82154
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81585
82155
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81586
82156
|
/* harmony export */ });
|
|
@@ -81660,8 +82230,8 @@ var names = ["Stereographic_North_Pole", "Oblique_Stereographic", "Polar_Stereog
|
|
|
81660
82230
|
"use strict";
|
|
81661
82231
|
__webpack_require__.r(__webpack_exports__);
|
|
81662
82232
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81663
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81664
82233
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82234
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81665
82235
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81666
82236
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81667
82237
|
/* harmony export */ });
|
|
@@ -81854,8 +82424,8 @@ var names = ["Fast_Transverse_Mercator", "Fast Transverse Mercator"];
|
|
|
81854
82424
|
"use strict";
|
|
81855
82425
|
__webpack_require__.r(__webpack_exports__);
|
|
81856
82426
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
81857
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81858
82427
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82428
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
81859
82429
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
81860
82430
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
81861
82431
|
/* harmony export */ });
|
|
@@ -82110,8 +82680,8 @@ var names = ["Universal Transverse Mercator System", "utm"];
|
|
|
82110
82680
|
"use strict";
|
|
82111
82681
|
__webpack_require__.r(__webpack_exports__);
|
|
82112
82682
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
82113
|
-
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
82114
82683
|
/* harmony export */ "forward": function() { return /* binding */ forward; },
|
|
82684
|
+
/* harmony export */ "init": function() { return /* binding */ init; },
|
|
82115
82685
|
/* harmony export */ "inverse": function() { return /* binding */ inverse; },
|
|
82116
82686
|
/* harmony export */ "names": function() { return /* binding */ names; }
|
|
82117
82687
|
/* harmony export */ });
|
|
@@ -82265,6 +82835,7 @@ var map = {
|
|
|
82265
82835
|
"./etmerc.js": 516,
|
|
82266
82836
|
"./gauss.js": 9326,
|
|
82267
82837
|
"./geocent.js": 1258,
|
|
82838
|
+
"./geos.js": 813,
|
|
82268
82839
|
"./gnom.js": 4655,
|
|
82269
82840
|
"./gstmerc.js": 2653,
|
|
82270
82841
|
"./krovak.js": 6235,
|