@undp/data-viz 2.1.9 → 2.2.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.
Files changed (460) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.js +19 -19
  3. package/dist/AreaChart.js.map +1 -1
  4. package/dist/{Axis-CRyfcLjc.js → Axis-DoOqnt6g.js} +2 -2
  5. package/dist/{Axis-CRyfcLjc.js.map → Axis-DoOqnt6g.js.map} +1 -1
  6. package/dist/{Axis-DxRV2yMi.cjs → Axis-Dtjn-EgM.cjs} +2 -2
  7. package/dist/{Axis-DxRV2yMi.cjs.map → Axis-Dtjn-EgM.cjs.map} +1 -1
  8. package/dist/{AxisTitle-sS5bLLR7.cjs → AxisTitle-DV4n0RxE.cjs} +2 -2
  9. package/dist/{AxisTitle-sS5bLLR7.cjs.map → AxisTitle-DV4n0RxE.cjs.map} +1 -1
  10. package/dist/{AxisTitle-jeI7am8o.js → AxisTitle-VFq89Olw.js} +2 -2
  11. package/dist/{AxisTitle-jeI7am8o.js.map → AxisTitle-VFq89Olw.js.map} +1 -1
  12. package/dist/BarGraph.cjs +1 -1
  13. package/dist/BarGraph.js +24 -24
  14. package/dist/BarGraph.js.map +1 -1
  15. package/dist/BasicStatCard.cjs +1 -1
  16. package/dist/BasicStatCard.js +2 -2
  17. package/dist/BeeSwarmChart.cjs +1 -1
  18. package/dist/BeeSwarmChart.js +14 -14
  19. package/dist/BeeSwarmChart.js.map +1 -1
  20. package/dist/BiVariateChoroplethMap.cjs +1 -1
  21. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  22. package/dist/BiVariateChoroplethMap.js +48 -48
  23. package/dist/BiVariateChoroplethMap.js.map +1 -1
  24. package/dist/BulletChart.cjs +1 -1
  25. package/dist/BulletChart.js +22 -22
  26. package/dist/BulletChart.js.map +1 -1
  27. package/dist/ButterflyChart.cjs +1 -1
  28. package/dist/ButterflyChart.js +19 -19
  29. package/dist/ButterflyChart.js.map +1 -1
  30. package/dist/ChoroplethMap.cjs +1 -1
  31. package/dist/ChoroplethMap.cjs.map +1 -1
  32. package/dist/ChoroplethMap.js +51 -51
  33. package/dist/ChoroplethMap.js.map +1 -1
  34. package/dist/CirclePackingGraph.cjs +1 -1
  35. package/dist/CirclePackingGraph.js +4 -4
  36. package/dist/ColorLegend.cjs +1 -1
  37. package/dist/ColorLegend.js +2 -2
  38. package/dist/ColorLegendWithMouseOver.cjs +1 -1
  39. package/dist/ColorLegendWithMouseOver.js +2 -2
  40. package/dist/CopyTextButton.cjs +1 -16
  41. package/dist/CopyTextButton.cjs.map +1 -1
  42. package/dist/CopyTextButton.js +13 -31
  43. package/dist/CopyTextButton.js.map +1 -1
  44. package/dist/CsvDownloadButton.cjs +2 -20
  45. package/dist/CsvDownloadButton.cjs.map +1 -1
  46. package/dist/CsvDownloadButton.js +5 -26
  47. package/dist/CsvDownloadButton.js.map +1 -1
  48. package/dist/DataCards.cjs +1 -21
  49. package/dist/DataCards.cjs.map +1 -1
  50. package/dist/DataCards.js +18 -42
  51. package/dist/DataCards.js.map +1 -1
  52. package/dist/DataTable.cjs +1 -1
  53. package/dist/DataTable.js +6 -6
  54. package/dist/DataTable.js.map +1 -1
  55. package/dist/{DetailsModal-0Ry5nXiC.js → DetailsModal-BMCTgVsk.js} +4 -4
  56. package/dist/{DetailsModal-0Ry5nXiC.js.map → DetailsModal-BMCTgVsk.js.map} +1 -1
  57. package/dist/{DetailsModal-BN0HDFlV.cjs → DetailsModal-DHttOA80.cjs} +2 -2
  58. package/dist/{DetailsModal-BN0HDFlV.cjs.map → DetailsModal-DHttOA80.cjs.map} +1 -1
  59. package/dist/DifferenceLineChart.cjs +1 -1
  60. package/dist/DifferenceLineChart.js +22 -22
  61. package/dist/DifferenceLineChart.js.map +1 -1
  62. package/dist/DonutChart.cjs +1 -1
  63. package/dist/DonutChart.js +10 -10
  64. package/dist/DotDensityMap.cjs +1 -1
  65. package/dist/DotDensityMap.cjs.map +1 -1
  66. package/dist/DotDensityMap.js +78 -78
  67. package/dist/DotDensityMap.js.map +1 -1
  68. package/dist/{DropdownSelect-BbdPQa2k.js → DropdownSelect-D8rFbygC.js} +5 -33
  69. package/dist/{DropdownSelect-BbdPQa2k.js.map → DropdownSelect-D8rFbygC.js.map} +1 -1
  70. package/dist/{DropdownSelect-Doz3mCrM.cjs → DropdownSelect-NNpOs7DX.cjs} +2 -26
  71. package/dist/{DropdownSelect-Doz3mCrM.cjs.map → DropdownSelect-NNpOs7DX.cjs.map} +1 -1
  72. package/dist/DualAxisLineChart.cjs +1 -1
  73. package/dist/DualAxisLineChart.js +15 -15
  74. package/dist/DualAxisLineChart.js.map +1 -1
  75. package/dist/DumbbellChart.cjs +1 -1
  76. package/dist/DumbbellChart.js +22 -22
  77. package/dist/DumbbellChart.js.map +1 -1
  78. package/dist/{EmptyState-gLDRXBHm.cjs → EmptyState-CGeBqbmR.cjs} +2 -2
  79. package/dist/{EmptyState-gLDRXBHm.cjs.map → EmptyState-CGeBqbmR.cjs.map} +1 -1
  80. package/dist/EmptyState-tZBErBKF.js +15 -0
  81. package/dist/{EmptyState-C7ZXkZWd.js.map → EmptyState-tZBErBKF.js.map} +1 -1
  82. package/dist/ExcelDownloadButton.cjs +1 -1
  83. package/dist/ExcelDownloadButton.js +2 -2
  84. package/dist/FootNote.cjs +1 -1
  85. package/dist/FootNote.js +2 -2
  86. package/dist/GeoHubCompareMaps.cjs +1 -1
  87. package/dist/GeoHubCompareMaps.js +13 -13
  88. package/dist/GeoHubCompareMaps.js.map +1 -1
  89. package/dist/GeoHubMap.cjs +1 -1
  90. package/dist/GeoHubMap.js +8 -8
  91. package/dist/GeoHubMap.js.map +1 -1
  92. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  93. package/dist/GeoHubMapWithLayerSelection.js +12 -12
  94. package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
  95. package/dist/{GraphContainer-d8A46BK2.cjs → GraphContainer-B1EDxJ0S.cjs} +2 -2
  96. package/dist/{GraphContainer-d8A46BK2.cjs.map → GraphContainer-B1EDxJ0S.cjs.map} +1 -1
  97. package/dist/{GraphContainer-CRqzdKu2.js → GraphContainer-CF6ws3pd.js} +2 -2
  98. package/dist/{GraphContainer-CRqzdKu2.js.map → GraphContainer-CF6ws3pd.js.map} +1 -1
  99. package/dist/GraphDescription.cjs +1 -1
  100. package/dist/GraphDescription.js +2 -2
  101. package/dist/GraphEl-CBZdcvb7.cjs +2 -0
  102. package/dist/GraphEl-CBZdcvb7.cjs.map +1 -0
  103. package/dist/{GraphEl-Dyu_EIQb.js → GraphEl-DKrjuQNB.js} +79 -18
  104. package/dist/GraphEl-DKrjuQNB.js.map +1 -0
  105. package/dist/GraphFooter.cjs +1 -1
  106. package/dist/GraphFooter.js +2 -2
  107. package/dist/GraphHeader.cjs +1 -1
  108. package/dist/GraphHeader.js +1 -1
  109. package/dist/GraphTitle.cjs +1 -1
  110. package/dist/GraphTitle.js +2 -2
  111. package/dist/GriddedGraphs.cjs +1 -1
  112. package/dist/GriddedGraphs.d.ts +1 -1
  113. package/dist/GriddedGraphs.js +8 -8
  114. package/dist/GriddedGraphsFromConfig.cjs +1 -1
  115. package/dist/GriddedGraphsFromConfig.d.ts +1 -1
  116. package/dist/GriddedGraphsFromConfig.js +4 -4
  117. package/dist/GriddedGraphsFromConfig.js.map +1 -1
  118. package/dist/HeatMap.cjs +1 -1
  119. package/dist/HeatMap.js +14 -14
  120. package/dist/HeatMap.js.map +1 -1
  121. package/dist/Histogram.cjs +1 -1
  122. package/dist/Histogram.js +5 -5
  123. package/dist/Histogram.js.map +1 -1
  124. package/dist/HybridMap.cjs +1 -1
  125. package/dist/HybridMap.cjs.map +1 -1
  126. package/dist/HybridMap.js +48 -48
  127. package/dist/HybridMap.js.map +1 -1
  128. package/dist/ImageDownloadButton.cjs +1 -1
  129. package/dist/ImageDownloadButton.js +3 -3
  130. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  131. package/dist/LineChartWithConfidenceInterval.js +18 -18
  132. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  133. package/dist/LinearColorLegend.cjs +1 -1
  134. package/dist/LinearColorLegend.js +2 -2
  135. package/dist/{Modal-JW_IExO3.cjs → Modal-CaYa_TLE.cjs} +2 -2
  136. package/dist/{Modal-JW_IExO3.cjs.map → Modal-CaYa_TLE.cjs.map} +1 -1
  137. package/dist/{Modal-bMQA6bL_.js → Modal-Ch9wvKxF.js} +4 -4
  138. package/dist/{Modal-bMQA6bL_.js.map → Modal-Ch9wvKxF.js.map} +1 -1
  139. package/dist/MultiGraphDashboard.cjs +1 -1
  140. package/dist/MultiGraphDashboard.d.ts +1 -1
  141. package/dist/MultiGraphDashboard.js +5 -5
  142. package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
  143. package/dist/MultiGraphDashboardFromConfig.d.ts +1 -1
  144. package/dist/MultiGraphDashboardFromConfig.js +4 -4
  145. package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
  146. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  147. package/dist/MultiGraphDashboardWideToLongFormat.js +5 -5
  148. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
  149. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +4 -4
  150. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
  151. package/dist/MultiLineAltChart.cjs +1 -1
  152. package/dist/MultiLineAltChart.js +17 -17
  153. package/dist/MultiLineAltChart.js.map +1 -1
  154. package/dist/MultiLineChart.cjs +1 -1
  155. package/dist/MultiLineChart.js +19 -19
  156. package/dist/MultiLineChart.js.map +1 -1
  157. package/dist/ParetoChart.cjs +1 -1
  158. package/dist/ParetoChart.js +15 -15
  159. package/dist/ParetoChart.js.map +1 -1
  160. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  161. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -1
  162. package/dist/PerformanceIntensiveMultiGraphDashboard.js +5 -5
  163. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
  164. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -1
  165. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +4 -4
  166. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
  167. package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
  168. package/dist/PerformanceIntensiveScrollStory.d.ts +1 -1
  169. package/dist/PerformanceIntensiveScrollStory.js +6 -6
  170. package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
  171. package/dist/RadarChart.cjs +1 -1
  172. package/dist/RadarChart.cjs.map +1 -1
  173. package/dist/RadarChart.js +9 -9
  174. package/dist/{ReferenceLine-2XCwHXQ4.js → ReferenceLine-DgtoRgw0.js} +5 -5
  175. package/dist/ReferenceLine-DgtoRgw0.js.map +1 -0
  176. package/dist/{ReferenceLine-BH0qdf4R.cjs → ReferenceLine-M9aP3dj-.cjs} +2 -2
  177. package/dist/{ReferenceLine-BH0qdf4R.cjs.map → ReferenceLine-M9aP3dj-.cjs.map} +1 -1
  178. package/dist/{RegressionLine-BOTTNSrr.cjs → RegressionLine-Ci-Dh0w0.cjs} +2 -2
  179. package/dist/{RegressionLine-BOTTNSrr.cjs.map → RegressionLine-Ci-Dh0w0.cjs.map} +1 -1
  180. package/dist/{RegressionLine-DAcY2DjT.js → RegressionLine-D2aqeBKp.js} +6 -6
  181. package/dist/RegressionLine-D2aqeBKp.js.map +1 -0
  182. package/dist/SVGDownloadButton.cjs +1 -1
  183. package/dist/SVGDownloadButton.js +2 -2
  184. package/dist/SankeyChart.cjs +1 -1
  185. package/dist/SankeyChart.cjs.map +1 -1
  186. package/dist/SankeyChart.js +61 -67
  187. package/dist/SankeyChart.js.map +1 -1
  188. package/dist/ScatterPlot.cjs +1 -1
  189. package/dist/ScatterPlot.js +23 -23
  190. package/dist/ScatterPlot.js.map +1 -1
  191. package/dist/ScrollStory.cjs +1 -1
  192. package/dist/ScrollStory.d.ts +1 -1
  193. package/dist/ScrollStory.js +4 -4
  194. package/dist/ScrollStory.js.map +1 -1
  195. package/dist/SimpleLineChart.cjs +1 -1
  196. package/dist/SimpleLineChart.js +19 -19
  197. package/dist/SimpleLineChart.js.map +1 -1
  198. package/dist/SingleGraphDashboard.cjs +1 -1
  199. package/dist/SingleGraphDashboard.d.ts +1 -1
  200. package/dist/SingleGraphDashboard.js +9 -9
  201. package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
  202. package/dist/SingleGraphDashboardFromConfig.d.ts +1 -1
  203. package/dist/SingleGraphDashboardFromConfig.js +4 -4
  204. package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
  205. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  206. package/dist/SingleGraphDashboardGeoHubMaps.js +5 -5
  207. package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -1
  208. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
  209. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +4 -4
  210. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
  211. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  212. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  213. package/dist/SingleGraphDashboardThreeDGraphs.js +63 -70
  214. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  215. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
  216. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +4 -4
  217. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
  218. package/dist/SlopeChart.cjs +1 -1
  219. package/dist/SlopeChart.js +12 -12
  220. package/dist/SlopeChart.js.map +1 -1
  221. package/dist/{Source-DYMJRrsq.cjs → Source-B5AoSlsi.cjs} +2 -2
  222. package/dist/{Source-DYMJRrsq.cjs.map → Source-B5AoSlsi.cjs.map} +1 -1
  223. package/dist/{Source-DwTHB8fn.js → Source-F8EYCYkV.js} +4 -4
  224. package/dist/{Source-DwTHB8fn.js.map → Source-F8EYCYkV.js.map} +1 -1
  225. package/dist/Source.cjs +1 -1
  226. package/dist/Source.js +3 -3
  227. package/dist/SparkLine.cjs +1 -1
  228. package/dist/SparkLine.js +8 -8
  229. package/dist/SparkLine.js.map +1 -1
  230. package/dist/{Spinner-DVBnY6Vg.js → Spinner--r2RrJV8.js} +2 -2
  231. package/dist/{Spinner-DVBnY6Vg.js.map → Spinner--r2RrJV8.js.map} +1 -1
  232. package/dist/{Spinner-CQZcjzwd.cjs → Spinner-jTMOLuw_.cjs} +2 -2
  233. package/dist/{Spinner-CQZcjzwd.cjs.map → Spinner-jTMOLuw_.cjs.map} +1 -1
  234. package/dist/StatCardFromData.cjs +1 -1
  235. package/dist/StatCardFromData.js +2 -2
  236. package/dist/StripChart.cjs +1 -1
  237. package/dist/StripChart.js +10 -10
  238. package/dist/StripChart.js.map +1 -1
  239. package/dist/ThreeDGlobe.cjs +1 -1
  240. package/dist/ThreeDGlobe.js +13 -13
  241. package/dist/ThreeDGlobe.js.map +1 -1
  242. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  243. package/dist/ThresholdColorLegendWithMouseOver.js +3 -3
  244. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  245. package/dist/{Tooltip-uUdw6wJL.cjs → Tooltip-BLa2EfMs.cjs} +2 -2
  246. package/dist/{Tooltip-uUdw6wJL.cjs.map → Tooltip-BLa2EfMs.cjs.map} +1 -1
  247. package/dist/{Tooltip-Dj5eVppQ.js → Tooltip-BRnAz2Gv.js} +3 -3
  248. package/dist/{Tooltip-Dj5eVppQ.js.map → Tooltip-BRnAz2Gv.js.map} +1 -1
  249. package/dist/TreeMapGraph.cjs +1 -1
  250. package/dist/TreeMapGraph.js +10 -10
  251. package/dist/TreeMapGraph.js.map +1 -1
  252. package/dist/Types.d.ts +8 -1
  253. package/dist/{Typography-PxtFcnJb.js → Typography-hWfh3H0J.js} +2 -2
  254. package/dist/{Typography-PxtFcnJb.js.map → Typography-hWfh3H0J.js.map} +1 -1
  255. package/dist/{Typography-DX7PlgQU.cjs → Typography-sa1UE0oF.cjs} +2 -2
  256. package/dist/{Typography-DX7PlgQU.cjs.map → Typography-sa1UE0oF.cjs.map} +1 -1
  257. package/dist/UnitChart.cjs +1 -1
  258. package/dist/UnitChart.js +8 -8
  259. package/dist/WaterfallChart.cjs +2 -0
  260. package/dist/WaterfallChart.cjs.map +1 -0
  261. package/dist/WaterfallChart.d.ts +208 -0
  262. package/dist/WaterfallChart.js +427 -0
  263. package/dist/WaterfallChart.js.map +1 -0
  264. package/dist/{XAxesLabels-Bt5NZBmX.cjs → XAxesLabels-C6o9jJal.cjs} +2 -2
  265. package/dist/{XAxesLabels-Bt5NZBmX.cjs.map → XAxesLabels-C6o9jJal.cjs.map} +1 -1
  266. package/dist/{XAxesLabels-Dy8E1SEo.js → XAxesLabels-rhK7lRjO.js} +3 -3
  267. package/dist/{XAxesLabels-Dy8E1SEo.js.map → XAxesLabels-rhK7lRjO.js.map} +1 -1
  268. package/dist/{XTicksAndGridLines-CObVFSm4.js → XTicksAndGridLines-CVZkZkpS.js} +2 -2
  269. package/dist/{XTicksAndGridLines-CObVFSm4.js.map → XTicksAndGridLines-CVZkZkpS.js.map} +1 -1
  270. package/dist/{XTicksAndGridLines-B6CELS7q.cjs → XTicksAndGridLines-CekrPykD.cjs} +2 -2
  271. package/dist/{XTicksAndGridLines-B6CELS7q.cjs.map → XTicksAndGridLines-CekrPykD.cjs.map} +1 -1
  272. package/dist/{YAxesLabels-DesLesUP.cjs → YAxesLabels-BQ2aCazV.cjs} +2 -2
  273. package/dist/{YAxesLabels-DesLesUP.cjs.map → YAxesLabels-BQ2aCazV.cjs.map} +1 -1
  274. package/dist/{YAxesLabels-a57ZRv-0.js → YAxesLabels-QICWVsHf.js} +3 -3
  275. package/dist/{YAxesLabels-a57ZRv-0.js.map → YAxesLabels-QICWVsHf.js.map} +1 -1
  276. package/dist/{YTicksAndGridLines-Blepl7XF.js → YTicksAndGridLines-GnXnSRF2.js} +2 -2
  277. package/dist/{YTicksAndGridLines-Blepl7XF.js.map → YTicksAndGridLines-GnXnSRF2.js.map} +1 -1
  278. package/dist/{YTicksAndGridLines-4pxTRlRK.cjs → YTicksAndGridLines-UzVC5eBM.cjs} +2 -2
  279. package/dist/{YTicksAndGridLines-4pxTRlRK.cjs.map → YTicksAndGridLines-UzVC5eBM.cjs.map} +1 -1
  280. package/dist/{band-DHUZ2X7J.js → band-DYty33LD.js} +2 -2
  281. package/dist/{band-DHUZ2X7J.js.map → band-DYty33LD.js.map} +1 -1
  282. package/dist/{checkIfMultiple-CIRtG0KE.js → checkIfMultiple-D9fVkeOq.js} +7 -19
  283. package/dist/{checkIfMultiple-CIRtG0KE.js.map → checkIfMultiple-D9fVkeOq.js.map} +1 -1
  284. package/dist/checkIfMultiple-DxnGtm3t.cjs +2 -0
  285. package/dist/{checkIfMultiple-wg6hJLXy.cjs.map → checkIfMultiple-DxnGtm3t.cjs.map} +1 -1
  286. package/dist/{customArea-BUhPiPT6.js → customArea-ASDaSE4u.js} +5 -5
  287. package/dist/{customArea-BUhPiPT6.js.map → customArea-ASDaSE4u.js.map} +1 -1
  288. package/dist/{customArea-CMF5g-C3.cjs → customArea-B1LWQBmM.cjs} +2 -2
  289. package/dist/{customArea-CMF5g-C3.cjs.map → customArea-B1LWQBmM.cjs.map} +1 -1
  290. package/dist/defaultLocale-C4wbwF1n.cjs +2 -0
  291. package/dist/defaultLocale-C4wbwF1n.cjs.map +1 -0
  292. package/dist/defaultLocale-CPy_WVtp.js +172 -0
  293. package/dist/defaultLocale-CPy_WVtp.js.map +1 -0
  294. package/dist/{ensureCompleteData-DH5c52Ub.js → ensureCompleteData-CDIukSG6.js} +2 -2
  295. package/dist/{ensureCompleteData-DH5c52Ub.js.map → ensureCompleteData-CDIukSG6.js.map} +1 -1
  296. package/dist/{ensureCompleteData-pZ9QO6kB.cjs → ensureCompleteData-D9bQTiVS.cjs} +2 -2
  297. package/dist/{ensureCompleteData-pZ9QO6kB.cjs.map → ensureCompleteData-D9bQTiVS.cjs.map} +1 -1
  298. package/dist/{fetchAndParseData-BpqkBPQL.js → fetchAndParseData-BAXhgTDM.js} +12 -18
  299. package/dist/{fetchAndParseData-BpqkBPQL.js.map → fetchAndParseData-BAXhgTDM.js.map} +1 -1
  300. package/dist/{fetchAndParseData-l5HGMAEs.cjs → fetchAndParseData-QTF6tjij.cjs} +3 -8
  301. package/dist/{fetchAndParseData-l5HGMAEs.cjs.map → fetchAndParseData-QTF6tjij.cjs.map} +1 -1
  302. package/dist/fetchAndParseData.cjs +1 -1
  303. package/dist/fetchAndParseData.js +1 -1
  304. package/dist/getCentroidCoordinates-CtBGrNC8.cjs +2 -0
  305. package/dist/getCentroidCoordinates-CtBGrNC8.cjs.map +1 -0
  306. package/dist/{getCentroidCoordinates-D7r34N4w.js → getCentroidCoordinates-s0OOUjLF.js} +15 -15
  307. package/dist/getCentroidCoordinates-s0OOUjLF.js.map +1 -0
  308. package/dist/{getGraphList-Dxwo9TDb.js → getGraphList-Bpd3PVmF.js} +7 -1
  309. package/dist/getGraphList-Bpd3PVmF.js.map +1 -0
  310. package/dist/getGraphList-DQ24IzAn.cjs +2 -0
  311. package/dist/getGraphList-DQ24IzAn.cjs.map +1 -0
  312. package/dist/{getJenks-GYmdwBqm.cjs → getJenks-BzJvhy_H.cjs} +2 -2
  313. package/dist/{getJenks-GYmdwBqm.cjs.map → getJenks-BzJvhy_H.cjs.map} +1 -1
  314. package/dist/{getJenks-BbngDoBQ.js → getJenks-DTCcQSDi.js} +2 -2
  315. package/dist/{getJenks-BbngDoBQ.js.map → getJenks-DTCcQSDi.js.map} +1 -1
  316. package/dist/getSchema.cjs +1 -1
  317. package/dist/getSchema.cjs.map +1 -1
  318. package/dist/getSchema.d.ts +3 -3
  319. package/dist/getSchema.js +24 -16
  320. package/dist/getSchema.js.map +1 -1
  321. package/dist/getSliderMarks-CIuSoedo.cjs +2 -0
  322. package/dist/{getSliderMarks-BmADcPQt.cjs.map → getSliderMarks-CIuSoedo.cjs.map} +1 -1
  323. package/dist/{getSliderMarks-HIDJ0_Cd.js → getSliderMarks-Cvg8zHBU.js} +4 -9
  324. package/dist/getSliderMarks-Cvg8zHBU.js.map +1 -0
  325. package/dist/{imageDownload-NYXbvKob.cjs → imageDownload-61q6jyJW.cjs} +3 -3
  326. package/dist/imageDownload-61q6jyJW.cjs.map +1 -0
  327. package/dist/{imageDownload-BU4qnxJP.js → imageDownload-Diofs_vY.js} +14 -15
  328. package/dist/imageDownload-Diofs_vY.js.map +1 -0
  329. package/dist/{index-D491FEn1.js → index-BQYOuXdl.js} +15 -15
  330. package/dist/{index-D491FEn1.js.map → index-BQYOuXdl.js.map} +1 -1
  331. package/dist/{index-DxXnJ8Ti.cjs → index-C5K--w8d.cjs} +2 -2
  332. package/dist/index-C5K--w8d.cjs.map +1 -0
  333. package/dist/{index-DRXx7m-C.cjs → index-C6er0ety.cjs} +2 -2
  334. package/dist/{index-DRXx7m-C.cjs.map → index-C6er0ety.cjs.map} +1 -1
  335. package/dist/{index-CHPV5EwG-CTPQjnHt.cjs → index-CHPV5EwG-6v2a2njQ.cjs} +5 -69
  336. package/dist/{index-CHPV5EwG-CTPQjnHt.cjs.map → index-CHPV5EwG-6v2a2njQ.cjs.map} +1 -1
  337. package/dist/{index-CHPV5EwG-Curnpaqc.js → index-CHPV5EwG-DecW7_qr.js} +5 -77
  338. package/dist/{index-CHPV5EwG-Curnpaqc.js.map → index-CHPV5EwG-DecW7_qr.js.map} +1 -1
  339. package/dist/{index-SKgJALZg.js → index-CSiFiXPj.js} +3 -3
  340. package/dist/{index-SKgJALZg.js.map → index-CSiFiXPj.js.map} +1 -1
  341. package/dist/index-CoobIWNj.cjs +10 -0
  342. package/dist/index-CoobIWNj.cjs.map +1 -0
  343. package/dist/index-CtMBjvtq.js +148 -0
  344. package/dist/index-CtMBjvtq.js.map +1 -0
  345. package/dist/{index-Cw8sCyo_-BrHiWiRF.cjs → index-Cw8sCyo_-CEcCMKUi.cjs} +2 -2
  346. package/dist/{index-Cw8sCyo_-BrHiWiRF.cjs.map → index-Cw8sCyo_-CEcCMKUi.cjs.map} +1 -1
  347. package/dist/{index-Cw8sCyo_-B2hEKjzG.js → index-Cw8sCyo_-n4AacHGk.js} +6 -4
  348. package/dist/{index-Cw8sCyo_-B2hEKjzG.js.map → index-Cw8sCyo_-n4AacHGk.js.map} +1 -1
  349. package/dist/{index-R1gTfap5.js → index-D5ihtaJJ.js} +12 -12
  350. package/dist/{index-R1gTfap5.js.map → index-D5ihtaJJ.js.map} +1 -1
  351. package/dist/{index-B_sAFsEV.cjs → index-D69M6klB.cjs} +2 -2
  352. package/dist/{index-B_sAFsEV.cjs.map → index-D69M6klB.cjs.map} +1 -1
  353. package/dist/{index-GEsywGxz.js → index-DCsFBfJ_.js} +160 -104
  354. package/dist/index-DCsFBfJ_.js.map +1 -0
  355. package/dist/{index-WML2dCZ0.cjs → index-Dgjq6aZ2.cjs} +2 -2
  356. package/dist/{index-WML2dCZ0.cjs.map → index-Dgjq6aZ2.cjs.map} +1 -1
  357. package/dist/{index-Dzc_aaI9-BmkfPMyc.cjs → index-Dzc_aaI9-C3DbPpy3.cjs} +2 -2
  358. package/dist/{index-Dzc_aaI9-BmkfPMyc.cjs.map → index-Dzc_aaI9-C3DbPpy3.cjs.map} +1 -1
  359. package/dist/{index-Dzc_aaI9-Bb7gobH_.js → index-Dzc_aaI9-CG2Ar7l1.js} +4 -4
  360. package/dist/{index-Dzc_aaI9-Bb7gobH_.js.map → index-Dzc_aaI9-CG2Ar7l1.js.map} +1 -1
  361. package/dist/index.cjs +1 -1
  362. package/dist/index.d.ts +208 -93
  363. package/dist/index.js +129 -127
  364. package/dist/index.js.map +1 -1
  365. package/dist/{linear-BqltdMeF.js → linear-CalFSAaO.js} +2 -2
  366. package/dist/{linear-BqltdMeF.js.map → linear-CalFSAaO.js.map} +1 -1
  367. package/dist/{linear-BwPAspcq.cjs → linear-CgUCbw9F.cjs} +2 -2
  368. package/dist/{linear-BwPAspcq.cjs.map → linear-CgUCbw9F.cjs.map} +1 -1
  369. package/dist/{ordinal-BJ6O_LC5.js → ordinal-CHaxGJ_l.js} +2 -2
  370. package/dist/{ordinal-BJ6O_LC5.js.map → ordinal-CHaxGJ_l.js.map} +1 -1
  371. package/dist/{parse-DlCRUFh_.js → parse-Dv4of-PN.js} +2 -67
  372. package/dist/{parse-DlCRUFh_.js.map → parse-Dv4of-PN.js.map} +1 -1
  373. package/dist/parse-xYI9yrvL.cjs +2 -0
  374. package/dist/{parse-hMnG_lRV.cjs.map → parse-xYI9yrvL.cjs.map} +1 -1
  375. package/dist/{pow-DgrUorRi.cjs → pow-BnyPO-NX.cjs} +2 -2
  376. package/dist/{pow-DgrUorRi.cjs.map → pow-BnyPO-NX.cjs.map} +1 -1
  377. package/dist/{pow-CM2aze4M.js → pow-CaIrlM4J.js} +2 -2
  378. package/dist/{pow-CM2aze4M.js.map → pow-CaIrlM4J.js.map} +1 -1
  379. package/dist/proxy-C4-uo6nS.cjs +2 -0
  380. package/dist/proxy-C4-uo6nS.cjs.map +1 -0
  381. package/dist/{proxy-BxkFHwUw.js → proxy-DRuSUlPL.js} +2828 -2717
  382. package/dist/proxy-DRuSUlPL.js.map +1 -0
  383. package/dist/{string2HTML-DhG75NqA.js → string2HTML-DUYZT1L9.js} +17 -17
  384. package/dist/{string2HTML-DhG75NqA.js.map → string2HTML-DUYZT1L9.js.map} +1 -1
  385. package/dist/{string2HTML-CPGr_I5E.cjs → string2HTML-xx9MzTtY.cjs} +3 -3
  386. package/dist/{string2HTML-CPGr_I5E.cjs.map → string2HTML-xx9MzTtY.cjs.map} +1 -1
  387. package/dist/style.css +1 -1
  388. package/dist/{time-BUL-dwnK.js → time-CAtex-RV.js} +2 -2
  389. package/dist/{time-BUL-dwnK.js.map → time-CAtex-RV.js.map} +1 -1
  390. package/dist/{time-CZd5YLSP.cjs → time-CkcKbhwe.cjs} +2 -2
  391. package/dist/{time-CZd5YLSP.cjs.map → time-CkcKbhwe.cjs.map} +1 -1
  392. package/dist/transformData.cjs +1 -1
  393. package/dist/transformData.d.ts +1 -1
  394. package/dist/transformData.js +3 -3
  395. package/dist/transformDataForAggregation-BFdha9Dx.cjs +2 -0
  396. package/dist/transformDataForAggregation-BFdha9Dx.cjs.map +1 -0
  397. package/dist/{transformDataForAggregation-j34UL73s.js → transformDataForAggregation-wdPf8bNt.js} +26 -11
  398. package/dist/transformDataForAggregation-wdPf8bNt.js.map +1 -0
  399. package/dist/{transformDataForGraphFromFile-CuXxR8uA.cjs → transformDataForGraphFromFile-DOhp1qrp.cjs} +2 -2
  400. package/dist/{transformDataForGraphFromFile-CuXxR8uA.cjs.map → transformDataForGraphFromFile-DOhp1qrp.cjs.map} +1 -1
  401. package/dist/{transformDataForGraphFromFile-DyP-83Nh.js → transformDataForGraphFromFile-dt9sHTVy.js} +3 -3
  402. package/dist/{transformDataForGraphFromFile-DyP-83Nh.js.map → transformDataForGraphFromFile-dt9sHTVy.js.map} +1 -1
  403. package/dist/{use-in-view-QcfiW0w3.cjs → use-in-view-C3o_ntMv.cjs} +2 -2
  404. package/dist/use-in-view-C3o_ntMv.cjs.map +1 -0
  405. package/dist/{use-in-view-Cxa7y1TH.js → use-in-view-Dl5L8LtP.js} +2 -2
  406. package/dist/use-in-view-Dl5L8LtP.js.map +1 -0
  407. package/dist/utils.cjs +1 -1
  408. package/dist/utils.js +4 -4
  409. package/dist/validateSchema.cjs +1 -1
  410. package/dist/validateSchema.d.ts +1 -1
  411. package/dist/validateSchema.js +1 -1
  412. package/dist/{x-BBpi7a_7-WVdj1j6r.js → x-BBpi7a_7-BsvWCzYM.js} +1 -31
  413. package/dist/{x-BBpi7a_7-WVdj1j6r.js.map → x-BBpi7a_7-BsvWCzYM.js.map} +1 -1
  414. package/dist/x-BBpi7a_7-DXYIEFwN.cjs +2 -0
  415. package/dist/{x-BBpi7a_7-mTo40uId.cjs.map → x-BBpi7a_7-DXYIEFwN.cjs.map} +1 -1
  416. package/dist/{zoom-C9MFjAaV.js → zoom-5AkJSuWO.js} +3 -3
  417. package/dist/zoom-5AkJSuWO.js.map +1 -0
  418. package/dist/{zoom-DPw8bba-.cjs → zoom-ChcvXFIz.cjs} +2 -2
  419. package/dist/zoom-ChcvXFIz.cjs.map +1 -0
  420. package/package.json +21 -1
  421. package/readme.md +33 -22
  422. package/dist/EmptyState-C7ZXkZWd.js +0 -15
  423. package/dist/GraphEl-BixTEyKW.cjs +0 -2
  424. package/dist/GraphEl-BixTEyKW.cjs.map +0 -1
  425. package/dist/GraphEl-Dyu_EIQb.js.map +0 -1
  426. package/dist/ReferenceLine-2XCwHXQ4.js.map +0 -1
  427. package/dist/RegressionLine-DAcY2DjT.js.map +0 -1
  428. package/dist/checkIfMultiple-wg6hJLXy.cjs +0 -12
  429. package/dist/defaultLocale-BEa-49Qz.js +0 -172
  430. package/dist/defaultLocale-BEa-49Qz.js.map +0 -1
  431. package/dist/defaultLocale-DIVzfLaQ.cjs +0 -2
  432. package/dist/defaultLocale-DIVzfLaQ.cjs.map +0 -1
  433. package/dist/getCentroidCoordinates-D7r34N4w.js.map +0 -1
  434. package/dist/getCentroidCoordinates-Dng1HVjO.cjs +0 -2
  435. package/dist/getCentroidCoordinates-Dng1HVjO.cjs.map +0 -1
  436. package/dist/getGraphList-CA17dvFB.cjs +0 -2
  437. package/dist/getGraphList-CA17dvFB.cjs.map +0 -1
  438. package/dist/getGraphList-Dxwo9TDb.js.map +0 -1
  439. package/dist/getSliderMarks-BmADcPQt.cjs +0 -6
  440. package/dist/getSliderMarks-HIDJ0_Cd.js.map +0 -1
  441. package/dist/imageDownload-BU4qnxJP.js.map +0 -1
  442. package/dist/imageDownload-NYXbvKob.cjs.map +0 -1
  443. package/dist/index-BqfRwk1n.js +0 -146
  444. package/dist/index-BqfRwk1n.js.map +0 -1
  445. package/dist/index-DG2bgAva.cjs +0 -10
  446. package/dist/index-DG2bgAva.cjs.map +0 -1
  447. package/dist/index-DxXnJ8Ti.cjs.map +0 -1
  448. package/dist/index-GEsywGxz.js.map +0 -1
  449. package/dist/parse-hMnG_lRV.cjs +0 -2
  450. package/dist/proxy-BxkFHwUw.js.map +0 -1
  451. package/dist/proxy-BxvUI_9l.cjs +0 -2
  452. package/dist/proxy-BxvUI_9l.cjs.map +0 -1
  453. package/dist/transformDataForAggregation-CYoB5Xsk.cjs +0 -2
  454. package/dist/transformDataForAggregation-CYoB5Xsk.cjs.map +0 -1
  455. package/dist/transformDataForAggregation-j34UL73s.js.map +0 -1
  456. package/dist/use-in-view-Cxa7y1TH.js.map +0 -1
  457. package/dist/use-in-view-QcfiW0w3.cjs.map +0 -1
  458. package/dist/x-BBpi7a_7-mTo40uId.cjs +0 -27
  459. package/dist/zoom-C9MFjAaV.js.map +0 -1
  460. package/dist/zoom-DPw8bba-.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DxXnJ8Ti.cjs","sources":["../node_modules/@turf/helpers/dist/esm/index.js","../node_modules/@turf/meta/dist/esm/index.js","../node_modules/rbush/rbush.min.js","../node_modules/tinyqueue/index.js","../node_modules/point-in-polygon/flat.js","../node_modules/point-in-polygon/nested.js","../node_modules/point-in-polygon/index.js","../node_modules/robust-predicates/umd/orient2d.min.js","../node_modules/concaveman/index.js","../node_modules/@turf/convex/dist/esm/index.js","../node_modules/@turf/centroid/dist/esm/index.js","../node_modules/@turf/invariant/dist/esm/index.js","../node_modules/@turf/center-of-mass/dist/esm/index.js"],"sourcesContent":["// index.ts\nvar earthRadius = 63710088e-1;\nvar factors = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1e3,\n kilometres: earthRadius / 1e3,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1e3,\n millimetres: earthRadius * 1e3,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936\n};\nvar areaFactors = {\n acres: 247105e-9,\n centimeters: 1e4,\n centimetres: 1e4,\n feet: 10.763910417,\n hectares: 1e-4,\n inches: 1550.003100006,\n kilometers: 1e-6,\n kilometres: 1e-6,\n meters: 1,\n metres: 1,\n miles: 386e-9,\n nauticalmiles: 29155334959812285e-23,\n millimeters: 1e6,\n millimetres: 1e6,\n yards: 1.195990046\n};\nfunction feature(geom, properties, options = {}) {\n const feat = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\nfunction geometry(type, coordinates, _options = {}) {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry;\n case \"LineString\":\n return lineString(coordinates).geometry;\n case \"Polygon\":\n return polygon(coordinates).geometry;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\nfunction point(coordinates, properties, options = {}) {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n const geom = {\n type: \"Point\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction points(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\nfunction polygon(coordinates, properties, options = {}) {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom = {\n type: \"Polygon\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction polygons(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\nfunction lineString(coordinates, properties, options = {}) {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom = {\n type: \"LineString\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction lineStrings(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\nfunction featureCollection(features, options = {}) {\n const fc = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\nfunction multiLineString(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiLineString\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction multiPoint(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiPoint\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction multiPolygon(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiPolygon\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction geometryCollection(geometries, properties, options = {}) {\n const geom = {\n type: \"GeometryCollection\",\n geometries\n };\n return feature(geom, properties, options);\n}\nfunction round(num, precision = 0) {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\nfunction radiansToLength(radians, units = \"kilometers\") {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\nfunction lengthToRadians(distance, units = \"kilometers\") {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\nfunction lengthToDegrees(distance, units) {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\nfunction bearingToAzimuth(bearing) {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\nfunction azimuthToBearing(angle) {\n angle = angle % 360;\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n return angle;\n}\nfunction radiansToDegrees(radians) {\n const normalisedRadians = radians % (2 * Math.PI);\n return normalisedRadians * 180 / Math.PI;\n}\nfunction degreesToRadians(degrees) {\n const normalisedDegrees = degrees % 360;\n return normalisedDegrees * Math.PI / 180;\n}\nfunction convertLength(length, originalUnit = \"kilometers\", finalUnit = \"kilometers\") {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\nfunction convertArea(area, originalUnit = \"meters\", finalUnit = \"kilometers\") {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n return area / startFactor * finalFactor;\n}\nfunction isNumber(num) {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\nfunction isObject(input) {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\nfunction validateBBox(bbox) {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\nfunction validateId(id) {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\nexport {\n areaFactors,\n azimuthToBearing,\n bearingToAzimuth,\n convertArea,\n convertLength,\n degreesToRadians,\n earthRadius,\n factors,\n feature,\n featureCollection,\n geometry,\n geometryCollection,\n isNumber,\n isObject,\n lengthToDegrees,\n lengthToRadians,\n lineString,\n lineStrings,\n multiLineString,\n multiPoint,\n multiPolygon,\n point,\n points,\n polygon,\n polygons,\n radiansToDegrees,\n radiansToLength,\n round,\n validateBBox,\n validateId\n};\n//# sourceMappingURL=index.js.map","// index.js\nimport { feature, point, lineString, isObject } from \"@turf/helpers\";\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n if (geojson === null) return;\n var j, k, l, geometry, stopG, coords, geometryMaybeCollection, wrapShrink = 0, coordIndex = 0, isGeometryCollection, type = geojson.type, isFeatureCollection = type === \"FeatureCollection\", isFeature = type === \"Feature\", stop = isFeatureCollection ? geojson.features.length : 1;\n for (var featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = isFeatureCollection ? geojson.features[featureIndex].geometry : isFeature ? geojson.geometry : geojson;\n isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === \"GeometryCollection\" : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {\n var multiFeatureIndex = 0;\n var geometryIndex = 0;\n geometry = isGeometryCollection ? geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n wrapShrink = excludeWrapCoord && (geomType === \"Polygon\" || geomType === \"MultiPolygon\") ? 1 : 0;\n switch (geomType) {\n case null:\n break;\n case \"Point\":\n if (callback(\n coords,\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case \"LineString\":\n case \"MultiPoint\":\n for (j = 0; j < coords.length; j++) {\n if (callback(\n coords[j],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n if (geomType === \"MultiPoint\") multiFeatureIndex++;\n }\n if (geomType === \"LineString\") multiFeatureIndex++;\n break;\n case \"Polygon\":\n case \"MultiLineString\":\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (callback(\n coords[j][k],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n }\n if (geomType === \"MultiLineString\") multiFeatureIndex++;\n if (geomType === \"Polygon\") geometryIndex++;\n }\n if (geomType === \"Polygon\") multiFeatureIndex++;\n break;\n case \"MultiPolygon\":\n for (j = 0; j < coords.length; j++) {\n geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (callback(\n coords[j][k][l],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case \"GeometryCollection\":\n for (j = 0; j < geometry.geometries.length; j++)\n if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false)\n return false;\n break;\n default:\n throw new Error(\"Unknown Geometry Type\");\n }\n }\n }\n}\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(\n geojson,\n function(currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n if (coordIndex === 0 && initialValue === void 0)\n previousValue = currentCoord;\n else\n previousValue = callback(\n previousValue,\n currentCoord,\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n );\n },\n excludeWrapCoord\n );\n return previousValue;\n}\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case \"FeatureCollection\":\n for (i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i].properties, i) === false) break;\n }\n break;\n case \"Feature\":\n callback(geojson.properties, 0);\n break;\n }\n}\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function(currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentProperties;\n else\n previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\nfunction featureEach(geojson, callback) {\n if (geojson.type === \"Feature\") {\n callback(geojson, 0);\n } else if (geojson.type === \"FeatureCollection\") {\n for (var i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i], i) === false) break;\n }\n }\n}\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function(currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function(coord) {\n coords.push(coord);\n });\n return coords;\n}\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG, geometryMaybeCollection, isGeometryCollection, featureProperties, featureBBox, featureId, featureIndex = 0, isFeatureCollection = geojson.type === \"FeatureCollection\", isFeature = geojson.type === \"Feature\", stop = isFeatureCollection ? geojson.features.length : 1;\n for (i = 0; i < stop; i++) {\n geometryMaybeCollection = isFeatureCollection ? geojson.features[i].geometry : isFeature ? geojson.geometry : geojson;\n featureProperties = isFeatureCollection ? geojson.features[i].properties : isFeature ? geojson.properties : {};\n featureBBox = isFeatureCollection ? geojson.features[i].bbox : isFeature ? geojson.bbox : void 0;\n featureId = isFeatureCollection ? geojson.features[i].id : isFeature ? geojson.id : void 0;\n isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === \"GeometryCollection\" : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ? geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n if (geometry === null) {\n if (callback(\n null,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false)\n return false;\n continue;\n }\n switch (geometry.type) {\n case \"Point\":\n case \"LineString\":\n case \"MultiPoint\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\": {\n if (callback(\n geometry,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false)\n return false;\n break;\n }\n case \"GeometryCollection\": {\n for (j = 0; j < geometry.geometries.length; j++) {\n if (callback(\n geometry.geometries[j],\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false)\n return false;\n }\n break;\n }\n default:\n throw new Error(\"Unknown Geometry Type\");\n }\n }\n featureIndex++;\n }\n}\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(\n geojson,\n function(currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentGeometry;\n else\n previousValue = callback(\n previousValue,\n currentGeometry,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n );\n }\n );\n return previousValue;\n}\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function(geometry, featureIndex, properties, bbox, id) {\n var type = geometry === null ? null : geometry.type;\n switch (type) {\n case null:\n case \"Point\":\n case \"LineString\":\n case \"Polygon\":\n if (callback(\n feature(geometry, properties, { bbox, id }),\n featureIndex,\n 0\n ) === false)\n return false;\n return;\n }\n var geomType;\n switch (type) {\n case \"MultiPoint\":\n geomType = \"Point\";\n break;\n case \"MultiLineString\":\n geomType = \"LineString\";\n break;\n case \"MultiPolygon\":\n geomType = \"Polygon\";\n break;\n }\n for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {\n var coordinate = geometry.coordinates[multiFeatureIndex];\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n if (callback(feature(geom, properties), featureIndex, multiFeatureIndex) === false)\n return false;\n }\n });\n}\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(\n geojson,\n function(currentFeature, featureIndex, multiFeatureIndex) {\n if (featureIndex === 0 && multiFeatureIndex === 0 && initialValue === void 0)\n previousValue = currentFeature;\n else\n previousValue = callback(\n previousValue,\n currentFeature,\n featureIndex,\n multiFeatureIndex\n );\n }\n );\n return previousValue;\n}\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function(feature2, featureIndex, multiFeatureIndex) {\n var segmentIndex = 0;\n if (!feature2.geometry) return;\n var type = feature2.geometry.type;\n if (type === \"Point\" || type === \"MultiPoint\") return;\n var previousCoords;\n var previousFeatureIndex = 0;\n var previousMultiIndex = 0;\n var prevGeomIndex = 0;\n if (coordEach(\n feature2,\n function(currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {\n if (previousCoords === void 0 || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex) {\n previousCoords = currentCoord;\n previousFeatureIndex = featureIndex;\n previousMultiIndex = multiPartIndexCoord;\n prevGeomIndex = geometryIndex;\n segmentIndex = 0;\n return;\n }\n var currentSegment = lineString(\n [previousCoords, currentCoord],\n feature2.properties\n );\n if (callback(\n currentSegment,\n featureIndex,\n multiFeatureIndex,\n geometryIndex,\n segmentIndex\n ) === false)\n return false;\n segmentIndex++;\n previousCoords = currentCoord;\n }\n ) === false)\n return false;\n });\n}\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(\n geojson,\n function(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n if (started === false && initialValue === void 0)\n previousValue = currentSegment;\n else\n previousValue = callback(\n previousValue,\n currentSegment,\n featureIndex,\n multiFeatureIndex,\n geometryIndex,\n segmentIndex\n );\n started = true;\n }\n );\n return previousValue;\n}\nfunction lineEach(geojson, callback) {\n if (!geojson) throw new Error(\"geojson is required\");\n flattenEach(geojson, function(feature2, featureIndex, multiFeatureIndex) {\n if (feature2.geometry === null) return;\n var type = feature2.geometry.type;\n var coords = feature2.geometry.coordinates;\n switch (type) {\n case \"LineString\":\n if (callback(feature2, featureIndex, multiFeatureIndex, 0, 0) === false)\n return false;\n break;\n case \"Polygon\":\n for (var geometryIndex = 0; geometryIndex < coords.length; geometryIndex++) {\n if (callback(\n lineString(coords[geometryIndex], feature2.properties),\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n }\n break;\n }\n });\n}\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(\n geojson,\n function(currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentLine;\n else\n previousValue = callback(\n previousValue,\n currentLine,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n );\n }\n );\n return previousValue;\n}\nfunction findSegment(geojson, options) {\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var segmentIndex = options.segmentIndex || 0;\n var properties = options.properties;\n var geometry;\n switch (geojson.type) {\n case \"FeatureCollection\":\n if (featureIndex < 0)\n featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case \"Feature\":\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\":\n geometry = geojson;\n break;\n default:\n throw new Error(\"geojson is invalid\");\n }\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n if (segmentIndex < 0) segmentIndex = coords.length + segmentIndex - 1;\n return lineString(\n [coords[segmentIndex], coords[segmentIndex + 1]],\n properties,\n options\n );\n case \"Polygon\":\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[geometryIndex].length + segmentIndex - 1;\n return lineString(\n [\n coords[geometryIndex][segmentIndex],\n coords[geometryIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n case \"MultiLineString\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[multiFeatureIndex].length + segmentIndex - 1;\n return lineString(\n [\n coords[multiFeatureIndex][segmentIndex],\n coords[multiFeatureIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n case \"MultiPolygon\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0)\n geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[multiFeatureIndex][geometryIndex].length - segmentIndex - 1;\n return lineString(\n [\n coords[multiFeatureIndex][geometryIndex][segmentIndex],\n coords[multiFeatureIndex][geometryIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n }\n throw new Error(\"geojson is invalid\");\n}\nfunction findPoint(geojson, options) {\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var coordIndex = options.coordIndex || 0;\n var properties = options.properties;\n var geometry;\n switch (geojson.type) {\n case \"FeatureCollection\":\n if (featureIndex < 0)\n featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case \"Feature\":\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\":\n geometry = geojson;\n break;\n default:\n throw new Error(\"geojson is invalid\");\n }\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case \"Point\":\n return point(coords, properties, options);\n case \"MultiPoint\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n return point(coords[multiFeatureIndex], properties, options);\n case \"LineString\":\n if (coordIndex < 0) coordIndex = coords.length + coordIndex;\n return point(coords[coordIndex], properties, options);\n case \"Polygon\":\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (coordIndex < 0)\n coordIndex = coords[geometryIndex].length + coordIndex;\n return point(coords[geometryIndex][coordIndex], properties, options);\n case \"MultiLineString\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (coordIndex < 0)\n coordIndex = coords[multiFeatureIndex].length + coordIndex;\n return point(coords[multiFeatureIndex][coordIndex], properties, options);\n case \"MultiPolygon\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0)\n geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (coordIndex < 0)\n coordIndex = coords[multiFeatureIndex][geometryIndex].length - coordIndex;\n return point(\n coords[multiFeatureIndex][geometryIndex][coordIndex],\n properties,\n options\n );\n }\n throw new Error(\"geojson is invalid\");\n}\nexport {\n coordAll,\n coordEach,\n coordReduce,\n featureEach,\n featureReduce,\n findPoint,\n findSegment,\n flattenEach,\n flattenReduce,\n geomEach,\n geomReduce,\n lineEach,\n lineReduce,\n propEach,\n propReduce,\n segmentEach,\n segmentReduce\n};\n//# sourceMappingURL=index.js.map","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=t||self).RBush=i()}(this,function(){\"use strict\";function t(t,r,e,a,h){!function t(n,r,e,a,h){for(;a>e;){if(a-e>600){var o=a-e+1,s=r-e+1,l=Math.log(o),f=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*f*(o-f)/o)*(s-o/2<0?-1:1),m=Math.max(e,Math.floor(r-s*f/o+u)),c=Math.min(a,Math.floor(r+(o-s)*f/o+u));t(n,r,m,c,h)}var p=n[r],d=e,x=a;for(i(n,e,r),h(n[a],p)>0&&i(n,e,a);d<x;){for(i(n,d,x),d++,x--;h(n[d],p)<0;)d++;for(;h(n[x],p)>0;)x--}0===h(n[e],p)?i(n,e,x):i(n,++x,a),x<=r&&(e=x+1),r<=x&&(a=x-1)}}(t,r,e||0,a||t.length-1,h||n)}function i(t,i,n){var r=t[i];t[i]=t[n],t[n]=r}function n(t,i){return t<i?-1:t>i?1:0}var r=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function e(t,i,n){if(!n)return i.indexOf(t);for(var r=0;r<i.length;r++)if(n(t,i[r]))return r;return-1}function a(t,i){h(t,0,t.children.length,i,t)}function h(t,i,n,r,e){e||(e=p(null)),e.minX=1/0,e.minY=1/0,e.maxX=-1/0,e.maxY=-1/0;for(var a=i;a<n;a++){var h=t.children[a];o(e,t.leaf?r(h):h)}return e}function o(t,i){return t.minX=Math.min(t.minX,i.minX),t.minY=Math.min(t.minY,i.minY),t.maxX=Math.max(t.maxX,i.maxX),t.maxY=Math.max(t.maxY,i.maxY),t}function s(t,i){return t.minX-i.minX}function l(t,i){return t.minY-i.minY}function f(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function u(t){return t.maxX-t.minX+(t.maxY-t.minY)}function m(t,i){return t.minX<=i.minX&&t.minY<=i.minY&&i.maxX<=t.maxX&&i.maxY<=t.maxY}function c(t,i){return i.minX<=t.maxX&&i.minY<=t.maxY&&i.maxX>=t.minX&&i.maxY>=t.minY}function p(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function d(i,n,r,e,a){for(var h=[n,r];h.length;)if(!((r=h.pop())-(n=h.pop())<=e)){var o=n+Math.ceil((r-n)/e/2)*e;t(i,o,n,r,a),h.push(n,o,o,r)}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(t){var i=this.data,n=[];if(!c(t,i))return n;for(var r=this.toBBox,e=[];i;){for(var a=0;a<i.children.length;a++){var h=i.children[a],o=i.leaf?r(h):h;c(t,o)&&(i.leaf?n.push(h):m(t,o)?this._all(h,n):e.push(h))}i=e.pop()}return n},r.prototype.collides=function(t){var i=this.data;if(!c(t,i))return!1;for(var n=[];i;){for(var r=0;r<i.children.length;r++){var e=i.children[r],a=i.leaf?this.toBBox(e):e;if(c(t,a)){if(i.leaf||m(t,a))return!0;n.push(e)}}i=n.pop()}return!1},r.prototype.load=function(t){if(!t||!t.length)return this;if(t.length<this._minEntries){for(var i=0;i<t.length;i++)this.insert(t[i]);return this}var n=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===n.height)this._splitRoot(this.data,n);else{if(this.data.height<n.height){var r=this.data;this.data=n,n=r}this._insert(n,this.data.height-n.height-1,!0)}else this.data=n;return this},r.prototype.insert=function(t){return t&&this._insert(t,this.data.height-1),this},r.prototype.clear=function(){return this.data=p([]),this},r.prototype.remove=function(t,i){if(!t)return this;for(var n,r,a,h=this.data,o=this.toBBox(t),s=[],l=[];h||s.length;){if(h||(h=s.pop(),r=s[s.length-1],n=l.pop(),a=!0),h.leaf){var f=e(t,h.children,i);if(-1!==f)return h.children.splice(f,1),s.push(h),this._condense(s),this}a||h.leaf||!m(h,o)?r?(n++,h=r.children[n],a=!1):h=null:(s.push(h),l.push(n),n=0,r=h,h=h.children[0])}return this},r.prototype.toBBox=function(t){return t},r.prototype.compareMinX=function(t,i){return t.minX-i.minX},r.prototype.compareMinY=function(t,i){return t.minY-i.minY},r.prototype.toJSON=function(){return this.data},r.prototype.fromJSON=function(t){return this.data=t,this},r.prototype._all=function(t,i){for(var n=[];t;)t.leaf?i.push.apply(i,t.children):n.push.apply(n,t.children),t=n.pop();return i},r.prototype._build=function(t,i,n,r){var e,h=n-i+1,o=this._maxEntries;if(h<=o)return a(e=p(t.slice(i,n+1)),this.toBBox),e;r||(r=Math.ceil(Math.log(h)/Math.log(o)),o=Math.ceil(h/Math.pow(o,r-1))),(e=p([])).leaf=!1,e.height=r;var s=Math.ceil(h/o),l=s*Math.ceil(Math.sqrt(o));d(t,i,n,l,this.compareMinX);for(var f=i;f<=n;f+=l){var u=Math.min(f+l-1,n);d(t,f,u,s,this.compareMinY);for(var m=f;m<=u;m+=s){var c=Math.min(m+s-1,u);e.children.push(this._build(t,m,c,r-1))}}return a(e,this.toBBox),e},r.prototype._chooseSubtree=function(t,i,n,r){for(;r.push(i),!i.leaf&&r.length-1!==n;){for(var e=1/0,a=1/0,h=void 0,o=0;o<i.children.length;o++){var s=i.children[o],l=f(s),u=(m=t,c=s,(Math.max(c.maxX,m.maxX)-Math.min(c.minX,m.minX))*(Math.max(c.maxY,m.maxY)-Math.min(c.minY,m.minY))-l);u<a?(a=u,e=l<e?l:e,h=s):u===a&&l<e&&(e=l,h=s)}i=h||i.children[0]}var m,c;return i},r.prototype._insert=function(t,i,n){var r=n?t:this.toBBox(t),e=[],a=this._chooseSubtree(r,this.data,i,e);for(a.children.push(t),o(a,r);i>=0&&e[i].children.length>this._maxEntries;)this._split(e,i),i--;this._adjustParentBBoxes(r,e,i)},r.prototype._split=function(t,i){var n=t[i],r=n.children.length,e=this._minEntries;this._chooseSplitAxis(n,e,r);var h=this._chooseSplitIndex(n,e,r),o=p(n.children.splice(h,n.children.length-h));o.height=n.height,o.leaf=n.leaf,a(n,this.toBBox),a(o,this.toBBox),i?t[i-1].children.push(o):this._splitRoot(n,o)},r.prototype._splitRoot=function(t,i){this.data=p([t,i]),this.data.height=t.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},r.prototype._chooseSplitIndex=function(t,i,n){for(var r,e,a,o,s,l,u,m=1/0,c=1/0,p=i;p<=n-i;p++){var d=h(t,0,p,this.toBBox),x=h(t,p,n,this.toBBox),v=(e=d,a=x,o=void 0,s=void 0,l=void 0,u=void 0,o=Math.max(e.minX,a.minX),s=Math.max(e.minY,a.minY),l=Math.min(e.maxX,a.maxX),u=Math.min(e.maxY,a.maxY),Math.max(0,l-o)*Math.max(0,u-s)),M=f(d)+f(x);v<m?(m=v,r=p,c=M<c?M:c):v===m&&M<c&&(c=M,r=p)}return r||n-i},r.prototype._chooseSplitAxis=function(t,i,n){var r=t.leaf?this.compareMinX:s,e=t.leaf?this.compareMinY:l;this._allDistMargin(t,i,n,r)<this._allDistMargin(t,i,n,e)&&t.children.sort(r)},r.prototype._allDistMargin=function(t,i,n,r){t.children.sort(r);for(var e=this.toBBox,a=h(t,0,i,e),s=h(t,n-i,n,e),l=u(a)+u(s),f=i;f<n-i;f++){var m=t.children[f];o(a,t.leaf?e(m):m),l+=u(a)}for(var c=n-i-1;c>=i;c--){var p=t.children[c];o(s,t.leaf?e(p):p),l+=u(s)}return l},r.prototype._adjustParentBBoxes=function(t,i,n){for(var r=n;r>=0;r--)o(i[r],t)},r.prototype._condense=function(t){for(var i=t.length-1,n=void 0;i>=0;i--)0===t[i].children.length?i>0?(n=t[i-1].children).splice(n.indexOf(t[i]),1):this.clear():a(t[i],this.toBBox)},r});\n","\nexport default class TinyQueue {\n constructor(data = [], compare = defaultCompare) {\n this.data = data;\n this.length = this.data.length;\n this.compare = compare;\n\n if (this.length > 0) {\n for (let i = (this.length >> 1) - 1; i >= 0; i--) this._down(i);\n }\n }\n\n push(item) {\n this.data.push(item);\n this.length++;\n this._up(this.length - 1);\n }\n\n pop() {\n if (this.length === 0) return undefined;\n\n const top = this.data[0];\n const bottom = this.data.pop();\n this.length--;\n\n if (this.length > 0) {\n this.data[0] = bottom;\n this._down(0);\n }\n\n return top;\n }\n\n peek() {\n return this.data[0];\n }\n\n _up(pos) {\n const {data, compare} = this;\n const item = data[pos];\n\n while (pos > 0) {\n const parent = (pos - 1) >> 1;\n const current = data[parent];\n if (compare(item, current) >= 0) break;\n data[pos] = current;\n pos = parent;\n }\n\n data[pos] = item;\n }\n\n _down(pos) {\n const {data, compare} = this;\n const halfLength = this.length >> 1;\n const item = data[pos];\n\n while (pos < halfLength) {\n let left = (pos << 1) + 1;\n let best = data[left];\n const right = left + 1;\n\n if (right < this.length && compare(data[right], best) < 0) {\n left = right;\n best = data[right];\n }\n if (compare(best, item) >= 0) break;\n\n data[pos] = best;\n pos = left;\n }\n\n data[pos] = item;\n }\n}\n\nfunction defaultCompare(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n","module.exports = function pointInPolygonFlat (point, vs, start, end) {\n var x = point[0], y = point[1];\n var inside = false;\n if (start === undefined) start = 0;\n if (end === undefined) end = vs.length;\n var len = (end-start)/2;\n for (var i = 0, j = len - 1; i < len; j = i++) {\n var xi = vs[start+i*2+0], yi = vs[start+i*2+1];\n var xj = vs[start+j*2+0], yj = vs[start+j*2+1];\n var intersect = ((yi > y) !== (yj > y))\n && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect) inside = !inside;\n }\n return inside;\n};\n","// ray-casting algorithm based on\n// https://wrf.ecse.rpi.edu/Research/Short_Notes/pnpoly.html\n\nmodule.exports = function pointInPolygonNested (point, vs, start, end) {\n var x = point[0], y = point[1];\n var inside = false;\n if (start === undefined) start = 0;\n if (end === undefined) end = vs.length;\n var len = end - start;\n for (var i = 0, j = len - 1; i < len; j = i++) {\n var xi = vs[i+start][0], yi = vs[i+start][1];\n var xj = vs[j+start][0], yj = vs[j+start][1];\n var intersect = ((yi > y) !== (yj > y))\n && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect) inside = !inside;\n }\n return inside;\n};\n","var pointInPolygonFlat = require('./flat.js')\nvar pointInPolygonNested = require('./nested.js')\n\nmodule.exports = function pointInPolygon (point, vs, start, end) {\n if (vs.length > 0 && Array.isArray(vs[0])) {\n return pointInPolygonNested(point, vs, start, end);\n } else {\n return pointInPolygonFlat(point, vs, start, end);\n }\n}\nmodule.exports.nested = pointInPolygonNested\nmodule.exports.flat = pointInPolygonFlat\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=t||self).predicates={})}(this,function(t){\"use strict\";const e=134217729,n=33306690738754706e-32;function r(t,e,n,r,o){let f,i,u,c,s=e[0],a=r[0],d=0,l=0;a>s==a>-s?(f=s,s=e[++d]):(f=a,a=r[++l]);let p=0;if(d<t&&l<n)for(a>s==a>-s?(u=f-((i=s+f)-s),s=e[++d]):(u=f-((i=a+f)-a),a=r[++l]),f=i,0!==u&&(o[p++]=u);d<t&&l<n;)a>s==a>-s?(u=f-((i=f+s)-(c=i-f))+(s-c),s=e[++d]):(u=f-((i=f+a)-(c=i-f))+(a-c),a=r[++l]),f=i,0!==u&&(o[p++]=u);for(;d<t;)u=f-((i=f+s)-(c=i-f))+(s-c),s=e[++d],f=i,0!==u&&(o[p++]=u);for(;l<n;)u=f-((i=f+a)-(c=i-f))+(a-c),a=r[++l],f=i,0!==u&&(o[p++]=u);return 0===f&&0!==p||(o[p++]=f),p}function o(t){return new Float64Array(t)}const f=33306690738754716e-32,i=22204460492503146e-32,u=11093356479670487e-47,c=o(4),s=o(8),a=o(12),d=o(16),l=o(4);t.orient2d=function(t,o,p,b,y,h){const M=(o-h)*(p-y),x=(t-y)*(b-h),j=M-x;if(0===M||0===x||M>0!=x>0)return j;const m=Math.abs(M+x);return Math.abs(j)>=f*m?j:-function(t,o,f,p,b,y,h){let M,x,j,m,_,v,w,A,F,O,P,g,k,q,z,B,C,D;const E=t-b,G=f-b,H=o-y,I=p-y;_=(z=(A=E-(w=(v=e*E)-(v-E)))*(O=I-(F=(v=e*I)-(v-I)))-((q=E*I)-w*F-A*F-w*O))-(P=z-(C=(A=H-(w=(v=e*H)-(v-H)))*(O=G-(F=(v=e*G)-(v-G)))-((B=H*G)-w*F-A*F-w*O))),c[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),c[1]=k-(P+_)+(_-B),_=(D=g+P)-g,c[2]=g-(D-_)+(P-_),c[3]=D;let J=function(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}(4,c),K=i*h;if(J>=K||-J>=K)return J;if(M=t-(E+(_=t-E))+(_-b),j=f-(G+(_=f-G))+(_-b),x=o-(H+(_=o-H))+(_-y),m=p-(I+(_=p-I))+(_-y),0===M&&0===x&&0===j&&0===m)return J;if(K=u*h+n*Math.abs(J),(J+=E*m+I*M-(H*j+G*x))>=K||-J>=K)return J;_=(z=(A=M-(w=(v=e*M)-(v-M)))*(O=I-(F=(v=e*I)-(v-I)))-((q=M*I)-w*F-A*F-w*O))-(P=z-(C=(A=x-(w=(v=e*x)-(v-x)))*(O=G-(F=(v=e*G)-(v-G)))-((B=x*G)-w*F-A*F-w*O))),l[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),l[1]=k-(P+_)+(_-B),_=(D=g+P)-g,l[2]=g-(D-_)+(P-_),l[3]=D;const L=r(4,c,4,l,s);_=(z=(A=E-(w=(v=e*E)-(v-E)))*(O=m-(F=(v=e*m)-(v-m)))-((q=E*m)-w*F-A*F-w*O))-(P=z-(C=(A=H-(w=(v=e*H)-(v-H)))*(O=j-(F=(v=e*j)-(v-j)))-((B=H*j)-w*F-A*F-w*O))),l[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),l[1]=k-(P+_)+(_-B),_=(D=g+P)-g,l[2]=g-(D-_)+(P-_),l[3]=D;const N=r(L,s,4,l,a);_=(z=(A=M-(w=(v=e*M)-(v-M)))*(O=m-(F=(v=e*m)-(v-m)))-((q=M*m)-w*F-A*F-w*O))-(P=z-(C=(A=x-(w=(v=e*x)-(v-x)))*(O=j-(F=(v=e*j)-(v-j)))-((B=x*j)-w*F-A*F-w*O))),l[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),l[1]=k-(P+_)+(_-B),_=(D=g+P)-g,l[2]=g-(D-_)+(P-_),l[3]=D;const Q=r(N,a,4,l,d);return d[Q-1]}(t,o,p,b,y,h,m)},t.orient2dfast=function(t,e,n,r,o,f){return(e-f)*(n-o)-(t-o)*(r-f)},Object.defineProperty(t,\"__esModule\",{value:!0})});\n","'use strict';\n\nvar RBush = require('rbush');\nvar Queue = require('tinyqueue');\nvar pointInPolygon = require('point-in-polygon');\nvar orient = require('robust-predicates/umd/orient2d.min.js').orient2d;\n\n// Fix for require issue in webpack https://github.com/mapbox/concaveman/issues/18\nif (Queue.default) {\n Queue = Queue.default;\n}\n\nmodule.exports = concaveman;\nmodule.exports.default = concaveman;\n\nfunction concaveman(points, concavity, lengthThreshold) {\n // a relative measure of concavity; higher value means simpler hull\n concavity = Math.max(0, concavity === undefined ? 2 : concavity);\n\n // when a segment goes below this length threshold, it won't be drilled down further\n lengthThreshold = lengthThreshold || 0;\n\n // start with a convex hull of the points\n var hull = fastConvexHull(points);\n\n // index the points with an R-tree\n var tree = new RBush(16);\n tree.toBBox = function (a) {\n return {\n minX: a[0],\n minY: a[1],\n maxX: a[0],\n maxY: a[1]\n };\n };\n tree.compareMinX = function (a, b) { return a[0] - b[0]; };\n tree.compareMinY = function (a, b) { return a[1] - b[1]; };\n\n tree.load(points);\n\n // turn the convex hull into a linked list and populate the initial edge queue with the nodes\n var queue = [];\n for (var i = 0, last; i < hull.length; i++) {\n var p = hull[i];\n tree.remove(p);\n last = insertNode(p, last);\n queue.push(last);\n }\n\n // index the segments with an R-tree (for intersection checks)\n var segTree = new RBush(16);\n for (i = 0; i < queue.length; i++) segTree.insert(updateBBox(queue[i]));\n\n var sqConcavity = concavity * concavity;\n var sqLenThreshold = lengthThreshold * lengthThreshold;\n\n // process edges one by one\n while (queue.length) {\n var node = queue.shift();\n var a = node.p;\n var b = node.next.p;\n\n // skip the edge if it's already short enough\n var sqLen = getSqDist(a, b);\n if (sqLen < sqLenThreshold) continue;\n\n var maxSqLen = sqLen / sqConcavity;\n\n // find the best connection point for the current edge to flex inward to\n p = findCandidate(tree, node.prev.p, a, b, node.next.next.p, maxSqLen, segTree);\n\n // if we found a connection and it satisfies our concavity measure\n if (p && Math.min(getSqDist(p, a), getSqDist(p, b)) <= maxSqLen) {\n // connect the edge endpoints through this point and add 2 new edges to the queue\n queue.push(node);\n queue.push(insertNode(p, node));\n\n // update point and segment indexes\n tree.remove(p);\n segTree.remove(node);\n segTree.insert(updateBBox(node));\n segTree.insert(updateBBox(node.next));\n }\n }\n\n // convert the resulting hull linked list to an array of points\n node = last;\n var concave = [];\n do {\n concave.push(node.p);\n node = node.next;\n } while (node !== last);\n\n concave.push(node.p);\n\n return concave;\n}\n\nfunction findCandidate(tree, a, b, c, d, maxDist, segTree) {\n var queue = new Queue([], compareDist);\n var node = tree.data;\n\n // search through the point R-tree with a depth-first search using a priority queue\n // in the order of distance to the edge (b, c)\n while (node) {\n for (var i = 0; i < node.children.length; i++) {\n var child = node.children[i];\n\n var dist = node.leaf ? sqSegDist(child, b, c) : sqSegBoxDist(b, c, child);\n if (dist > maxDist) continue; // skip the node if it's farther than we ever need\n\n queue.push({\n node: child,\n dist: dist\n });\n }\n\n while (queue.length && !queue.peek().node.children) {\n var item = queue.pop();\n var p = item.node;\n\n // skip all points that are as close to adjacent edges (a,b) and (c,d),\n // and points that would introduce self-intersections when connected\n var d0 = sqSegDist(p, a, b);\n var d1 = sqSegDist(p, c, d);\n if (item.dist < d0 && item.dist < d1 &&\n noIntersections(b, p, segTree) &&\n noIntersections(c, p, segTree)) return p;\n }\n\n node = queue.pop();\n if (node) node = node.node;\n }\n\n return null;\n}\n\nfunction compareDist(a, b) {\n return a.dist - b.dist;\n}\n\n// square distance from a segment bounding box to the given one\nfunction sqSegBoxDist(a, b, bbox) {\n if (inside(a, bbox) || inside(b, bbox)) return 0;\n var d1 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.minX, bbox.minY, bbox.maxX, bbox.minY);\n if (d1 === 0) return 0;\n var d2 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.minX, bbox.minY, bbox.minX, bbox.maxY);\n if (d2 === 0) return 0;\n var d3 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.maxX, bbox.minY, bbox.maxX, bbox.maxY);\n if (d3 === 0) return 0;\n var d4 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.minX, bbox.maxY, bbox.maxX, bbox.maxY);\n if (d4 === 0) return 0;\n return Math.min(d1, d2, d3, d4);\n}\n\nfunction inside(a, bbox) {\n return a[0] >= bbox.minX &&\n a[0] <= bbox.maxX &&\n a[1] >= bbox.minY &&\n a[1] <= bbox.maxY;\n}\n\n// check if the edge (a,b) doesn't intersect any other edges\nfunction noIntersections(a, b, segTree) {\n var minX = Math.min(a[0], b[0]);\n var minY = Math.min(a[1], b[1]);\n var maxX = Math.max(a[0], b[0]);\n var maxY = Math.max(a[1], b[1]);\n\n var edges = segTree.search({minX: minX, minY: minY, maxX: maxX, maxY: maxY});\n for (var i = 0; i < edges.length; i++) {\n if (intersects(edges[i].p, edges[i].next.p, a, b)) return false;\n }\n return true;\n}\n\nfunction cross(p1, p2, p3) {\n return orient(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\n// check if the edges (p1,q1) and (p2,q2) intersect\nfunction intersects(p1, q1, p2, q2) {\n return p1 !== q2 && q1 !== p2 &&\n cross(p1, q1, p2) > 0 !== cross(p1, q1, q2) > 0 &&\n cross(p2, q2, p1) > 0 !== cross(p2, q2, q1) > 0;\n}\n\n// update the bounding box of a node's edge\nfunction updateBBox(node) {\n var p1 = node.p;\n var p2 = node.next.p;\n node.minX = Math.min(p1[0], p2[0]);\n node.minY = Math.min(p1[1], p2[1]);\n node.maxX = Math.max(p1[0], p2[0]);\n node.maxY = Math.max(p1[1], p2[1]);\n return node;\n}\n\n// speed up convex hull by filtering out points inside quadrilateral formed by 4 extreme points\nfunction fastConvexHull(points) {\n var left = points[0];\n var top = points[0];\n var right = points[0];\n var bottom = points[0];\n\n // find the leftmost, rightmost, topmost and bottommost points\n for (var i = 0; i < points.length; i++) {\n var p = points[i];\n if (p[0] < left[0]) left = p;\n if (p[0] > right[0]) right = p;\n if (p[1] < top[1]) top = p;\n if (p[1] > bottom[1]) bottom = p;\n }\n\n // filter out points that are inside the resulting quadrilateral\n var cull = [left, top, right, bottom];\n var filtered = cull.slice();\n for (i = 0; i < points.length; i++) {\n if (!pointInPolygon(points[i], cull)) filtered.push(points[i]);\n }\n\n // get convex hull around the filtered points\n return convexHull(filtered);\n}\n\n// create a new node in a doubly linked list\nfunction insertNode(p, prev) {\n var node = {\n p: p,\n prev: null,\n next: null,\n minX: 0,\n minY: 0,\n maxX: 0,\n maxY: 0\n };\n\n if (!prev) {\n node.prev = node;\n node.next = node;\n\n } else {\n node.next = prev.next;\n node.prev = prev;\n prev.next.prev = node;\n prev.next = node;\n }\n return node;\n}\n\n// square distance between 2 points\nfunction getSqDist(p1, p2) {\n\n var dx = p1[0] - p2[0],\n dy = p1[1] - p2[1];\n\n return dx * dx + dy * dy;\n}\n\n// square distance from a point to a segment\nfunction sqSegDist(p, p1, p2) {\n\n var x = p1[0],\n y = p1[1],\n dx = p2[0] - x,\n dy = p2[1] - y;\n\n if (dx !== 0 || dy !== 0) {\n\n var t = ((p[0] - x) * dx + (p[1] - y) * dy) / (dx * dx + dy * dy);\n\n if (t > 1) {\n x = p2[0];\n y = p2[1];\n\n } else if (t > 0) {\n x += dx * t;\n y += dy * t;\n }\n }\n\n dx = p[0] - x;\n dy = p[1] - y;\n\n return dx * dx + dy * dy;\n}\n\n// segment to segment distance, ported from http://geomalgorithms.com/a07-_distance.html by Dan Sunday\nfunction sqSegSegDist(x0, y0, x1, y1, x2, y2, x3, y3) {\n var ux = x1 - x0;\n var uy = y1 - y0;\n var vx = x3 - x2;\n var vy = y3 - y2;\n var wx = x0 - x2;\n var wy = y0 - y2;\n var a = ux * ux + uy * uy;\n var b = ux * vx + uy * vy;\n var c = vx * vx + vy * vy;\n var d = ux * wx + uy * wy;\n var e = vx * wx + vy * wy;\n var D = a * c - b * b;\n\n var sc, sN, tc, tN;\n var sD = D;\n var tD = D;\n\n if (D === 0) {\n sN = 0;\n sD = 1;\n tN = e;\n tD = c;\n } else {\n sN = b * e - c * d;\n tN = a * e - b * d;\n if (sN < 0) {\n sN = 0;\n tN = e;\n tD = c;\n } else if (sN > sD) {\n sN = sD;\n tN = e + b;\n tD = c;\n }\n }\n\n if (tN < 0.0) {\n tN = 0.0;\n if (-d < 0.0) sN = 0.0;\n else if (-d > a) sN = sD;\n else {\n sN = -d;\n sD = a;\n }\n } else if (tN > tD) {\n tN = tD;\n if ((-d + b) < 0.0) sN = 0;\n else if (-d + b > a) sN = sD;\n else {\n sN = -d + b;\n sD = a;\n }\n }\n\n sc = sN === 0 ? 0 : sN / sD;\n tc = tN === 0 ? 0 : tN / tD;\n\n var cx = (1 - sc) * x0 + sc * x1;\n var cy = (1 - sc) * y0 + sc * y1;\n var cx2 = (1 - tc) * x2 + tc * x3;\n var cy2 = (1 - tc) * y2 + tc * y3;\n var dx = cx2 - cx;\n var dy = cy2 - cy;\n\n return dx * dx + dy * dy;\n}\n\nfunction compareByX(a, b) {\n return a[0] === b[0] ? a[1] - b[1] : a[0] - b[0];\n}\n\nfunction convexHull(points) {\n points.sort(compareByX);\n\n var lower = [];\n for (var i = 0; i < points.length; i++) {\n while (lower.length >= 2 && cross(lower[lower.length - 2], lower[lower.length - 1], points[i]) <= 0) {\n lower.pop();\n }\n lower.push(points[i]);\n }\n\n var upper = [];\n for (var ii = points.length - 1; ii >= 0; ii--) {\n while (upper.length >= 2 && cross(upper[upper.length - 2], upper[upper.length - 1], points[ii]) <= 0) {\n upper.pop();\n }\n upper.push(points[ii]);\n }\n\n upper.pop();\n lower.pop();\n return lower.concat(upper);\n}\n","// index.ts\nimport { polygon } from \"@turf/helpers\";\nimport { coordEach } from \"@turf/meta\";\nimport concaveman from \"concaveman\";\nfunction convex(geojson, options = {}) {\n options.concavity = options.concavity || Infinity;\n const points = [];\n coordEach(geojson, (coord) => {\n points.push([coord[0], coord[1]]);\n });\n if (!points.length) {\n return null;\n }\n const convexHull = concaveman(points, options.concavity);\n if (convexHull.length > 3) {\n return polygon([convexHull]);\n }\n return null;\n}\nvar turf_convex_default = convex;\nexport {\n convex,\n turf_convex_default as default\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { point } from \"@turf/helpers\";\nimport { coordEach } from \"@turf/meta\";\nfunction centroid(geojson, options = {}) {\n let xSum = 0;\n let ySum = 0;\n let len = 0;\n coordEach(\n geojson,\n function(coord) {\n xSum += coord[0];\n ySum += coord[1];\n len++;\n },\n true\n );\n return point([xSum / len, ySum / len], options.properties);\n}\nvar turf_centroid_default = centroid;\nexport {\n centroid,\n turf_centroid_default as default\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { isNumber } from \"@turf/helpers\";\nfunction getCoord(coord) {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n if (!Array.isArray(coord)) {\n if (coord.type === \"Feature\" && coord.geometry !== null && coord.geometry.type === \"Point\") {\n return [...coord.geometry.coordinates];\n }\n if (coord.type === \"Point\") {\n return [...coord.coordinates];\n }\n }\n if (Array.isArray(coord) && coord.length >= 2 && !Array.isArray(coord[0]) && !Array.isArray(coord[1])) {\n return [...coord];\n }\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\nfunction getCoords(coords) {\n if (Array.isArray(coords)) {\n return coords;\n }\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n } else {\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n throw new Error(\n \"coords must be GeoJSON Feature, Geometry Object or an Array\"\n );\n}\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 && isNumber(coordinates[0]) && isNumber(coordinates[1])) {\n return true;\n }\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\nfunction geojsonType(value, type, name) {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n if (!value || value.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + value.type\n );\n }\n}\nfunction featureOf(feature, type, name) {\n if (!feature) {\n throw new Error(\"No feature passed\");\n }\n if (!name) {\n throw new Error(\".featureOf() requires a name\");\n }\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n}\nfunction collectionOf(featureCollection, type, name) {\n if (!featureCollection) {\n throw new Error(\"No featureCollection passed\");\n }\n if (!name) {\n throw new Error(\".collectionOf() requires a name\");\n }\n if (!featureCollection || featureCollection.type !== \"FeatureCollection\") {\n throw new Error(\n \"Invalid input to \" + name + \", FeatureCollection required\"\n );\n }\n for (const feature of featureCollection.features) {\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n }\n}\nfunction getGeom(geojson) {\n if (geojson.type === \"Feature\") {\n return geojson.geometry;\n }\n return geojson;\n}\nfunction getType(geojson, _name) {\n if (geojson.type === \"FeatureCollection\") {\n return \"FeatureCollection\";\n }\n if (geojson.type === \"GeometryCollection\") {\n return \"GeometryCollection\";\n }\n if (geojson.type === \"Feature\" && geojson.geometry !== null) {\n return geojson.geometry.type;\n }\n return geojson.type;\n}\nexport {\n collectionOf,\n containsNumber,\n featureOf,\n geojsonType,\n getCoord,\n getCoords,\n getGeom,\n getType\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { convex } from \"@turf/convex\";\nimport { centroid } from \"@turf/centroid\";\nimport { point } from \"@turf/helpers\";\nimport { getType, getCoord } from \"@turf/invariant\";\nimport { coordEach } from \"@turf/meta\";\nfunction centerOfMass(geojson, options = {}) {\n switch (getType(geojson)) {\n case \"Point\":\n return point(getCoord(geojson), options.properties);\n case \"Polygon\":\n var coords = [];\n coordEach(geojson, function(coord) {\n coords.push(coord);\n });\n var centre = centroid(geojson, { properties: options.properties });\n var translation = centre.geometry.coordinates;\n var sx = 0;\n var sy = 0;\n var sArea = 0;\n var i, pi, pj, xi, xj, yi, yj, a;\n var neutralizedPoints = coords.map(function(point2) {\n return [point2[0] - translation[0], point2[1] - translation[1]];\n });\n for (i = 0; i < coords.length - 1; i++) {\n pi = neutralizedPoints[i];\n xi = pi[0];\n yi = pi[1];\n pj = neutralizedPoints[i + 1];\n xj = pj[0];\n yj = pj[1];\n a = xi * yj - xj * yi;\n sArea += a;\n sx += (xi + xj) * a;\n sy += (yi + yj) * a;\n }\n if (sArea === 0) {\n return centre;\n } else {\n var area = sArea * 0.5;\n var areaFactor = 1 / (6 * area);\n return point(\n [translation[0] + areaFactor * sx, translation[1] + areaFactor * sy],\n options.properties\n );\n }\n default:\n var hull = convex(geojson);\n if (hull) return centerOfMass(hull, { properties: options.properties });\n else return centroid(geojson, { properties: options.properties });\n }\n}\nvar turf_center_of_mass_default = centerOfMass;\nexport {\n centerOfMass,\n turf_center_of_mass_default as default\n};\n//# sourceMappingURL=index.js.map"],"names":["earthRadius","feature","geom","properties","options","feat","point","coordinates","isNumber","polygon","ring","j","num","coordEach","geojson","callback","excludeWrapCoord","k","l","geometry","stopG","coords","geometryMaybeCollection","wrapShrink","coordIndex","isGeometryCollection","type","isFeatureCollection","isFeature","stop","featureIndex","geomIndex","multiFeatureIndex","geometryIndex","geomType","geomEach","i","featureProperties","featureBBox","featureId","geomReduce","initialValue","previousValue","currentGeometry","t","module","this","r","e","a","h","n","o","s","f","u","m","c","d","p","x","v","M","TinyQueue","data","compare","defaultCompare","item","top","bottom","pos","parent","current","halfLength","left","best","right","b","flat","vs","start","end","y","inside","len","xi","yi","xj","yj","intersect","nested","pointInPolygonFlat","require$$0","pointInPolygonNested","require$$1","pointInPolygonModule","exports","_","w","A","F","O","g","q","z","B","C","D","E","G","H","I","J","K","L","N","Q","RBush","Queue","pointInPolygon","require$$2","orient","require$$3","concavemanModule","concaveman","points","concavity","lengthThreshold","hull","fastConvexHull","tree","queue","last","insertNode","segTree","updateBBox","sqConcavity","sqLenThreshold","node","sqLen","getSqDist","maxSqLen","findCandidate","concave","maxDist","compareDist","child","dist","sqSegDist","sqSegBoxDist","d0","d1","noIntersections","bbox","sqSegSegDist","d2","d3","d4","minX","minY","maxX","maxY","edges","intersects","cross","p1","p2","p3","q1","q2","cull","filtered","convexHull","prev","dx","dy","x0","y0","x1","y1","x2","y2","x3","y3","ux","uy","vx","vy","wx","wy","sc","sN","tc","tN","sD","tD","cx","cy","cx2","cy2","compareByX","lower","upper","ii","convex","coord","centroid","xSum","ySum","getCoord","getType","_name","centerOfMass","centre","translation","sx","sy","sArea","pi","pj","neutralizedPoints","point2","area","areaFactor","turf_center_of_mass_default"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-GEsywGxz.js","sources":["../node_modules/@turf/helpers/dist/esm/index.js","../node_modules/@turf/meta/dist/esm/index.js","../node_modules/rbush/rbush.min.js","../node_modules/tinyqueue/index.js","../node_modules/point-in-polygon/flat.js","../node_modules/point-in-polygon/nested.js","../node_modules/point-in-polygon/index.js","../node_modules/robust-predicates/umd/orient2d.min.js","../node_modules/concaveman/index.js","../node_modules/@turf/convex/dist/esm/index.js","../node_modules/@turf/centroid/dist/esm/index.js","../node_modules/@turf/invariant/dist/esm/index.js","../node_modules/@turf/center-of-mass/dist/esm/index.js"],"sourcesContent":["// index.ts\nvar earthRadius = 63710088e-1;\nvar factors = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1e3,\n kilometres: earthRadius / 1e3,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1e3,\n millimetres: earthRadius * 1e3,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936\n};\nvar areaFactors = {\n acres: 247105e-9,\n centimeters: 1e4,\n centimetres: 1e4,\n feet: 10.763910417,\n hectares: 1e-4,\n inches: 1550.003100006,\n kilometers: 1e-6,\n kilometres: 1e-6,\n meters: 1,\n metres: 1,\n miles: 386e-9,\n nauticalmiles: 29155334959812285e-23,\n millimeters: 1e6,\n millimetres: 1e6,\n yards: 1.195990046\n};\nfunction feature(geom, properties, options = {}) {\n const feat = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\nfunction geometry(type, coordinates, _options = {}) {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry;\n case \"LineString\":\n return lineString(coordinates).geometry;\n case \"Polygon\":\n return polygon(coordinates).geometry;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\nfunction point(coordinates, properties, options = {}) {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n const geom = {\n type: \"Point\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction points(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\nfunction polygon(coordinates, properties, options = {}) {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom = {\n type: \"Polygon\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction polygons(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\nfunction lineString(coordinates, properties, options = {}) {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom = {\n type: \"LineString\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction lineStrings(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\nfunction featureCollection(features, options = {}) {\n const fc = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\nfunction multiLineString(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiLineString\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction multiPoint(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiPoint\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction multiPolygon(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiPolygon\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction geometryCollection(geometries, properties, options = {}) {\n const geom = {\n type: \"GeometryCollection\",\n geometries\n };\n return feature(geom, properties, options);\n}\nfunction round(num, precision = 0) {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\nfunction radiansToLength(radians, units = \"kilometers\") {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\nfunction lengthToRadians(distance, units = \"kilometers\") {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\nfunction lengthToDegrees(distance, units) {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\nfunction bearingToAzimuth(bearing) {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\nfunction azimuthToBearing(angle) {\n angle = angle % 360;\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n return angle;\n}\nfunction radiansToDegrees(radians) {\n const normalisedRadians = radians % (2 * Math.PI);\n return normalisedRadians * 180 / Math.PI;\n}\nfunction degreesToRadians(degrees) {\n const normalisedDegrees = degrees % 360;\n return normalisedDegrees * Math.PI / 180;\n}\nfunction convertLength(length, originalUnit = \"kilometers\", finalUnit = \"kilometers\") {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\nfunction convertArea(area, originalUnit = \"meters\", finalUnit = \"kilometers\") {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n return area / startFactor * finalFactor;\n}\nfunction isNumber(num) {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\nfunction isObject(input) {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\nfunction validateBBox(bbox) {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\nfunction validateId(id) {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\nexport {\n areaFactors,\n azimuthToBearing,\n bearingToAzimuth,\n convertArea,\n convertLength,\n degreesToRadians,\n earthRadius,\n factors,\n feature,\n featureCollection,\n geometry,\n geometryCollection,\n isNumber,\n isObject,\n lengthToDegrees,\n lengthToRadians,\n lineString,\n lineStrings,\n multiLineString,\n multiPoint,\n multiPolygon,\n point,\n points,\n polygon,\n polygons,\n radiansToDegrees,\n radiansToLength,\n round,\n validateBBox,\n validateId\n};\n//# sourceMappingURL=index.js.map","// index.js\nimport { feature, point, lineString, isObject } from \"@turf/helpers\";\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n if (geojson === null) return;\n var j, k, l, geometry, stopG, coords, geometryMaybeCollection, wrapShrink = 0, coordIndex = 0, isGeometryCollection, type = geojson.type, isFeatureCollection = type === \"FeatureCollection\", isFeature = type === \"Feature\", stop = isFeatureCollection ? geojson.features.length : 1;\n for (var featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = isFeatureCollection ? geojson.features[featureIndex].geometry : isFeature ? geojson.geometry : geojson;\n isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === \"GeometryCollection\" : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {\n var multiFeatureIndex = 0;\n var geometryIndex = 0;\n geometry = isGeometryCollection ? geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n wrapShrink = excludeWrapCoord && (geomType === \"Polygon\" || geomType === \"MultiPolygon\") ? 1 : 0;\n switch (geomType) {\n case null:\n break;\n case \"Point\":\n if (callback(\n coords,\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case \"LineString\":\n case \"MultiPoint\":\n for (j = 0; j < coords.length; j++) {\n if (callback(\n coords[j],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n if (geomType === \"MultiPoint\") multiFeatureIndex++;\n }\n if (geomType === \"LineString\") multiFeatureIndex++;\n break;\n case \"Polygon\":\n case \"MultiLineString\":\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (callback(\n coords[j][k],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n }\n if (geomType === \"MultiLineString\") multiFeatureIndex++;\n if (geomType === \"Polygon\") geometryIndex++;\n }\n if (geomType === \"Polygon\") multiFeatureIndex++;\n break;\n case \"MultiPolygon\":\n for (j = 0; j < coords.length; j++) {\n geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (callback(\n coords[j][k][l],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case \"GeometryCollection\":\n for (j = 0; j < geometry.geometries.length; j++)\n if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false)\n return false;\n break;\n default:\n throw new Error(\"Unknown Geometry Type\");\n }\n }\n }\n}\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(\n geojson,\n function(currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n if (coordIndex === 0 && initialValue === void 0)\n previousValue = currentCoord;\n else\n previousValue = callback(\n previousValue,\n currentCoord,\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n );\n },\n excludeWrapCoord\n );\n return previousValue;\n}\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case \"FeatureCollection\":\n for (i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i].properties, i) === false) break;\n }\n break;\n case \"Feature\":\n callback(geojson.properties, 0);\n break;\n }\n}\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function(currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentProperties;\n else\n previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\nfunction featureEach(geojson, callback) {\n if (geojson.type === \"Feature\") {\n callback(geojson, 0);\n } else if (geojson.type === \"FeatureCollection\") {\n for (var i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i], i) === false) break;\n }\n }\n}\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function(currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function(coord) {\n coords.push(coord);\n });\n return coords;\n}\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG, geometryMaybeCollection, isGeometryCollection, featureProperties, featureBBox, featureId, featureIndex = 0, isFeatureCollection = geojson.type === \"FeatureCollection\", isFeature = geojson.type === \"Feature\", stop = isFeatureCollection ? geojson.features.length : 1;\n for (i = 0; i < stop; i++) {\n geometryMaybeCollection = isFeatureCollection ? geojson.features[i].geometry : isFeature ? geojson.geometry : geojson;\n featureProperties = isFeatureCollection ? geojson.features[i].properties : isFeature ? geojson.properties : {};\n featureBBox = isFeatureCollection ? geojson.features[i].bbox : isFeature ? geojson.bbox : void 0;\n featureId = isFeatureCollection ? geojson.features[i].id : isFeature ? geojson.id : void 0;\n isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === \"GeometryCollection\" : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ? geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n if (geometry === null) {\n if (callback(\n null,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false)\n return false;\n continue;\n }\n switch (geometry.type) {\n case \"Point\":\n case \"LineString\":\n case \"MultiPoint\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\": {\n if (callback(\n geometry,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false)\n return false;\n break;\n }\n case \"GeometryCollection\": {\n for (j = 0; j < geometry.geometries.length; j++) {\n if (callback(\n geometry.geometries[j],\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false)\n return false;\n }\n break;\n }\n default:\n throw new Error(\"Unknown Geometry Type\");\n }\n }\n featureIndex++;\n }\n}\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(\n geojson,\n function(currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentGeometry;\n else\n previousValue = callback(\n previousValue,\n currentGeometry,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n );\n }\n );\n return previousValue;\n}\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function(geometry, featureIndex, properties, bbox, id) {\n var type = geometry === null ? null : geometry.type;\n switch (type) {\n case null:\n case \"Point\":\n case \"LineString\":\n case \"Polygon\":\n if (callback(\n feature(geometry, properties, { bbox, id }),\n featureIndex,\n 0\n ) === false)\n return false;\n return;\n }\n var geomType;\n switch (type) {\n case \"MultiPoint\":\n geomType = \"Point\";\n break;\n case \"MultiLineString\":\n geomType = \"LineString\";\n break;\n case \"MultiPolygon\":\n geomType = \"Polygon\";\n break;\n }\n for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {\n var coordinate = geometry.coordinates[multiFeatureIndex];\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n if (callback(feature(geom, properties), featureIndex, multiFeatureIndex) === false)\n return false;\n }\n });\n}\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(\n geojson,\n function(currentFeature, featureIndex, multiFeatureIndex) {\n if (featureIndex === 0 && multiFeatureIndex === 0 && initialValue === void 0)\n previousValue = currentFeature;\n else\n previousValue = callback(\n previousValue,\n currentFeature,\n featureIndex,\n multiFeatureIndex\n );\n }\n );\n return previousValue;\n}\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function(feature2, featureIndex, multiFeatureIndex) {\n var segmentIndex = 0;\n if (!feature2.geometry) return;\n var type = feature2.geometry.type;\n if (type === \"Point\" || type === \"MultiPoint\") return;\n var previousCoords;\n var previousFeatureIndex = 0;\n var previousMultiIndex = 0;\n var prevGeomIndex = 0;\n if (coordEach(\n feature2,\n function(currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {\n if (previousCoords === void 0 || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex) {\n previousCoords = currentCoord;\n previousFeatureIndex = featureIndex;\n previousMultiIndex = multiPartIndexCoord;\n prevGeomIndex = geometryIndex;\n segmentIndex = 0;\n return;\n }\n var currentSegment = lineString(\n [previousCoords, currentCoord],\n feature2.properties\n );\n if (callback(\n currentSegment,\n featureIndex,\n multiFeatureIndex,\n geometryIndex,\n segmentIndex\n ) === false)\n return false;\n segmentIndex++;\n previousCoords = currentCoord;\n }\n ) === false)\n return false;\n });\n}\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(\n geojson,\n function(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n if (started === false && initialValue === void 0)\n previousValue = currentSegment;\n else\n previousValue = callback(\n previousValue,\n currentSegment,\n featureIndex,\n multiFeatureIndex,\n geometryIndex,\n segmentIndex\n );\n started = true;\n }\n );\n return previousValue;\n}\nfunction lineEach(geojson, callback) {\n if (!geojson) throw new Error(\"geojson is required\");\n flattenEach(geojson, function(feature2, featureIndex, multiFeatureIndex) {\n if (feature2.geometry === null) return;\n var type = feature2.geometry.type;\n var coords = feature2.geometry.coordinates;\n switch (type) {\n case \"LineString\":\n if (callback(feature2, featureIndex, multiFeatureIndex, 0, 0) === false)\n return false;\n break;\n case \"Polygon\":\n for (var geometryIndex = 0; geometryIndex < coords.length; geometryIndex++) {\n if (callback(\n lineString(coords[geometryIndex], feature2.properties),\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false)\n return false;\n }\n break;\n }\n });\n}\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(\n geojson,\n function(currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentLine;\n else\n previousValue = callback(\n previousValue,\n currentLine,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n );\n }\n );\n return previousValue;\n}\nfunction findSegment(geojson, options) {\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var segmentIndex = options.segmentIndex || 0;\n var properties = options.properties;\n var geometry;\n switch (geojson.type) {\n case \"FeatureCollection\":\n if (featureIndex < 0)\n featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case \"Feature\":\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\":\n geometry = geojson;\n break;\n default:\n throw new Error(\"geojson is invalid\");\n }\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n if (segmentIndex < 0) segmentIndex = coords.length + segmentIndex - 1;\n return lineString(\n [coords[segmentIndex], coords[segmentIndex + 1]],\n properties,\n options\n );\n case \"Polygon\":\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[geometryIndex].length + segmentIndex - 1;\n return lineString(\n [\n coords[geometryIndex][segmentIndex],\n coords[geometryIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n case \"MultiLineString\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[multiFeatureIndex].length + segmentIndex - 1;\n return lineString(\n [\n coords[multiFeatureIndex][segmentIndex],\n coords[multiFeatureIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n case \"MultiPolygon\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0)\n geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[multiFeatureIndex][geometryIndex].length - segmentIndex - 1;\n return lineString(\n [\n coords[multiFeatureIndex][geometryIndex][segmentIndex],\n coords[multiFeatureIndex][geometryIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n }\n throw new Error(\"geojson is invalid\");\n}\nfunction findPoint(geojson, options) {\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var coordIndex = options.coordIndex || 0;\n var properties = options.properties;\n var geometry;\n switch (geojson.type) {\n case \"FeatureCollection\":\n if (featureIndex < 0)\n featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case \"Feature\":\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\":\n geometry = geojson;\n break;\n default:\n throw new Error(\"geojson is invalid\");\n }\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case \"Point\":\n return point(coords, properties, options);\n case \"MultiPoint\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n return point(coords[multiFeatureIndex], properties, options);\n case \"LineString\":\n if (coordIndex < 0) coordIndex = coords.length + coordIndex;\n return point(coords[coordIndex], properties, options);\n case \"Polygon\":\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (coordIndex < 0)\n coordIndex = coords[geometryIndex].length + coordIndex;\n return point(coords[geometryIndex][coordIndex], properties, options);\n case \"MultiLineString\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (coordIndex < 0)\n coordIndex = coords[multiFeatureIndex].length + coordIndex;\n return point(coords[multiFeatureIndex][coordIndex], properties, options);\n case \"MultiPolygon\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0)\n geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (coordIndex < 0)\n coordIndex = coords[multiFeatureIndex][geometryIndex].length - coordIndex;\n return point(\n coords[multiFeatureIndex][geometryIndex][coordIndex],\n properties,\n options\n );\n }\n throw new Error(\"geojson is invalid\");\n}\nexport {\n coordAll,\n coordEach,\n coordReduce,\n featureEach,\n featureReduce,\n findPoint,\n findSegment,\n flattenEach,\n flattenReduce,\n geomEach,\n geomReduce,\n lineEach,\n lineReduce,\n propEach,\n propReduce,\n segmentEach,\n segmentReduce\n};\n//# sourceMappingURL=index.js.map","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=t||self).RBush=i()}(this,function(){\"use strict\";function t(t,r,e,a,h){!function t(n,r,e,a,h){for(;a>e;){if(a-e>600){var o=a-e+1,s=r-e+1,l=Math.log(o),f=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*f*(o-f)/o)*(s-o/2<0?-1:1),m=Math.max(e,Math.floor(r-s*f/o+u)),c=Math.min(a,Math.floor(r+(o-s)*f/o+u));t(n,r,m,c,h)}var p=n[r],d=e,x=a;for(i(n,e,r),h(n[a],p)>0&&i(n,e,a);d<x;){for(i(n,d,x),d++,x--;h(n[d],p)<0;)d++;for(;h(n[x],p)>0;)x--}0===h(n[e],p)?i(n,e,x):i(n,++x,a),x<=r&&(e=x+1),r<=x&&(a=x-1)}}(t,r,e||0,a||t.length-1,h||n)}function i(t,i,n){var r=t[i];t[i]=t[n],t[n]=r}function n(t,i){return t<i?-1:t>i?1:0}var r=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function e(t,i,n){if(!n)return i.indexOf(t);for(var r=0;r<i.length;r++)if(n(t,i[r]))return r;return-1}function a(t,i){h(t,0,t.children.length,i,t)}function h(t,i,n,r,e){e||(e=p(null)),e.minX=1/0,e.minY=1/0,e.maxX=-1/0,e.maxY=-1/0;for(var a=i;a<n;a++){var h=t.children[a];o(e,t.leaf?r(h):h)}return e}function o(t,i){return t.minX=Math.min(t.minX,i.minX),t.minY=Math.min(t.minY,i.minY),t.maxX=Math.max(t.maxX,i.maxX),t.maxY=Math.max(t.maxY,i.maxY),t}function s(t,i){return t.minX-i.minX}function l(t,i){return t.minY-i.minY}function f(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function u(t){return t.maxX-t.minX+(t.maxY-t.minY)}function m(t,i){return t.minX<=i.minX&&t.minY<=i.minY&&i.maxX<=t.maxX&&i.maxY<=t.maxY}function c(t,i){return i.minX<=t.maxX&&i.minY<=t.maxY&&i.maxX>=t.minX&&i.maxY>=t.minY}function p(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function d(i,n,r,e,a){for(var h=[n,r];h.length;)if(!((r=h.pop())-(n=h.pop())<=e)){var o=n+Math.ceil((r-n)/e/2)*e;t(i,o,n,r,a),h.push(n,o,o,r)}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(t){var i=this.data,n=[];if(!c(t,i))return n;for(var r=this.toBBox,e=[];i;){for(var a=0;a<i.children.length;a++){var h=i.children[a],o=i.leaf?r(h):h;c(t,o)&&(i.leaf?n.push(h):m(t,o)?this._all(h,n):e.push(h))}i=e.pop()}return n},r.prototype.collides=function(t){var i=this.data;if(!c(t,i))return!1;for(var n=[];i;){for(var r=0;r<i.children.length;r++){var e=i.children[r],a=i.leaf?this.toBBox(e):e;if(c(t,a)){if(i.leaf||m(t,a))return!0;n.push(e)}}i=n.pop()}return!1},r.prototype.load=function(t){if(!t||!t.length)return this;if(t.length<this._minEntries){for(var i=0;i<t.length;i++)this.insert(t[i]);return this}var n=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===n.height)this._splitRoot(this.data,n);else{if(this.data.height<n.height){var r=this.data;this.data=n,n=r}this._insert(n,this.data.height-n.height-1,!0)}else this.data=n;return this},r.prototype.insert=function(t){return t&&this._insert(t,this.data.height-1),this},r.prototype.clear=function(){return this.data=p([]),this},r.prototype.remove=function(t,i){if(!t)return this;for(var n,r,a,h=this.data,o=this.toBBox(t),s=[],l=[];h||s.length;){if(h||(h=s.pop(),r=s[s.length-1],n=l.pop(),a=!0),h.leaf){var f=e(t,h.children,i);if(-1!==f)return h.children.splice(f,1),s.push(h),this._condense(s),this}a||h.leaf||!m(h,o)?r?(n++,h=r.children[n],a=!1):h=null:(s.push(h),l.push(n),n=0,r=h,h=h.children[0])}return this},r.prototype.toBBox=function(t){return t},r.prototype.compareMinX=function(t,i){return t.minX-i.minX},r.prototype.compareMinY=function(t,i){return t.minY-i.minY},r.prototype.toJSON=function(){return this.data},r.prototype.fromJSON=function(t){return this.data=t,this},r.prototype._all=function(t,i){for(var n=[];t;)t.leaf?i.push.apply(i,t.children):n.push.apply(n,t.children),t=n.pop();return i},r.prototype._build=function(t,i,n,r){var e,h=n-i+1,o=this._maxEntries;if(h<=o)return a(e=p(t.slice(i,n+1)),this.toBBox),e;r||(r=Math.ceil(Math.log(h)/Math.log(o)),o=Math.ceil(h/Math.pow(o,r-1))),(e=p([])).leaf=!1,e.height=r;var s=Math.ceil(h/o),l=s*Math.ceil(Math.sqrt(o));d(t,i,n,l,this.compareMinX);for(var f=i;f<=n;f+=l){var u=Math.min(f+l-1,n);d(t,f,u,s,this.compareMinY);for(var m=f;m<=u;m+=s){var c=Math.min(m+s-1,u);e.children.push(this._build(t,m,c,r-1))}}return a(e,this.toBBox),e},r.prototype._chooseSubtree=function(t,i,n,r){for(;r.push(i),!i.leaf&&r.length-1!==n;){for(var e=1/0,a=1/0,h=void 0,o=0;o<i.children.length;o++){var s=i.children[o],l=f(s),u=(m=t,c=s,(Math.max(c.maxX,m.maxX)-Math.min(c.minX,m.minX))*(Math.max(c.maxY,m.maxY)-Math.min(c.minY,m.minY))-l);u<a?(a=u,e=l<e?l:e,h=s):u===a&&l<e&&(e=l,h=s)}i=h||i.children[0]}var m,c;return i},r.prototype._insert=function(t,i,n){var r=n?t:this.toBBox(t),e=[],a=this._chooseSubtree(r,this.data,i,e);for(a.children.push(t),o(a,r);i>=0&&e[i].children.length>this._maxEntries;)this._split(e,i),i--;this._adjustParentBBoxes(r,e,i)},r.prototype._split=function(t,i){var n=t[i],r=n.children.length,e=this._minEntries;this._chooseSplitAxis(n,e,r);var h=this._chooseSplitIndex(n,e,r),o=p(n.children.splice(h,n.children.length-h));o.height=n.height,o.leaf=n.leaf,a(n,this.toBBox),a(o,this.toBBox),i?t[i-1].children.push(o):this._splitRoot(n,o)},r.prototype._splitRoot=function(t,i){this.data=p([t,i]),this.data.height=t.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},r.prototype._chooseSplitIndex=function(t,i,n){for(var r,e,a,o,s,l,u,m=1/0,c=1/0,p=i;p<=n-i;p++){var d=h(t,0,p,this.toBBox),x=h(t,p,n,this.toBBox),v=(e=d,a=x,o=void 0,s=void 0,l=void 0,u=void 0,o=Math.max(e.minX,a.minX),s=Math.max(e.minY,a.minY),l=Math.min(e.maxX,a.maxX),u=Math.min(e.maxY,a.maxY),Math.max(0,l-o)*Math.max(0,u-s)),M=f(d)+f(x);v<m?(m=v,r=p,c=M<c?M:c):v===m&&M<c&&(c=M,r=p)}return r||n-i},r.prototype._chooseSplitAxis=function(t,i,n){var r=t.leaf?this.compareMinX:s,e=t.leaf?this.compareMinY:l;this._allDistMargin(t,i,n,r)<this._allDistMargin(t,i,n,e)&&t.children.sort(r)},r.prototype._allDistMargin=function(t,i,n,r){t.children.sort(r);for(var e=this.toBBox,a=h(t,0,i,e),s=h(t,n-i,n,e),l=u(a)+u(s),f=i;f<n-i;f++){var m=t.children[f];o(a,t.leaf?e(m):m),l+=u(a)}for(var c=n-i-1;c>=i;c--){var p=t.children[c];o(s,t.leaf?e(p):p),l+=u(s)}return l},r.prototype._adjustParentBBoxes=function(t,i,n){for(var r=n;r>=0;r--)o(i[r],t)},r.prototype._condense=function(t){for(var i=t.length-1,n=void 0;i>=0;i--)0===t[i].children.length?i>0?(n=t[i-1].children).splice(n.indexOf(t[i]),1):this.clear():a(t[i],this.toBBox)},r});\n","\nexport default class TinyQueue {\n constructor(data = [], compare = defaultCompare) {\n this.data = data;\n this.length = this.data.length;\n this.compare = compare;\n\n if (this.length > 0) {\n for (let i = (this.length >> 1) - 1; i >= 0; i--) this._down(i);\n }\n }\n\n push(item) {\n this.data.push(item);\n this.length++;\n this._up(this.length - 1);\n }\n\n pop() {\n if (this.length === 0) return undefined;\n\n const top = this.data[0];\n const bottom = this.data.pop();\n this.length--;\n\n if (this.length > 0) {\n this.data[0] = bottom;\n this._down(0);\n }\n\n return top;\n }\n\n peek() {\n return this.data[0];\n }\n\n _up(pos) {\n const {data, compare} = this;\n const item = data[pos];\n\n while (pos > 0) {\n const parent = (pos - 1) >> 1;\n const current = data[parent];\n if (compare(item, current) >= 0) break;\n data[pos] = current;\n pos = parent;\n }\n\n data[pos] = item;\n }\n\n _down(pos) {\n const {data, compare} = this;\n const halfLength = this.length >> 1;\n const item = data[pos];\n\n while (pos < halfLength) {\n let left = (pos << 1) + 1;\n let best = data[left];\n const right = left + 1;\n\n if (right < this.length && compare(data[right], best) < 0) {\n left = right;\n best = data[right];\n }\n if (compare(best, item) >= 0) break;\n\n data[pos] = best;\n pos = left;\n }\n\n data[pos] = item;\n }\n}\n\nfunction defaultCompare(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n","module.exports = function pointInPolygonFlat (point, vs, start, end) {\n var x = point[0], y = point[1];\n var inside = false;\n if (start === undefined) start = 0;\n if (end === undefined) end = vs.length;\n var len = (end-start)/2;\n for (var i = 0, j = len - 1; i < len; j = i++) {\n var xi = vs[start+i*2+0], yi = vs[start+i*2+1];\n var xj = vs[start+j*2+0], yj = vs[start+j*2+1];\n var intersect = ((yi > y) !== (yj > y))\n && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect) inside = !inside;\n }\n return inside;\n};\n","// ray-casting algorithm based on\n// https://wrf.ecse.rpi.edu/Research/Short_Notes/pnpoly.html\n\nmodule.exports = function pointInPolygonNested (point, vs, start, end) {\n var x = point[0], y = point[1];\n var inside = false;\n if (start === undefined) start = 0;\n if (end === undefined) end = vs.length;\n var len = end - start;\n for (var i = 0, j = len - 1; i < len; j = i++) {\n var xi = vs[i+start][0], yi = vs[i+start][1];\n var xj = vs[j+start][0], yj = vs[j+start][1];\n var intersect = ((yi > y) !== (yj > y))\n && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect) inside = !inside;\n }\n return inside;\n};\n","var pointInPolygonFlat = require('./flat.js')\nvar pointInPolygonNested = require('./nested.js')\n\nmodule.exports = function pointInPolygon (point, vs, start, end) {\n if (vs.length > 0 && Array.isArray(vs[0])) {\n return pointInPolygonNested(point, vs, start, end);\n } else {\n return pointInPolygonFlat(point, vs, start, end);\n }\n}\nmodule.exports.nested = pointInPolygonNested\nmodule.exports.flat = pointInPolygonFlat\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=t||self).predicates={})}(this,function(t){\"use strict\";const e=134217729,n=33306690738754706e-32;function r(t,e,n,r,o){let f,i,u,c,s=e[0],a=r[0],d=0,l=0;a>s==a>-s?(f=s,s=e[++d]):(f=a,a=r[++l]);let p=0;if(d<t&&l<n)for(a>s==a>-s?(u=f-((i=s+f)-s),s=e[++d]):(u=f-((i=a+f)-a),a=r[++l]),f=i,0!==u&&(o[p++]=u);d<t&&l<n;)a>s==a>-s?(u=f-((i=f+s)-(c=i-f))+(s-c),s=e[++d]):(u=f-((i=f+a)-(c=i-f))+(a-c),a=r[++l]),f=i,0!==u&&(o[p++]=u);for(;d<t;)u=f-((i=f+s)-(c=i-f))+(s-c),s=e[++d],f=i,0!==u&&(o[p++]=u);for(;l<n;)u=f-((i=f+a)-(c=i-f))+(a-c),a=r[++l],f=i,0!==u&&(o[p++]=u);return 0===f&&0!==p||(o[p++]=f),p}function o(t){return new Float64Array(t)}const f=33306690738754716e-32,i=22204460492503146e-32,u=11093356479670487e-47,c=o(4),s=o(8),a=o(12),d=o(16),l=o(4);t.orient2d=function(t,o,p,b,y,h){const M=(o-h)*(p-y),x=(t-y)*(b-h),j=M-x;if(0===M||0===x||M>0!=x>0)return j;const m=Math.abs(M+x);return Math.abs(j)>=f*m?j:-function(t,o,f,p,b,y,h){let M,x,j,m,_,v,w,A,F,O,P,g,k,q,z,B,C,D;const E=t-b,G=f-b,H=o-y,I=p-y;_=(z=(A=E-(w=(v=e*E)-(v-E)))*(O=I-(F=(v=e*I)-(v-I)))-((q=E*I)-w*F-A*F-w*O))-(P=z-(C=(A=H-(w=(v=e*H)-(v-H)))*(O=G-(F=(v=e*G)-(v-G)))-((B=H*G)-w*F-A*F-w*O))),c[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),c[1]=k-(P+_)+(_-B),_=(D=g+P)-g,c[2]=g-(D-_)+(P-_),c[3]=D;let J=function(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}(4,c),K=i*h;if(J>=K||-J>=K)return J;if(M=t-(E+(_=t-E))+(_-b),j=f-(G+(_=f-G))+(_-b),x=o-(H+(_=o-H))+(_-y),m=p-(I+(_=p-I))+(_-y),0===M&&0===x&&0===j&&0===m)return J;if(K=u*h+n*Math.abs(J),(J+=E*m+I*M-(H*j+G*x))>=K||-J>=K)return J;_=(z=(A=M-(w=(v=e*M)-(v-M)))*(O=I-(F=(v=e*I)-(v-I)))-((q=M*I)-w*F-A*F-w*O))-(P=z-(C=(A=x-(w=(v=e*x)-(v-x)))*(O=G-(F=(v=e*G)-(v-G)))-((B=x*G)-w*F-A*F-w*O))),l[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),l[1]=k-(P+_)+(_-B),_=(D=g+P)-g,l[2]=g-(D-_)+(P-_),l[3]=D;const L=r(4,c,4,l,s);_=(z=(A=E-(w=(v=e*E)-(v-E)))*(O=m-(F=(v=e*m)-(v-m)))-((q=E*m)-w*F-A*F-w*O))-(P=z-(C=(A=H-(w=(v=e*H)-(v-H)))*(O=j-(F=(v=e*j)-(v-j)))-((B=H*j)-w*F-A*F-w*O))),l[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),l[1]=k-(P+_)+(_-B),_=(D=g+P)-g,l[2]=g-(D-_)+(P-_),l[3]=D;const N=r(L,s,4,l,a);_=(z=(A=M-(w=(v=e*M)-(v-M)))*(O=m-(F=(v=e*m)-(v-m)))-((q=M*m)-w*F-A*F-w*O))-(P=z-(C=(A=x-(w=(v=e*x)-(v-x)))*(O=j-(F=(v=e*j)-(v-j)))-((B=x*j)-w*F-A*F-w*O))),l[0]=z-(P+_)+(_-C),_=(k=q-((g=q+P)-(_=g-q))+(P-_))-(P=k-B),l[1]=k-(P+_)+(_-B),_=(D=g+P)-g,l[2]=g-(D-_)+(P-_),l[3]=D;const Q=r(N,a,4,l,d);return d[Q-1]}(t,o,p,b,y,h,m)},t.orient2dfast=function(t,e,n,r,o,f){return(e-f)*(n-o)-(t-o)*(r-f)},Object.defineProperty(t,\"__esModule\",{value:!0})});\n","'use strict';\n\nvar RBush = require('rbush');\nvar Queue = require('tinyqueue');\nvar pointInPolygon = require('point-in-polygon');\nvar orient = require('robust-predicates/umd/orient2d.min.js').orient2d;\n\n// Fix for require issue in webpack https://github.com/mapbox/concaveman/issues/18\nif (Queue.default) {\n Queue = Queue.default;\n}\n\nmodule.exports = concaveman;\nmodule.exports.default = concaveman;\n\nfunction concaveman(points, concavity, lengthThreshold) {\n // a relative measure of concavity; higher value means simpler hull\n concavity = Math.max(0, concavity === undefined ? 2 : concavity);\n\n // when a segment goes below this length threshold, it won't be drilled down further\n lengthThreshold = lengthThreshold || 0;\n\n // start with a convex hull of the points\n var hull = fastConvexHull(points);\n\n // index the points with an R-tree\n var tree = new RBush(16);\n tree.toBBox = function (a) {\n return {\n minX: a[0],\n minY: a[1],\n maxX: a[0],\n maxY: a[1]\n };\n };\n tree.compareMinX = function (a, b) { return a[0] - b[0]; };\n tree.compareMinY = function (a, b) { return a[1] - b[1]; };\n\n tree.load(points);\n\n // turn the convex hull into a linked list and populate the initial edge queue with the nodes\n var queue = [];\n for (var i = 0, last; i < hull.length; i++) {\n var p = hull[i];\n tree.remove(p);\n last = insertNode(p, last);\n queue.push(last);\n }\n\n // index the segments with an R-tree (for intersection checks)\n var segTree = new RBush(16);\n for (i = 0; i < queue.length; i++) segTree.insert(updateBBox(queue[i]));\n\n var sqConcavity = concavity * concavity;\n var sqLenThreshold = lengthThreshold * lengthThreshold;\n\n // process edges one by one\n while (queue.length) {\n var node = queue.shift();\n var a = node.p;\n var b = node.next.p;\n\n // skip the edge if it's already short enough\n var sqLen = getSqDist(a, b);\n if (sqLen < sqLenThreshold) continue;\n\n var maxSqLen = sqLen / sqConcavity;\n\n // find the best connection point for the current edge to flex inward to\n p = findCandidate(tree, node.prev.p, a, b, node.next.next.p, maxSqLen, segTree);\n\n // if we found a connection and it satisfies our concavity measure\n if (p && Math.min(getSqDist(p, a), getSqDist(p, b)) <= maxSqLen) {\n // connect the edge endpoints through this point and add 2 new edges to the queue\n queue.push(node);\n queue.push(insertNode(p, node));\n\n // update point and segment indexes\n tree.remove(p);\n segTree.remove(node);\n segTree.insert(updateBBox(node));\n segTree.insert(updateBBox(node.next));\n }\n }\n\n // convert the resulting hull linked list to an array of points\n node = last;\n var concave = [];\n do {\n concave.push(node.p);\n node = node.next;\n } while (node !== last);\n\n concave.push(node.p);\n\n return concave;\n}\n\nfunction findCandidate(tree, a, b, c, d, maxDist, segTree) {\n var queue = new Queue([], compareDist);\n var node = tree.data;\n\n // search through the point R-tree with a depth-first search using a priority queue\n // in the order of distance to the edge (b, c)\n while (node) {\n for (var i = 0; i < node.children.length; i++) {\n var child = node.children[i];\n\n var dist = node.leaf ? sqSegDist(child, b, c) : sqSegBoxDist(b, c, child);\n if (dist > maxDist) continue; // skip the node if it's farther than we ever need\n\n queue.push({\n node: child,\n dist: dist\n });\n }\n\n while (queue.length && !queue.peek().node.children) {\n var item = queue.pop();\n var p = item.node;\n\n // skip all points that are as close to adjacent edges (a,b) and (c,d),\n // and points that would introduce self-intersections when connected\n var d0 = sqSegDist(p, a, b);\n var d1 = sqSegDist(p, c, d);\n if (item.dist < d0 && item.dist < d1 &&\n noIntersections(b, p, segTree) &&\n noIntersections(c, p, segTree)) return p;\n }\n\n node = queue.pop();\n if (node) node = node.node;\n }\n\n return null;\n}\n\nfunction compareDist(a, b) {\n return a.dist - b.dist;\n}\n\n// square distance from a segment bounding box to the given one\nfunction sqSegBoxDist(a, b, bbox) {\n if (inside(a, bbox) || inside(b, bbox)) return 0;\n var d1 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.minX, bbox.minY, bbox.maxX, bbox.minY);\n if (d1 === 0) return 0;\n var d2 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.minX, bbox.minY, bbox.minX, bbox.maxY);\n if (d2 === 0) return 0;\n var d3 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.maxX, bbox.minY, bbox.maxX, bbox.maxY);\n if (d3 === 0) return 0;\n var d4 = sqSegSegDist(a[0], a[1], b[0], b[1], bbox.minX, bbox.maxY, bbox.maxX, bbox.maxY);\n if (d4 === 0) return 0;\n return Math.min(d1, d2, d3, d4);\n}\n\nfunction inside(a, bbox) {\n return a[0] >= bbox.minX &&\n a[0] <= bbox.maxX &&\n a[1] >= bbox.minY &&\n a[1] <= bbox.maxY;\n}\n\n// check if the edge (a,b) doesn't intersect any other edges\nfunction noIntersections(a, b, segTree) {\n var minX = Math.min(a[0], b[0]);\n var minY = Math.min(a[1], b[1]);\n var maxX = Math.max(a[0], b[0]);\n var maxY = Math.max(a[1], b[1]);\n\n var edges = segTree.search({minX: minX, minY: minY, maxX: maxX, maxY: maxY});\n for (var i = 0; i < edges.length; i++) {\n if (intersects(edges[i].p, edges[i].next.p, a, b)) return false;\n }\n return true;\n}\n\nfunction cross(p1, p2, p3) {\n return orient(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\n// check if the edges (p1,q1) and (p2,q2) intersect\nfunction intersects(p1, q1, p2, q2) {\n return p1 !== q2 && q1 !== p2 &&\n cross(p1, q1, p2) > 0 !== cross(p1, q1, q2) > 0 &&\n cross(p2, q2, p1) > 0 !== cross(p2, q2, q1) > 0;\n}\n\n// update the bounding box of a node's edge\nfunction updateBBox(node) {\n var p1 = node.p;\n var p2 = node.next.p;\n node.minX = Math.min(p1[0], p2[0]);\n node.minY = Math.min(p1[1], p2[1]);\n node.maxX = Math.max(p1[0], p2[0]);\n node.maxY = Math.max(p1[1], p2[1]);\n return node;\n}\n\n// speed up convex hull by filtering out points inside quadrilateral formed by 4 extreme points\nfunction fastConvexHull(points) {\n var left = points[0];\n var top = points[0];\n var right = points[0];\n var bottom = points[0];\n\n // find the leftmost, rightmost, topmost and bottommost points\n for (var i = 0; i < points.length; i++) {\n var p = points[i];\n if (p[0] < left[0]) left = p;\n if (p[0] > right[0]) right = p;\n if (p[1] < top[1]) top = p;\n if (p[1] > bottom[1]) bottom = p;\n }\n\n // filter out points that are inside the resulting quadrilateral\n var cull = [left, top, right, bottom];\n var filtered = cull.slice();\n for (i = 0; i < points.length; i++) {\n if (!pointInPolygon(points[i], cull)) filtered.push(points[i]);\n }\n\n // get convex hull around the filtered points\n return convexHull(filtered);\n}\n\n// create a new node in a doubly linked list\nfunction insertNode(p, prev) {\n var node = {\n p: p,\n prev: null,\n next: null,\n minX: 0,\n minY: 0,\n maxX: 0,\n maxY: 0\n };\n\n if (!prev) {\n node.prev = node;\n node.next = node;\n\n } else {\n node.next = prev.next;\n node.prev = prev;\n prev.next.prev = node;\n prev.next = node;\n }\n return node;\n}\n\n// square distance between 2 points\nfunction getSqDist(p1, p2) {\n\n var dx = p1[0] - p2[0],\n dy = p1[1] - p2[1];\n\n return dx * dx + dy * dy;\n}\n\n// square distance from a point to a segment\nfunction sqSegDist(p, p1, p2) {\n\n var x = p1[0],\n y = p1[1],\n dx = p2[0] - x,\n dy = p2[1] - y;\n\n if (dx !== 0 || dy !== 0) {\n\n var t = ((p[0] - x) * dx + (p[1] - y) * dy) / (dx * dx + dy * dy);\n\n if (t > 1) {\n x = p2[0];\n y = p2[1];\n\n } else if (t > 0) {\n x += dx * t;\n y += dy * t;\n }\n }\n\n dx = p[0] - x;\n dy = p[1] - y;\n\n return dx * dx + dy * dy;\n}\n\n// segment to segment distance, ported from http://geomalgorithms.com/a07-_distance.html by Dan Sunday\nfunction sqSegSegDist(x0, y0, x1, y1, x2, y2, x3, y3) {\n var ux = x1 - x0;\n var uy = y1 - y0;\n var vx = x3 - x2;\n var vy = y3 - y2;\n var wx = x0 - x2;\n var wy = y0 - y2;\n var a = ux * ux + uy * uy;\n var b = ux * vx + uy * vy;\n var c = vx * vx + vy * vy;\n var d = ux * wx + uy * wy;\n var e = vx * wx + vy * wy;\n var D = a * c - b * b;\n\n var sc, sN, tc, tN;\n var sD = D;\n var tD = D;\n\n if (D === 0) {\n sN = 0;\n sD = 1;\n tN = e;\n tD = c;\n } else {\n sN = b * e - c * d;\n tN = a * e - b * d;\n if (sN < 0) {\n sN = 0;\n tN = e;\n tD = c;\n } else if (sN > sD) {\n sN = sD;\n tN = e + b;\n tD = c;\n }\n }\n\n if (tN < 0.0) {\n tN = 0.0;\n if (-d < 0.0) sN = 0.0;\n else if (-d > a) sN = sD;\n else {\n sN = -d;\n sD = a;\n }\n } else if (tN > tD) {\n tN = tD;\n if ((-d + b) < 0.0) sN = 0;\n else if (-d + b > a) sN = sD;\n else {\n sN = -d + b;\n sD = a;\n }\n }\n\n sc = sN === 0 ? 0 : sN / sD;\n tc = tN === 0 ? 0 : tN / tD;\n\n var cx = (1 - sc) * x0 + sc * x1;\n var cy = (1 - sc) * y0 + sc * y1;\n var cx2 = (1 - tc) * x2 + tc * x3;\n var cy2 = (1 - tc) * y2 + tc * y3;\n var dx = cx2 - cx;\n var dy = cy2 - cy;\n\n return dx * dx + dy * dy;\n}\n\nfunction compareByX(a, b) {\n return a[0] === b[0] ? a[1] - b[1] : a[0] - b[0];\n}\n\nfunction convexHull(points) {\n points.sort(compareByX);\n\n var lower = [];\n for (var i = 0; i < points.length; i++) {\n while (lower.length >= 2 && cross(lower[lower.length - 2], lower[lower.length - 1], points[i]) <= 0) {\n lower.pop();\n }\n lower.push(points[i]);\n }\n\n var upper = [];\n for (var ii = points.length - 1; ii >= 0; ii--) {\n while (upper.length >= 2 && cross(upper[upper.length - 2], upper[upper.length - 1], points[ii]) <= 0) {\n upper.pop();\n }\n upper.push(points[ii]);\n }\n\n upper.pop();\n lower.pop();\n return lower.concat(upper);\n}\n","// index.ts\nimport { polygon } from \"@turf/helpers\";\nimport { coordEach } from \"@turf/meta\";\nimport concaveman from \"concaveman\";\nfunction convex(geojson, options = {}) {\n options.concavity = options.concavity || Infinity;\n const points = [];\n coordEach(geojson, (coord) => {\n points.push([coord[0], coord[1]]);\n });\n if (!points.length) {\n return null;\n }\n const convexHull = concaveman(points, options.concavity);\n if (convexHull.length > 3) {\n return polygon([convexHull]);\n }\n return null;\n}\nvar turf_convex_default = convex;\nexport {\n convex,\n turf_convex_default as default\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { point } from \"@turf/helpers\";\nimport { coordEach } from \"@turf/meta\";\nfunction centroid(geojson, options = {}) {\n let xSum = 0;\n let ySum = 0;\n let len = 0;\n coordEach(\n geojson,\n function(coord) {\n xSum += coord[0];\n ySum += coord[1];\n len++;\n },\n true\n );\n return point([xSum / len, ySum / len], options.properties);\n}\nvar turf_centroid_default = centroid;\nexport {\n centroid,\n turf_centroid_default as default\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { isNumber } from \"@turf/helpers\";\nfunction getCoord(coord) {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n if (!Array.isArray(coord)) {\n if (coord.type === \"Feature\" && coord.geometry !== null && coord.geometry.type === \"Point\") {\n return [...coord.geometry.coordinates];\n }\n if (coord.type === \"Point\") {\n return [...coord.coordinates];\n }\n }\n if (Array.isArray(coord) && coord.length >= 2 && !Array.isArray(coord[0]) && !Array.isArray(coord[1])) {\n return [...coord];\n }\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\nfunction getCoords(coords) {\n if (Array.isArray(coords)) {\n return coords;\n }\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n } else {\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n throw new Error(\n \"coords must be GeoJSON Feature, Geometry Object or an Array\"\n );\n}\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 && isNumber(coordinates[0]) && isNumber(coordinates[1])) {\n return true;\n }\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\nfunction geojsonType(value, type, name) {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n if (!value || value.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + value.type\n );\n }\n}\nfunction featureOf(feature, type, name) {\n if (!feature) {\n throw new Error(\"No feature passed\");\n }\n if (!name) {\n throw new Error(\".featureOf() requires a name\");\n }\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n}\nfunction collectionOf(featureCollection, type, name) {\n if (!featureCollection) {\n throw new Error(\"No featureCollection passed\");\n }\n if (!name) {\n throw new Error(\".collectionOf() requires a name\");\n }\n if (!featureCollection || featureCollection.type !== \"FeatureCollection\") {\n throw new Error(\n \"Invalid input to \" + name + \", FeatureCollection required\"\n );\n }\n for (const feature of featureCollection.features) {\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n }\n}\nfunction getGeom(geojson) {\n if (geojson.type === \"Feature\") {\n return geojson.geometry;\n }\n return geojson;\n}\nfunction getType(geojson, _name) {\n if (geojson.type === \"FeatureCollection\") {\n return \"FeatureCollection\";\n }\n if (geojson.type === \"GeometryCollection\") {\n return \"GeometryCollection\";\n }\n if (geojson.type === \"Feature\" && geojson.geometry !== null) {\n return geojson.geometry.type;\n }\n return geojson.type;\n}\nexport {\n collectionOf,\n containsNumber,\n featureOf,\n geojsonType,\n getCoord,\n getCoords,\n getGeom,\n getType\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { convex } from \"@turf/convex\";\nimport { centroid } from \"@turf/centroid\";\nimport { point } from \"@turf/helpers\";\nimport { getType, getCoord } from \"@turf/invariant\";\nimport { coordEach } from \"@turf/meta\";\nfunction centerOfMass(geojson, options = {}) {\n switch (getType(geojson)) {\n case \"Point\":\n return point(getCoord(geojson), options.properties);\n case \"Polygon\":\n var coords = [];\n coordEach(geojson, function(coord) {\n coords.push(coord);\n });\n var centre = centroid(geojson, { properties: options.properties });\n var translation = centre.geometry.coordinates;\n var sx = 0;\n var sy = 0;\n var sArea = 0;\n var i, pi, pj, xi, xj, yi, yj, a;\n var neutralizedPoints = coords.map(function(point2) {\n return [point2[0] - translation[0], point2[1] - translation[1]];\n });\n for (i = 0; i < coords.length - 1; i++) {\n pi = neutralizedPoints[i];\n xi = pi[0];\n yi = pi[1];\n pj = neutralizedPoints[i + 1];\n xj = pj[0];\n yj = pj[1];\n a = xi * yj - xj * yi;\n sArea += a;\n sx += (xi + xj) * a;\n sy += (yi + yj) * a;\n }\n if (sArea === 0) {\n return centre;\n } else {\n var area = sArea * 0.5;\n var areaFactor = 1 / (6 * area);\n return point(\n [translation[0] + areaFactor * sx, translation[1] + areaFactor * sy],\n options.properties\n );\n }\n default:\n var hull = convex(geojson);\n if (hull) return centerOfMass(hull, { properties: options.properties });\n else return centroid(geojson, { properties: options.properties });\n }\n}\nvar turf_center_of_mass_default = centerOfMass;\nexport {\n centerOfMass,\n turf_center_of_mass_default as default\n};\n//# sourceMappingURL=index.js.map"],"names":["earthRadius","feature","geom","properties","options","feat","point","coordinates","isNumber","polygon","ring","j","num","coordEach","geojson","callback","excludeWrapCoord","k","l","geometry","stopG","coords","geometryMaybeCollection","wrapShrink","coordIndex","isGeometryCollection","type","isFeatureCollection","isFeature","stop","featureIndex","geomIndex","multiFeatureIndex","geometryIndex","geomType","geomEach","i","featureProperties","featureBBox","featureId","geomReduce","initialValue","previousValue","currentGeometry","t","module","this","r","e","a","h","n","o","s","f","u","m","c","d","p","x","v","M","TinyQueue","data","compare","defaultCompare","item","top","bottom","pos","parent","current","halfLength","left","best","right","b","flat","vs","start","end","y","inside","len","xi","yi","xj","yj","intersect","nested","pointInPolygonFlat","require$$0","pointInPolygonNested","require$$1","pointInPolygonModule","exports","_","w","A","F","O","g","q","z","B","C","D","E","G","H","I","J","K","L","N","Q","RBush","Queue","pointInPolygon","require$$2","orient","require$$3","concavemanModule","concaveman","points","concavity","lengthThreshold","hull","fastConvexHull","tree","queue","last","insertNode","segTree","updateBBox","sqConcavity","sqLenThreshold","node","sqLen","getSqDist","maxSqLen","findCandidate","concave","maxDist","compareDist","child","dist","sqSegDist","sqSegBoxDist","d0","d1","noIntersections","bbox","sqSegSegDist","d2","d3","d4","minX","minY","maxX","maxY","edges","intersects","cross","p1","p2","p3","q1","q2","cull","filtered","convexHull","prev","dx","dy","x0","y0","x1","y1","x2","y2","x3","y3","ux","uy","vx","vy","wx","wy","sc","sN","tc","tN","sD","tD","cx","cy","cx2","cy2","compareByX","lower","upper","ii","convex","coord","centroid","xSum","ySum","getCoord","getType","_name","centerOfMass","centre","translation","sx","sy","sArea","pi","pj","neutralizedPoints","point2","area","areaFactor","turf_center_of_mass_default"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}