highcharts 9.3.2 → 10.1.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/bower.json +1 -1
- package/css/highcharts.css +19 -2
- package/css/highcharts.scss +17 -2
- package/css/themes/dark-unica.css +19 -2
- package/css/themes/grid-light.css +19 -2
- package/css/themes/sand-signika.css +19 -2
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +1 -1
- package/es-modules/Accessibility/Components/ContainerComponent.js +8 -9
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +14 -9
- package/es-modules/Accessibility/Components/LegendComponent.js +31 -23
- package/es-modules/Accessibility/Components/MenuComponent.js +15 -5
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +2 -2
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +0 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +84 -33
- package/es-modules/Accessibility/Components/ZoomComponent.js +13 -10
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +2 -2
- package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
- package/es-modules/Accessibility/Options/LangOptions.js +36 -31
- package/es-modules/Accessibility/Options/Options.js +66 -3
- package/es-modules/Accessibility/ProxyElement.js +14 -6
- package/es-modules/Accessibility/ProxyProvider.js +10 -2
- package/es-modules/Accessibility/Utils/ChartUtilities.js +9 -4
- package/es-modules/Core/Axis/Axis.js +180 -73
- package/es-modules/Core/Axis/Color/ColorAxis.js +22 -5
- package/es-modules/Core/Axis/GridAxis.js +15 -11
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +3 -2
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
- package/es-modules/Core/Axis/StackingAxis.js +0 -1
- package/es-modules/Core/Axis/Tick.js +2 -2
- package/es-modules/Core/Axis/TreeGridTick.js +11 -0
- package/es-modules/Core/Chart/Chart.js +21 -3
- package/es-modules/Core/Chart/Chart3D.js +1 -11
- package/es-modules/Core/Chart/ChartDefaults.js +43 -11
- package/es-modules/Core/Chart/MapChart.js +1 -6
- package/es-modules/Core/Chart/StockChart.js +1 -1
- package/es-modules/Core/DefaultOptions.js +8 -4
- package/es-modules/Core/Geometry/PolygonClip.js +84 -0
- package/es-modules/Core/Globals.js +4 -18
- package/es-modules/Core/HttpUtilities.js +13 -8
- package/es-modules/Core/Legend/Legend.js +11 -9
- package/es-modules/Core/Navigator.js +10 -7
- package/es-modules/Core/Pointer.js +15 -11
- package/es-modules/Core/Renderer/HTML/AST.js +68 -8
- package/es-modules/Core/Renderer/SVG/SVGElement.js +47 -63
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +31 -28
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
- package/es-modules/Core/Scrollbar.js +9 -5
- package/es-modules/Core/Series/DataLabel.js +65 -36
- package/es-modules/Core/Series/Point.js +2 -2
- package/es-modules/Core/Series/Series.js +52 -22
- package/es-modules/Core/Series/SeriesDefaults.js +4 -1
- package/es-modules/Core/Tooltip.js +14 -31
- package/es-modules/Core/Utilities.js +29 -29
- package/es-modules/Extensions/Annotations/Annotations.js +9 -2
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +9 -1
- package/es-modules/Extensions/Annotations/Popup.js +1 -1
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
- package/es-modules/Extensions/Boost/BoostInit.js +6 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
- package/es-modules/Extensions/Boost/Boostables.js +1 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/Breadcrumbs.js +873 -0
- package/es-modules/Extensions/Data.js +26 -14
- package/es-modules/Extensions/DataGrouping.js +8 -3
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DraggablePoints.js +9 -7
- package/es-modules/Extensions/Drilldown.js +150 -95
- package/es-modules/Extensions/ExportData.js +1 -2
- package/es-modules/Extensions/Exporting/Exporting.js +31 -20
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
- package/es-modules/Extensions/FullScreen.js +121 -54
- package/es-modules/Extensions/GeoJSON.js +151 -125
- package/es-modules/Extensions/MarkerClusters.js +34 -20
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Polar.js +4 -1
- package/es-modules/Extensions/ScrollablePlotArea.js +5 -1
- package/es-modules/Extensions/Stacking.js +4 -3
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Maps/MapNavigation.js +50 -13
- package/es-modules/Maps/MapPointer.js +16 -0
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +611 -136
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
- package/es-modules/Maps/Projection.js +169 -77
- package/es-modules/Maps/Projections/EqualEarth.js +15 -6
- package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
- package/es-modules/Maps/Projections/Miller.js +23 -10
- package/es-modules/Maps/Projections/Orthographic.js +21 -10
- package/es-modules/Maps/Projections/WebMercator.js +25 -13
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +589 -0
- package/es-modules/Series/CenteredUtilities.js +6 -1
- package/es-modules/Series/Column/ColumnSeries.js +4 -3
- package/es-modules/Series/DataModifyComposition.js +1 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -2
- package/es-modules/Series/DrawPointComposition.js +7 -4
- package/es-modules/Series/Flags/FlagsSeries.js +7 -12
- package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
- package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -20
- package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
- package/es-modules/Series/Map/MapPoint.js +24 -1
- package/es-modules/Series/Map/MapSeries.js +206 -169
- package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +58 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
- package/es-modules/Series/MapPoint/MapPointSeries.js +40 -14
- package/es-modules/Series/NodesComposition.js +60 -13
- package/es-modules/Series/OHLC/OHLCSeries.js +7 -0
- package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +79 -25
- package/es-modules/Series/Pie/PieDataLabel.js +3 -1
- package/es-modules/Series/Pie/PiePoint.js +12 -5
- package/es-modules/Series/Pie/PieSeries.js +12 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +19 -0
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
- package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
- package/es-modules/Series/Sankey/SankeySeries.js +13 -128
- package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +14 -3
- package/es-modules/Series/Treemap/TreemapSeries.js +88 -80
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -0
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +4 -4
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -2
- package/es-modules/Stock/StockToolsBindings.js +31 -24
- package/es-modules/Stock/StockToolsGui.js +1 -1
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +14 -0
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +2 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +5 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +5 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +99 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +51 -21
- package/highcharts-gantt.js +808 -800
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +781 -426
- package/highcharts-more.js +195 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +18 -4
- package/highcharts.d.ts +3224 -542
- package/highcharts.js +592 -584
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +3224 -542
- package/highcharts.src.js +732 -400
- package/highmaps.js +760 -728
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +3840 -2189
- package/highstock.js +793 -786
- package/highstock.js.map +1 -1
- package/highstock.src.js +783 -432
- package/indicators/acceleration-bands.js +12 -11
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +11 -2
- package/indicators/accumulation-distribution.js +5 -5
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +11 -2
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +11 -2
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +11 -2
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +11 -2
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +11 -2
- package/indicators/atr.js +5 -5
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +11 -2
- package/indicators/bollinger-bands.js +12 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +11 -2
- package/indicators/cci.js +5 -5
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +11 -2
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +11 -2
- package/indicators/cmf.js +6 -6
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +11 -2
- package/indicators/cmo.js +5 -5
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +11 -2
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +11 -2
- package/indicators/disparity-index.js +6 -6
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +11 -2
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +11 -2
- package/indicators/dpo.js +5 -5
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +11 -2
- package/indicators/ema.js +2 -1
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +10 -1
- package/indicators/ichimoku-kinko-hyo.js +16 -16
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +11 -2
- package/indicators/indicators-all.js +195 -194
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +21 -5
- package/indicators/indicators.js +13 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +21 -5
- package/indicators/keltner-channels.js +12 -11
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +11 -2
- package/indicators/klinger.js +13 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +11 -2
- package/indicators/macd.js +12 -11
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +11 -2
- package/indicators/mfi.js +6 -6
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +11 -2
- package/indicators/momentum.js +5 -5
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +11 -2
- package/indicators/natr.js +5 -4
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +11 -2
- package/indicators/obv.js +5 -5
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -2
- package/indicators/pivot-points.js +11 -11
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +11 -2
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +11 -2
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +11 -2
- package/indicators/price-envelopes.js +8 -8
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +11 -2
- package/indicators/psar.js +7 -6
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +11 -2
- package/indicators/regressions.js +12 -12
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +11 -2
- package/indicators/roc.js +5 -5
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +11 -2
- package/indicators/rsi.js +6 -5
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +11 -2
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +11 -2
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +11 -2
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +11 -2
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +11 -2
- package/indicators/trendline.js +5 -5
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +11 -2
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +11 -2
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +11 -2
- package/indicators/vwap.js +5 -5
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +11 -2
- package/indicators/williams-r.js +6 -5
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -2
- package/indicators/wma.js +5 -5
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +11 -2
- package/indicators/zigzag.js +6 -6
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +11 -2
- package/lib/jspdf.js +299 -184
- package/lib/jspdf.src.js +25266 -18067
- package/lib/svg2pdf.js +35 -31
- package/lib/svg2pdf.src.js +5721 -4179
- package/modules/accessibility.js +245 -240
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +510 -283
- package/modules/annotations-advanced.js +144 -144
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +37 -11
- package/modules/annotations.js +79 -79
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +32 -8
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +778 -0
- package/modules/arrow-symbols.js +4 -3
- package/modules/arrow-symbols.js.map +1 -1
- package/modules/arrow-symbols.src.js +11 -2
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +11 -2
- package/modules/boost.js +80 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +71 -43
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +11 -2
- package/modules/bullet.js +9 -9
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +11 -2
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +33 -7
- package/modules/current-date-indicator.js +5 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +11 -2
- package/modules/cylinder.js +11 -11
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +11 -2
- package/modules/data.js +34 -33
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +59 -32
- package/modules/datagrouping.js +21 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +19 -5
- package/modules/debugger.js +8 -7
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +15 -2
- package/modules/dependency-wheel.js +12 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +14 -5
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +11 -2
- package/modules/drag-panes.js +10 -10
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +11 -2
- package/modules/draggable-points.js +35 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +20 -9
- package/modules/drilldown.d.ts +19 -0
- package/modules/drilldown.js +36 -25
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +19 -0
- package/modules/drilldown.src.js +1091 -106
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +11 -2
- package/modules/export-data.js +21 -20
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +12 -4
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +227 -92
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +135 -58
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +11 -2
- package/modules/funnel3d.js +21 -21
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +11 -2
- package/modules/gantt.js +216 -215
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +60 -28
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +27 -13
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +46 -27
- package/modules/heikinashi.js +8 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +11 -2
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +11 -2
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +11 -2
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +11 -2
- package/modules/lollipop.js +7 -7
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +12 -3
- package/modules/map.d.ts +80 -43
- package/modules/map.js +169 -144
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +80 -43
- package/modules/map.src.js +8024 -6696
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +47 -23
- package/modules/networkgraph.d.ts +5 -0
- package/modules/networkgraph.js +49 -48
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +5 -0
- package/modules/networkgraph.src.js +77 -15
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +11 -2
- package/modules/offline-exporting.js +20 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +126 -25
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +11 -2
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +12 -3
- package/modules/organization.js +16 -14
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +166 -32
- package/modules/overlapping-datalabels.js +3 -2
- package/modules/overlapping-datalabels.js.map +1 -1
- package/modules/overlapping-datalabels.src.js +11 -2
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +11 -2
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +11 -2
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +11 -2
- package/modules/pattern-fill.js +14 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +11 -2
- package/modules/price-indicator.js +5 -5
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +11 -2
- package/modules/pyramid3d.js +4 -4
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +11 -2
- package/modules/sankey.d.ts +5 -0
- package/modules/sankey.js +32 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +5 -0
- package/modules/sankey.src.js +341 -157
- package/modules/series-label.js +18 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +11 -2
- package/modules/solid-gauge.js +10 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +11 -2
- package/modules/sonification.js +59 -59
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +11 -2
- package/modules/static-scale.js +5 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +11 -2
- package/modules/stock-tools.js +145 -145
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +64 -32
- package/modules/stock.js +204 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +62 -34
- package/modules/streamgraph.js +5 -4
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +11 -2
- package/modules/sunburst.d.ts +3 -0
- package/modules/sunburst.js +73 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.d.ts +3 -0
- package/modules/sunburst.src.js +1048 -97
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +11 -2
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +11 -2
- package/modules/treegrid.js +57 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +38 -13
- package/modules/treemap.d.ts +3 -0
- package/modules/treemap.js +53 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.d.ts +3 -0
- package/modules/treemap.src.js +1037 -95
- package/modules/variable-pie.js +9 -9
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +11 -2
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +11 -2
- package/modules/vector.js +8 -7
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +11 -2
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +18 -6
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +11 -2
- package/modules/wordcloud.js +24 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +22 -10
- package/modules/xrange.js +16 -16
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +11 -2
- package/package.json +1 -1
- package/themes/avocado.js +4 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +11 -2
- package/themes/brand-dark.js +9 -8
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.js +11 -2
- package/themes/brand-light.js +8 -8
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.js +11 -2
- package/themes/dark-blue.js +9 -8
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +11 -2
- package/themes/dark-green.js +9 -8
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +11 -2
- package/themes/dark-unica.js +8 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +11 -2
- package/themes/gray.js +9 -8
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +11 -2
- package/themes/grid-light.js +5 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +11 -2
- package/themes/grid.js +5 -5
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +11 -2
- package/themes/high-contrast-dark.js +7 -7
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +21 -12
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +21 -12
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +11 -2
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +11 -2
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +11 -2
- package/es-modules/Maps/ProjectionDefinition.js +0 -9
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
/**
|
|
12
|
+
* Generic options for the placement and appearance of map insets like
|
|
13
|
+
* non-contiguous territories.
|
|
14
|
+
*
|
|
15
|
+
* @since 10.0.0
|
|
16
|
+
* @product highmaps
|
|
17
|
+
* @optionparent mapView.insetOptions
|
|
18
|
+
*/
|
|
19
|
+
var defaultOptions = {
|
|
20
|
+
/**
|
|
21
|
+
* The border color of the insets.
|
|
22
|
+
*
|
|
23
|
+
* @sample maps/mapview/insetoptions-border
|
|
24
|
+
* Inset border options
|
|
25
|
+
* @type {Highcharts.ColorType}
|
|
26
|
+
*/
|
|
27
|
+
borderColor: "#cccccc" /* neutralColor20 */,
|
|
28
|
+
/**
|
|
29
|
+
* The pixel border width of the insets.
|
|
30
|
+
*
|
|
31
|
+
* @sample maps/mapview/insetoptions-border
|
|
32
|
+
* Inset border options
|
|
33
|
+
*/
|
|
34
|
+
borderWidth: 1,
|
|
35
|
+
/**
|
|
36
|
+
* @ignore-option
|
|
37
|
+
*/
|
|
38
|
+
center: [0, 0],
|
|
39
|
+
/**
|
|
40
|
+
* The padding of the insets. Can be either a number of pixels, a percentage
|
|
41
|
+
* string, or an array of either. If an array is given, it sets the top,
|
|
42
|
+
* right, bottom, left paddings respectively.
|
|
43
|
+
*
|
|
44
|
+
* @type {number|string|Array<number|string>}
|
|
45
|
+
*/
|
|
46
|
+
padding: '10%',
|
|
47
|
+
/**
|
|
48
|
+
* What coordinate system the `field` and `borderPath` should relate to. If
|
|
49
|
+
* `plotBox`, they will be fixed to the plot box and responsively move in
|
|
50
|
+
* relation to the main map. If `mapBoundingBox`, they will be fixed to the
|
|
51
|
+
* map bounding box, which is constant and centered in different chart sizes
|
|
52
|
+
* and ratios.
|
|
53
|
+
*
|
|
54
|
+
* @validvalue ["plotBox", "mapBoundingBox"]
|
|
55
|
+
*/
|
|
56
|
+
relativeTo: 'mapBoundingBox',
|
|
57
|
+
/**
|
|
58
|
+
* What units to use for the `field` and `borderPath` geometries. If
|
|
59
|
+
* `percent` (default), they relate to the box given in `relativeTo`. If
|
|
60
|
+
* `pixels`, they are absolute values.
|
|
61
|
+
*
|
|
62
|
+
* @validvalue ["percent", "pixels"]
|
|
63
|
+
*/
|
|
64
|
+
units: 'percent'
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* The individual MapView insets, typically used for non-contiguous areas of a
|
|
68
|
+
* country. Each item inherits from the generic `insetOptions`.
|
|
69
|
+
*
|
|
70
|
+
* Some of the TopoJSON files of the [Highcharts Map
|
|
71
|
+
* Collection](https://code.highcharts.com/mapdata/) include a property called
|
|
72
|
+
* `hc-recommended-mapview`, and some of these include insets. In order to
|
|
73
|
+
* override the recommended inset options, an inset option with a matching id
|
|
74
|
+
* can be applied, and it will be merged into the embedded settings.
|
|
75
|
+
*
|
|
76
|
+
* @sample maps/mapview/insets-extended
|
|
77
|
+
* Extending the embedded insets
|
|
78
|
+
* @sample maps/mapview/insets-complete
|
|
79
|
+
* Complete inset config from scratch
|
|
80
|
+
*
|
|
81
|
+
* @extends mapView.insetOptions
|
|
82
|
+
* @type Array<Object>
|
|
83
|
+
* @product highmaps
|
|
84
|
+
* @apioption mapView.insets
|
|
85
|
+
*/
|
|
86
|
+
/**
|
|
87
|
+
* A geometry object of type `MultiLineString` defining the border path of the
|
|
88
|
+
* inset in terms of `units`. If undefined, a border is rendered around the
|
|
89
|
+
* `field` geometry. It is recommended that the `borderPath` partly follows the
|
|
90
|
+
* outline of the `field` in order to make pointer positioning consistent.
|
|
91
|
+
*
|
|
92
|
+
* @sample maps/mapview/insets-complete
|
|
93
|
+
* Complete inset config with `borderPath`
|
|
94
|
+
*
|
|
95
|
+
* @product highmaps
|
|
96
|
+
* @type {Object|undefined}
|
|
97
|
+
* @apioption mapView.insets.borderPath
|
|
98
|
+
*/
|
|
99
|
+
/**
|
|
100
|
+
* A geometry object of type `Polygon` defining where in the chart the inset
|
|
101
|
+
* should be rendered, in terms of `units` and relative to the `relativeTo`
|
|
102
|
+
* setting. If a `borderPath` is omitted, a border is rendered around the field.
|
|
103
|
+
* If undefined, the inset is rendered in the full plot area.
|
|
104
|
+
*
|
|
105
|
+
* @sample maps/mapview/insets-extended
|
|
106
|
+
* Border path emitted, field is rendered
|
|
107
|
+
*
|
|
108
|
+
* @product highmaps
|
|
109
|
+
* @type {Object|undefined}
|
|
110
|
+
* @apioption mapView.insets.field
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* A geometry object of type `Polygon` encircling the shapes that should be
|
|
114
|
+
* rendered in the inset, in terms of geographic coordinates. Geometries within
|
|
115
|
+
* this geometry are removed from the default map view and rendered in the
|
|
116
|
+
* inset.
|
|
117
|
+
*
|
|
118
|
+
* @sample maps/mapview/insets-complete
|
|
119
|
+
* Complete inset config with `geoBounds`
|
|
120
|
+
*
|
|
121
|
+
* @product highmaps
|
|
122
|
+
* @type {Object}
|
|
123
|
+
* @apioption mapView.insets.geoBounds
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* The id of the inset, used for internal reference.
|
|
127
|
+
*
|
|
128
|
+
* @sample maps/mapview/insets-extended
|
|
129
|
+
* Extending recommended insets by id
|
|
130
|
+
*
|
|
131
|
+
* @product highmaps
|
|
132
|
+
* @type {string}
|
|
133
|
+
* @apioption mapView.insets.id
|
|
134
|
+
*/
|
|
135
|
+
/**
|
|
136
|
+
* The projection options for the inset.
|
|
137
|
+
*
|
|
138
|
+
* @product highmaps
|
|
139
|
+
* @type {Object}
|
|
140
|
+
* @extends mapView.projection
|
|
141
|
+
* @apioption mapView.insets.projection
|
|
142
|
+
*/
|
|
143
|
+
/* *
|
|
144
|
+
*
|
|
145
|
+
* Default Export
|
|
146
|
+
*
|
|
147
|
+
* */
|
|
148
|
+
export default defaultOptions;
|
|
@@ -22,16 +22,15 @@
|
|
|
22
22
|
var defaultOptions = {
|
|
23
23
|
/**
|
|
24
24
|
* The center of the map in terms of longitude and latitude. For
|
|
25
|
-
* preprojected maps (like in Map Collection v1.x), the
|
|
26
|
-
* x and y units.
|
|
25
|
+
* preprojected maps (like the GeoJSON files in Map Collection v1.x), the
|
|
26
|
+
* units are projected x and y units.
|
|
27
27
|
*
|
|
28
28
|
* @default [0, 0]
|
|
29
29
|
* @type {Highcharts.LonLatArray}
|
|
30
30
|
*
|
|
31
|
-
* @sample {highmaps} maps/mapview/center-zoom
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* Report the current view of a preprojected map
|
|
31
|
+
* @sample {highmaps} maps/mapview/center-zoom Custom view of a world map
|
|
32
|
+
* @sample {highmaps} maps/mapview/get-view Report the current view of a
|
|
33
|
+
* preprojected map
|
|
35
34
|
*/
|
|
36
35
|
center: [0, 0],
|
|
37
36
|
/**
|
|
@@ -51,27 +50,68 @@ var defaultOptions = {
|
|
|
51
50
|
*
|
|
52
51
|
* @sample {highmaps} maps/chart/plotbackgroundcolor-color
|
|
53
52
|
* Visible plot area and percentage padding
|
|
53
|
+
* @type {number|string|Array<number|string>}
|
|
54
54
|
*/
|
|
55
55
|
padding: 0,
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* GeoJSON.
|
|
60
|
-
*
|
|
61
|
-
* Sub-options are:
|
|
62
|
-
* * `name`, which as of v9.3 can be `EqualEarth`,
|
|
63
|
-
* `LambertConformalConic`, `Miller`, `Orthographic` or `WebMercator`.
|
|
64
|
-
* * `parallels`, the standard parallels for the LambertConformalConic
|
|
65
|
-
* projection.
|
|
66
|
-
* * `rotation`, a three-axis rotation of the globe prior to projection,
|
|
67
|
-
* which in practice can be used for example to render a world map with the
|
|
68
|
-
* Americas centered (`[90, 0]`), or to rotate an orthographic projection.
|
|
57
|
+
* The projection options allow applying client side projection to a map
|
|
58
|
+
* given in geographic coordinates, typically from TopoJSON or GeoJSON.
|
|
69
59
|
*
|
|
70
60
|
* @type {Object}
|
|
71
|
-
*
|
|
61
|
+
*
|
|
62
|
+
* @sample maps/mapview/projection-explorer
|
|
63
|
+
* Projection explorer
|
|
64
|
+
* @sample maps/demo/topojson-projection
|
|
72
65
|
* Orthographic projection
|
|
66
|
+
* @sample maps/mapview/projection-custom-proj4js
|
|
67
|
+
* Custom UTM projection definition
|
|
68
|
+
* @sample maps/mapview/projection-custom-d3geo
|
|
69
|
+
* Custom Robinson projection definition
|
|
73
70
|
*/
|
|
74
|
-
projection:
|
|
71
|
+
projection: {
|
|
72
|
+
/**
|
|
73
|
+
* Projection name. Built-in projections are `EqualEarth`,
|
|
74
|
+
* `LambertConformalConic`, `Miller`, `Orthographic` and `WebMercator`.
|
|
75
|
+
*
|
|
76
|
+
* @type {string}
|
|
77
|
+
* @sample maps/mapview/projection-explorer
|
|
78
|
+
* Projection explorer
|
|
79
|
+
* @sample maps/mapview/projection-custom-proj4js
|
|
80
|
+
* Custom UTM projection definition
|
|
81
|
+
* @sample maps/mapview/projection-custom-d3geo
|
|
82
|
+
* Custom Robinson projection definition
|
|
83
|
+
* @sample maps/demo/topojson-projection
|
|
84
|
+
* Orthographic projection
|
|
85
|
+
*/
|
|
86
|
+
name: void 0,
|
|
87
|
+
/**
|
|
88
|
+
* The two standard parallels that define the map layout in conic
|
|
89
|
+
* projections, like the LambertConformalConic projection. If only one
|
|
90
|
+
* number is given, the second parallel will be the same as the first.
|
|
91
|
+
*
|
|
92
|
+
* @sample maps/mapview/projection-parallels
|
|
93
|
+
* LCC projection with parallels
|
|
94
|
+
* @sample maps/mapview/projection-explorer
|
|
95
|
+
* Projection explorer
|
|
96
|
+
* @type {Array<number>}
|
|
97
|
+
*/
|
|
98
|
+
parallels: void 0,
|
|
99
|
+
/**
|
|
100
|
+
* Rotation of the projection in terms of degrees `[lambda, phi,
|
|
101
|
+
* gamma]`. When given, a three-axis spherical rotation is be applied
|
|
102
|
+
* to the globe prior to the projection.
|
|
103
|
+
*
|
|
104
|
+
* * `lambda` shifts the longitudes by the given value.
|
|
105
|
+
* * `phi` shifts the latitudes by the given value. Can be omitted.
|
|
106
|
+
* * `gamma` applies a _roll_. Can be omitted.
|
|
107
|
+
*
|
|
108
|
+
* @sample maps/mapview/projection-explorer
|
|
109
|
+
* Projection explorer
|
|
110
|
+
* @sample maps/mapview/projection-america-centric
|
|
111
|
+
* America-centric world map
|
|
112
|
+
*/
|
|
113
|
+
rotation: void 0
|
|
114
|
+
},
|
|
75
115
|
/**
|
|
76
116
|
* The zoom level of a map. Higher zoom levels means more zoomed in. An
|
|
77
117
|
* increase of 1 zooms in to a quarter of the viewed area (half the width
|
|
@@ -15,9 +15,11 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
|
15
15
|
r[k] = a[j];
|
|
16
16
|
return r;
|
|
17
17
|
};
|
|
18
|
+
import PC from '../Core/Geometry/PolygonClip.js';
|
|
19
|
+
var clipLineString = PC.clipLineString, clipPolygon = PC.clipPolygon;
|
|
18
20
|
import registry from './Projections/ProjectionRegistry.js';
|
|
19
21
|
import U from '../Core/Utilities.js';
|
|
20
|
-
var erase = U.erase;
|
|
22
|
+
var clamp = U.clamp, erase = U.erase;
|
|
21
23
|
var deg2rad = Math.PI * 2 / 360;
|
|
22
24
|
// Safe padding on either side of the antimeridian to avoid points being
|
|
23
25
|
// projected to the wrong side of the plane
|
|
@@ -47,35 +49,37 @@ var Projection = /** @class */ (function () {
|
|
|
47
49
|
this.hasGeoProjection = false;
|
|
48
50
|
this.maxLatitude = 90;
|
|
49
51
|
this.options = options;
|
|
50
|
-
var name = options.name, rotation = options.rotation;
|
|
52
|
+
var name = options.name, projectedBounds = options.projectedBounds, rotation = options.rotation;
|
|
51
53
|
this.rotator = rotation ? this.getRotator(rotation) : void 0;
|
|
52
|
-
|
|
54
|
+
var ProjectionDefinition = name ? Projection.registry[name] : void 0;
|
|
55
|
+
if (ProjectionDefinition) {
|
|
56
|
+
this.def = new ProjectionDefinition(options);
|
|
57
|
+
}
|
|
53
58
|
var _a = this, def = _a.def, rotator = _a.rotator;
|
|
54
59
|
if (def) {
|
|
55
|
-
if (def.init) {
|
|
56
|
-
def.init(options);
|
|
57
|
-
}
|
|
58
60
|
this.maxLatitude = def.maxLatitude || 90;
|
|
59
61
|
this.hasGeoProjection = true;
|
|
60
62
|
}
|
|
61
63
|
if (rotator && def) {
|
|
62
64
|
this.forward = function (lonLat) {
|
|
63
|
-
|
|
64
|
-
return def.forward(lonLat);
|
|
65
|
+
return def.forward(rotator.forward(lonLat));
|
|
65
66
|
};
|
|
66
67
|
this.inverse = function (xy) {
|
|
67
|
-
|
|
68
|
-
return rotator.inverse(lonLat);
|
|
68
|
+
return rotator.inverse(def.inverse(xy));
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
else if (def) {
|
|
72
|
-
this.forward = def.forward;
|
|
73
|
-
this.inverse = def.inverse;
|
|
72
|
+
this.forward = function (lonLat) { return def.forward(lonLat); };
|
|
73
|
+
this.inverse = function (xy) { return def.inverse(xy); };
|
|
74
74
|
}
|
|
75
75
|
else if (rotator) {
|
|
76
76
|
this.forward = rotator.forward;
|
|
77
77
|
this.inverse = rotator.inverse;
|
|
78
78
|
}
|
|
79
|
+
// Projected bounds/clipping
|
|
80
|
+
this.bounds = projectedBounds === 'world' ?
|
|
81
|
+
def && def.bounds :
|
|
82
|
+
projectedBounds;
|
|
79
83
|
}
|
|
80
84
|
// Add a projection definition to the registry, accessible by its `name`.
|
|
81
85
|
Projection.add = function (name, definition) {
|
|
@@ -136,6 +140,37 @@ var Projection = /** @class */ (function () {
|
|
|
136
140
|
var _a = options || {}, name = _a.name, rotation = _a.rotation;
|
|
137
141
|
return [name, rotation && rotation.join(',')].join(';');
|
|
138
142
|
};
|
|
143
|
+
Projection.prototype.lineIntersectsBounds = function (line) {
|
|
144
|
+
var _a = this.bounds || {}, x1 = _a.x1, x2 = _a.x2, y1 = _a.y1, y2 = _a.y2;
|
|
145
|
+
var getIntersect = function (line, dim, val) {
|
|
146
|
+
var p1 = line[0], p2 = line[1], otherDim = dim ? 0 : 1;
|
|
147
|
+
// Check if points are on either side of the line
|
|
148
|
+
if (typeof val === 'number' && p1[dim] >= val !== p2[dim] >= val) {
|
|
149
|
+
var fraction = ((val - p1[dim]) / (p2[dim] - p1[dim])), crossingVal = p1[otherDim] +
|
|
150
|
+
fraction * (p2[otherDim] - p1[otherDim]);
|
|
151
|
+
return dim ? [crossingVal, val] : [val, crossingVal];
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
var intersection, ret = line[0];
|
|
155
|
+
if ((intersection = getIntersect(line, 0, x1))) {
|
|
156
|
+
ret = intersection;
|
|
157
|
+
// Assuming line[1] was originally outside, replace it with the
|
|
158
|
+
// intersection point so that the horizontal intersection will
|
|
159
|
+
// be correct.
|
|
160
|
+
line[1] = intersection;
|
|
161
|
+
}
|
|
162
|
+
else if ((intersection = getIntersect(line, 0, x2))) {
|
|
163
|
+
ret = intersection;
|
|
164
|
+
line[1] = intersection;
|
|
165
|
+
}
|
|
166
|
+
if ((intersection = getIntersect(line, 1, y1))) {
|
|
167
|
+
ret = intersection;
|
|
168
|
+
}
|
|
169
|
+
else if ((intersection = getIntersect(line, 1, y2))) {
|
|
170
|
+
ret = intersection;
|
|
171
|
+
}
|
|
172
|
+
return ret;
|
|
173
|
+
};
|
|
139
174
|
/*
|
|
140
175
|
* Take the rotation options and return the appropriate projection functions
|
|
141
176
|
*/
|
|
@@ -174,12 +209,12 @@ var Projection = /** @class */ (function () {
|
|
|
174
209
|
Projection.prototype.forward = function (lonLat) {
|
|
175
210
|
return lonLat;
|
|
176
211
|
};
|
|
177
|
-
//
|
|
178
|
-
// when projection is set.
|
|
212
|
+
// Unproject an xy chart coordinate position to lonlat. Dynamically
|
|
213
|
+
// overridden when projection is set.
|
|
179
214
|
Projection.prototype.inverse = function (xy) {
|
|
180
215
|
return xy;
|
|
181
216
|
};
|
|
182
|
-
Projection.prototype.
|
|
217
|
+
Projection.prototype.cutOnAntimeridian = function (poly, isPolygon) {
|
|
183
218
|
var antimeridian = 180;
|
|
184
219
|
var intersections = [];
|
|
185
220
|
var polygons = [poly];
|
|
@@ -201,10 +236,9 @@ var Projection = /** @class */ (function () {
|
|
|
201
236
|
// ... and on either side of the plane
|
|
202
237
|
(lon1 > 0) !== (lon2 > 0)) {
|
|
203
238
|
// Interpolate to the intersection latitude
|
|
204
|
-
var fraction = (antimeridian -
|
|
205
|
-
(
|
|
206
|
-
|
|
207
|
-
fraction * (lonLat[1] - previousLonLat[1]);
|
|
239
|
+
var fraction = clamp((antimeridian - (lon1 + 360) % 360) /
|
|
240
|
+
((lon2 + 360) % 360 - (lon1 + 360) % 360), 0, 1), lat = (previousLonLat[1] +
|
|
241
|
+
fraction * (lonLat[1] - previousLonLat[1]));
|
|
208
242
|
intersections.push({
|
|
209
243
|
i: i,
|
|
210
244
|
lat: lat,
|
|
@@ -244,16 +278,23 @@ var Projection = /** @class */ (function () {
|
|
|
244
278
|
// Insert dummy points close to the pole
|
|
245
279
|
if (polarIntersection) {
|
|
246
280
|
for (var i_1 = 0; i_1 < polygons.length; i_1++) {
|
|
247
|
-
var poly_1 = polygons[i_1];
|
|
248
|
-
var indexOf = poly_1.indexOf(polarIntersection.lonLat);
|
|
281
|
+
var direction = polarIntersection.direction, lat = polarIntersection.lat, poly_1 = polygons[i_1], indexOf = poly_1.indexOf(polarIntersection.lonLat);
|
|
249
282
|
if (indexOf > -1) {
|
|
250
|
-
var polarLatitude = (
|
|
283
|
+
var polarLatitude = (lat < 0 ? -1 : 1) *
|
|
251
284
|
this.maxLatitude;
|
|
252
285
|
var lon1 = wrapLon(antimeridian +
|
|
253
|
-
|
|
286
|
+
direction * floatCorrection);
|
|
254
287
|
var lon2 = wrapLon(antimeridian -
|
|
255
|
-
|
|
256
|
-
var polarSegment = Projection.greatCircle([lon1,
|
|
288
|
+
direction * floatCorrection);
|
|
289
|
+
var polarSegment = Projection.greatCircle([lon1, lat], [lon1, polarLatitude], true);
|
|
290
|
+
// Circle around the pole point in order to make
|
|
291
|
+
// polygon clipping right. Without this, Antarctica
|
|
292
|
+
// would wrap the wrong way in an LLC projection
|
|
293
|
+
// with parallels [30, 40].
|
|
294
|
+
for (var lon = lon1 + 120 * direction; lon > -180 && lon < 180; lon += 120 * direction) {
|
|
295
|
+
polarSegment.push([lon, polarLatitude]);
|
|
296
|
+
}
|
|
297
|
+
polarSegment.push.apply(polarSegment, Projection.greatCircle([lon2, polarLatitude], [lon2, polarIntersection.lat], true));
|
|
257
298
|
poly_1.splice.apply(poly_1, __spreadArrays([indexOf,
|
|
258
299
|
0], polarSegment));
|
|
259
300
|
break;
|
|
@@ -283,18 +324,12 @@ var Projection = /** @class */ (function () {
|
|
|
283
324
|
}
|
|
284
325
|
}
|
|
285
326
|
}
|
|
286
|
-
// Insert great circles along the cuts
|
|
287
|
-
/*
|
|
288
|
-
if (isPolygon && polygons.length > 1 || polarIntersection) {
|
|
289
|
-
polygons.forEach(Projection.insertGreatCircles);
|
|
290
|
-
}
|
|
291
|
-
*/
|
|
292
327
|
return polygons;
|
|
293
328
|
};
|
|
294
329
|
// Take a GeoJSON geometry and return a translated SVGPath
|
|
295
330
|
Projection.prototype.path = function (geometry) {
|
|
296
331
|
var _this = this;
|
|
297
|
-
var _a = this, def = _a.def, rotator = _a.rotator;
|
|
332
|
+
var _a = this, bounds = _a.bounds, def = _a.def, rotator = _a.rotator;
|
|
298
333
|
var antimeridian = 180;
|
|
299
334
|
var path = [];
|
|
300
335
|
var isPolygon = geometry.type === 'Polygon' ||
|
|
@@ -303,12 +338,23 @@ var Projection = /** @class */ (function () {
|
|
|
303
338
|
// positive. It depends on whether the coordinates are
|
|
304
339
|
// pre-projected.
|
|
305
340
|
var hasGeoProjection = this.hasGeoProjection;
|
|
306
|
-
//
|
|
307
|
-
|
|
341
|
+
// Detect whether we need to do antimeridian cutting and clipping to
|
|
342
|
+
// bounds. The alternative (currently for Orthographic) is to apply a
|
|
343
|
+
// clip angle.
|
|
344
|
+
var projectingToPlane = !def || def.antimeridianCutting !== false;
|
|
308
345
|
// We need to rotate in a separate step before applying antimeridian
|
|
309
|
-
//
|
|
346
|
+
// cutting
|
|
310
347
|
var preclip = projectingToPlane ? rotator : void 0;
|
|
311
348
|
var postclip = projectingToPlane ? (def || this) : this;
|
|
349
|
+
var boundsPolygon;
|
|
350
|
+
if (bounds) {
|
|
351
|
+
boundsPolygon = [
|
|
352
|
+
[bounds.x1, bounds.y1],
|
|
353
|
+
[bounds.x2, bounds.y1],
|
|
354
|
+
[bounds.x2, bounds.y2],
|
|
355
|
+
[bounds.x1, bounds.y2]
|
|
356
|
+
];
|
|
357
|
+
}
|
|
312
358
|
var addToPath = function (polygon) {
|
|
313
359
|
// Create a copy of the original coordinates. The copy applies a
|
|
314
360
|
// correction of points close to the antimeridian in order to
|
|
@@ -338,7 +384,7 @@ var Projection = /** @class */ (function () {
|
|
|
338
384
|
// Insert great circles into long straight lines
|
|
339
385
|
Projection.insertGreatCircles(poly);
|
|
340
386
|
if (projectingToPlane) {
|
|
341
|
-
polygons = _this.
|
|
387
|
+
polygons = _this.cutOnAntimeridian(poly, isPolygon);
|
|
342
388
|
}
|
|
343
389
|
}
|
|
344
390
|
polygons.forEach(function (poly) {
|
|
@@ -358,52 +404,98 @@ var Projection = /** @class */ (function () {
|
|
|
358
404
|
path.push(['L', point[0], point[1]]);
|
|
359
405
|
}
|
|
360
406
|
};
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
var
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
407
|
+
var someOutside = false, someInside = false;
|
|
408
|
+
var points = poly.map(function (lonLat) {
|
|
409
|
+
var xy = postclip.forward(lonLat);
|
|
410
|
+
if (xy.outside) {
|
|
411
|
+
someOutside = true;
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
someInside = true;
|
|
415
|
+
}
|
|
416
|
+
// Mercator projects pole points to Infinity, and
|
|
417
|
+
// clipPolygon is not able to handle it.
|
|
418
|
+
if (xy[1] === Infinity) {
|
|
419
|
+
xy[1] = 10e9;
|
|
420
|
+
}
|
|
421
|
+
else if (xy[1] === -Infinity) {
|
|
422
|
+
xy[1] = -10e9;
|
|
423
|
+
}
|
|
424
|
+
return xy;
|
|
425
|
+
});
|
|
426
|
+
if (projectingToPlane) {
|
|
427
|
+
// Wrap around in order for pointInPolygon to work
|
|
428
|
+
if (isPolygon) {
|
|
429
|
+
points.push(points[0]);
|
|
430
|
+
}
|
|
431
|
+
if (someOutside) {
|
|
432
|
+
// All points are outside
|
|
433
|
+
if (!someInside) {
|
|
434
|
+
return;
|
|
378
435
|
}
|
|
379
|
-
//
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
// close to the horizon. A possible exception may be
|
|
386
|
-
// when the two points are on opposite sides of the
|
|
387
|
-
// globe. It that poses a problem, we may have to
|
|
388
|
-
// rewrite this to use the small circle related to
|
|
389
|
-
// the current lon0 and lat0.
|
|
390
|
-
if (isPolygon && hasGeoProjection) {
|
|
391
|
-
var greatCircle = Projection.greatCircle(lastValidLonLat, lonLat);
|
|
392
|
-
greatCircle.forEach(function (lonLat) {
|
|
393
|
-
return pushToPath(postclip.forward(lonLat));
|
|
394
|
-
});
|
|
395
|
-
// For lines, just jump over the gap
|
|
436
|
+
// Some inside, some outside. Clip to the bounds.
|
|
437
|
+
if (boundsPolygon) {
|
|
438
|
+
// Polygons
|
|
439
|
+
if (isPolygon) {
|
|
440
|
+
points = clipPolygon(points, boundsPolygon);
|
|
441
|
+
// Linestrings
|
|
396
442
|
}
|
|
397
|
-
else {
|
|
398
|
-
|
|
443
|
+
else if (bounds) {
|
|
444
|
+
clipLineString(points, boundsPolygon)
|
|
445
|
+
.forEach(function (points) {
|
|
446
|
+
movedTo = false;
|
|
447
|
+
points.forEach(pushToPath);
|
|
448
|
+
});
|
|
449
|
+
return;
|
|
399
450
|
}
|
|
400
451
|
}
|
|
401
|
-
pushToPath(point);
|
|
402
|
-
lastValidLonLat = lonLat;
|
|
403
|
-
gap = false;
|
|
404
452
|
}
|
|
405
|
-
|
|
406
|
-
|
|
453
|
+
points.forEach(pushToPath);
|
|
454
|
+
// For orthographic projection, or when a clipAngle applies
|
|
455
|
+
}
|
|
456
|
+
else {
|
|
457
|
+
for (var i = 0; i < points.length; i++) {
|
|
458
|
+
var lonLat = poly[i], point = points[i];
|
|
459
|
+
if (!point.outside) {
|
|
460
|
+
// In order to be able to interpolate if the first
|
|
461
|
+
// or last point is invalid (on the far side of the
|
|
462
|
+
// globe in an orthographic projection), we need to
|
|
463
|
+
// push the first valid point to the end of the
|
|
464
|
+
// polygon.
|
|
465
|
+
if (isPolygon && !firstValidLonLat) {
|
|
466
|
+
firstValidLonLat = lonLat;
|
|
467
|
+
poly.push(lonLat);
|
|
468
|
+
points.push(point);
|
|
469
|
+
}
|
|
470
|
+
// When entering the first valid point after a gap
|
|
471
|
+
// of invalid points, typically on the far side of
|
|
472
|
+
// the globe in an orthographic projection.
|
|
473
|
+
if (gap && lastValidLonLat) {
|
|
474
|
+
// For areas, in an orthographic projection, the
|
|
475
|
+
// great circle between two visible points will
|
|
476
|
+
// be close to the horizon. A possible exception
|
|
477
|
+
// may be when the two points are on opposite
|
|
478
|
+
// sides of the globe. It that poses a problem,
|
|
479
|
+
// we may have to rewrite this to use the small
|
|
480
|
+
// circle related to the current lon0 and lat0.
|
|
481
|
+
if (isPolygon && hasGeoProjection) {
|
|
482
|
+
var greatCircle = Projection.greatCircle(lastValidLonLat, lonLat);
|
|
483
|
+
greatCircle.forEach(function (lonLat) {
|
|
484
|
+
return pushToPath(postclip.forward(lonLat));
|
|
485
|
+
});
|
|
486
|
+
// For lines, just jump over the gap
|
|
487
|
+
}
|
|
488
|
+
else {
|
|
489
|
+
movedTo = false;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
pushToPath(point);
|
|
493
|
+
lastValidLonLat = lonLat;
|
|
494
|
+
gap = false;
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
gap = true;
|
|
498
|
+
}
|
|
407
499
|
}
|
|
408
500
|
}
|
|
409
501
|
});
|
|
@@ -9,8 +9,16 @@
|
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
11
|
var A1 = 1.340264, A2 = -0.081106, A3 = 0.000893, A4 = 0.003796, M = Math.sqrt(3) / 2.0, scale = 74.03120656864502;
|
|
12
|
-
var EqualEarth = {
|
|
13
|
-
|
|
12
|
+
var EqualEarth = /** @class */ (function () {
|
|
13
|
+
function EqualEarth() {
|
|
14
|
+
this.bounds = {
|
|
15
|
+
x1: -200.37508342789243,
|
|
16
|
+
x2: 200.37508342789243,
|
|
17
|
+
y1: -97.52595454902263,
|
|
18
|
+
y2: 97.52595454902263
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
EqualEarth.prototype.forward = function (lonLat) {
|
|
14
22
|
var d = Math.PI / 180, paramLat = Math.asin(M * Math.sin(lonLat[1] * d)), paramLatSq = paramLat * paramLat, paramLatPow6 = paramLatSq * paramLatSq * paramLatSq;
|
|
15
23
|
var x = lonLat[0] * d * Math.cos(paramLat) * scale / (M *
|
|
16
24
|
(A1 +
|
|
@@ -18,8 +26,8 @@ var EqualEarth = {
|
|
|
18
26
|
paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq)));
|
|
19
27
|
var y = paramLat * scale * (A1 + A2 * paramLatSq + paramLatPow6 * (A3 + A4 * paramLatSq));
|
|
20
28
|
return [x, y];
|
|
21
|
-
}
|
|
22
|
-
inverse
|
|
29
|
+
};
|
|
30
|
+
EqualEarth.prototype.inverse = function (xy) {
|
|
23
31
|
var x = xy[0] / scale, y = xy[1] / scale, d = 180 / Math.PI, epsilon = 1e-9, iterations = 12;
|
|
24
32
|
var paramLat = y, paramLatSq, paramLatPow6, fy, fpy, dlat, i;
|
|
25
33
|
for (i = 0; i < iterations; ++i) {
|
|
@@ -37,6 +45,7 @@ var EqualEarth = {
|
|
|
37
45
|
var lon = d * M * x * (A1 + 3 * A2 * paramLatSq + paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq)) / Math.cos(paramLat);
|
|
38
46
|
var lat = d * Math.asin(Math.sin(paramLat) / M);
|
|
39
47
|
return [lon, lat];
|
|
40
|
-
}
|
|
41
|
-
|
|
48
|
+
};
|
|
49
|
+
return EqualEarth;
|
|
50
|
+
}());
|
|
42
51
|
export default EqualEarth;
|