dgeoutils 2.4.48 → 2.5.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 (52) hide show
  1. package/dist/cjs/DCircle.d.ts +18 -0
  2. package/dist/cjs/DCircle.js +102 -0
  3. package/dist/cjs/DLine.d.ts +39 -0
  4. package/dist/cjs/DLine.js +343 -0
  5. package/dist/cjs/DNumbers.d.ts +8 -0
  6. package/dist/cjs/DNumbers.js +30 -0
  7. package/dist/cjs/DPlane.d.ts +25 -0
  8. package/dist/cjs/DPlane.js +132 -0
  9. package/dist/cjs/DPoint.d.ts +139 -0
  10. package/dist/cjs/DPoint.js +820 -0
  11. package/dist/cjs/DPolygon.d.ts +139 -0
  12. package/dist/cjs/DPolygon.js +1774 -0
  13. package/dist/cjs/DPolygonLoop.d.ts +60 -0
  14. package/dist/cjs/DPolygonLoop.js +439 -0
  15. package/dist/cjs/FastSearch.d.ts +6 -0
  16. package/dist/cjs/FastSearch.js +53 -0
  17. package/dist/cjs/InterpolationMatrix.d.ts +24 -0
  18. package/dist/cjs/InterpolationMatrix.js +173 -0
  19. package/dist/cjs/TraceMatrix.d.ts +22 -0
  20. package/dist/cjs/TraceMatrix.js +285 -0
  21. package/dist/cjs/index.d.ts +11 -0
  22. package/dist/cjs/index.js +37 -0
  23. package/dist/cjs/utils.d.ts +49 -0
  24. package/dist/cjs/utils.js +281 -0
  25. package/dist/es2015/DCircle.js +87 -0
  26. package/dist/es2015/DLine.js +290 -0
  27. package/dist/es2015/DNumbers.js +22 -0
  28. package/dist/es2015/DPlane.js +105 -0
  29. package/dist/es2015/DPoint.js +693 -0
  30. package/dist/es2015/DPolygon.js +1203 -0
  31. package/dist/es2015/DPolygonLoop.js +430 -0
  32. package/dist/es2015/FastSearch.js +25 -0
  33. package/dist/es2015/InterpolationMatrix.js +128 -0
  34. package/dist/es2015/TraceMatrix.js +229 -0
  35. package/dist/es2015/index.js +11 -0
  36. package/dist/es2015/utils.js +208 -0
  37. package/dist/esm/DCircle.js +99 -0
  38. package/dist/esm/DLine.js +340 -0
  39. package/dist/esm/DNumbers.js +27 -0
  40. package/dist/esm/DPlane.js +129 -0
  41. package/dist/esm/DPoint.js +817 -0
  42. package/dist/esm/DPolygon.js +1771 -0
  43. package/dist/esm/DPolygonLoop.js +436 -0
  44. package/dist/esm/FastSearch.js +50 -0
  45. package/dist/esm/InterpolationMatrix.js +170 -0
  46. package/dist/esm/TraceMatrix.js +282 -0
  47. package/dist/esm/index.js +11 -0
  48. package/dist/esm/utils.js +266 -0
  49. package/dist/umd/dgeoutils.js +4394 -0
  50. package/dist/umd/dgeoutils.min.js +1 -0
  51. package/dist/umd/dgeoutils.min.js.map +1 -0
  52. package/package.json +9 -1
@@ -0,0 +1 @@
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jsts")):"function"==typeof define&&define.amd?define(["exports","jsts"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).DGeoUtils={},t.jsts)}(this,function(y,F){"use strict";function x(t){return function(){return t}}function s(b){return{checkArgument:function(t){return P.DEBUG?{shouldBeDegree:function(t){return t.likeWorldGeodeticSystem||M('"'.concat(v,'" -> "').concat(g,'" should be degree!')),m},shouldBeMeters:function(t){return t.likePseudoMercator||M('"'.concat(y,'" -> "').concat(d,'" should be meters!')),f},shouldBeInt:function(t){return t.clone().round().equal(t)||M('"'.concat(l,'" -> "').concat(p,'" should be Int!')),h},shouldBeUInt:function(t){return t.clone().round().equal(t)&&t.gtOrEqual(O.zero())||M('"'.concat(u,'" -> "').concat(c,'" should be UInt!')),a},shouldBeRadians:function(t){return t.likeRadians||M('"'.concat(i,'" -> "').concat(s,'" should be radians!')),o},shouldExist:(e=o=a=h=f=m=this,r=i=u=l=y=v=b,n=s=c=p=d=g=t,function(t){return w(t)||M('"'.concat(r,'" -> "').concat(n,'" should exist!')),e})}:{shouldBeDegree:x(this),shouldBeMeters:x(this),shouldBeInt:x(this),shouldBeUInt:x(this),shouldBeRadians:x(this),shouldExist:x(this)};var e,r,n,o,i,s,a,u,c,h,l,p,f,y,d,m,v,g}}}function L(t,r){var e=t.h,n=t.w;return"function"==typeof r?p(e).map(function(t,e){return p(n,function(t){return r(t,e)})}):p(e).map(function(){return p(n,r)})}function u(t){for(var e=t.length,r=L(new O(e+1,e)),n=0;n<e;n++)for(var o=0;o<e+1;o++)t[n][o]=0===t[n][o]?u.MIN:t[n][o],r[n][o]=t[n][o];for(var i=0;i<e;i++){for(n=0;n<e+1;n++)r[i][n]/=t[i][i];for(n=i+1;n<e;n++)for(var s=r[n][i]/r[i][i],o=0;o<e+1;o++)r[n][o]-=r[i][o]*s;for(n=0;n<e;n++)for(o=0;o<e+1;o++)t[n][o]=r[n][o]}for(i=e-1;-1<i;i--){for(n=e;-1<n;n--)r[i][n]/=t[i][i];for(n=i-1;-1<n;n--)for(s=r[n][i]/r[i][i],o=e;-1<o;o--)r[n][o]-=r[i][o]*s}for(var a=p(e),n=0;n<e;n++)a[n]=r[n][e];return a}function R(t,e,r){var n=0,o=0,i=!1,e=(o=t instanceof O?(n=t.x,t.y):n=t,"boolean"==typeof e?i=e:"number"==typeof e&&(o=e),(i="boolean"==typeof r?r:i)?new OffscreenCanvas(n,o):(null!=(t=R.document)?t:document).createElement("canvas"));return i||(e.width=n,e.height=o),[e,e.getContext("2d")]}function G(t,e){for(var r,n,o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e?G.apply(void 0,l([(r=t,n=e,[].concat.apply([],l([],h(r.map(function(e){return n.map(function(t){return[].concat(e,t)})})),!1)))],h(o),!1)):t}function E(t){if(1===t.length)return t[0];for(var e=[],r=E(t.slice(1)),n=0;n<r.length;n++)for(var o=0;o<t[0].length;o++)e.push(l([t[0][o]],h(r[n]),!1));return e}function a(t,e){return Math.floor(t/e)}function V(t){var e=t<0,r=Math.floor(Math.abs(t)),t=Math.abs(t)%1*60,n=Math.floor(t),t=(t%1*60).toFixed(2);return"".concat(e?"-":"").concat(r,"° ").concat(n,"' ").concat(t,'"')}var c,h=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},l=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||((n=n||Array.prototype.slice.call(e,0,o))[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},Y=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},P={DEBUG:!1,parseFormat:"xyz"},M=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];P.DEBUG&&console.warn.apply(console,l([],h(t),!1))},w=function(t){return null!=t},p=function(t,r){return"function"==typeof r?new Array(t).fill(!1).map(function(t,e){return r(e)}):new Array(t).fill(null!=r?r:0)},f=(u.MIN=1e-10,e.like=function(t,e,r){return void 0===r&&(r=.001),Math.abs(t-e)<r},e.likeZero=function(t){return e.like(t,0)},e.like2PI=function(t){return e.like(e.rad2Deg(t),g)},e.likePI=function(t){return e.like(e.rad2Deg(t),i)},e.rad2Deg=function(t){return t*tt},e.deg2Rad=function(t){return t*b},e);function e(){}(r=c=c||{})[r.getTileFromCoords=0]="getTileFromCoords",r[r.getCoordsFromTile=1]="getCoordsFromTile",r[r.height=2]="height",r[r.setX=3]="setX",r[r.setY=4]="setY",r[r.setZ=5]="setZ",r[r.rotate=6]="rotate",r[r.rotate3dX=7]="rotate3dX",r[r.rotate3dY=8]="rotate3dY",r[r.rotate3dZ=9]="rotate3dZ",r[r.move=10]="move",r[r.round=11]="round",r[r.ceil=12]="ceil",r[r.floor=13]="floor",r[r.toFixed=14]="toFixed",r[r.abs=15]="abs",r[r.scale=16]="scale",r[r.divide=17]="divide",r[r.degreeToRadians=18]="degreeToRadians",r[r.radiansToDegrees=19]="radiansToDegrees",r[r.radiansToMeters=20]="radiansToMeters",r[r.metersToRadians=21]="metersToRadians",r[r.hipPoint=22]="hipPoint",r[r.xPoint=23]="xPoint",r[r.yPoint=24]="yPoint",r[r.wPoint=25]="wPoint",r[r.hPoint=26]="hPoint",r[r.setIfLessThan=27]="setIfLessThan",r[r.minus=28]="minus",r[r.degreeToMeters=29]="degreeToMeters",r[r.metersToDegree=30]="metersToDegree",r[r.flipVertically=31]="flipVertically",r[r.setProperties=32]="setProperties",r[r.div=33]="div",r[r.mod=34]="mod";function q(r,t){var e=t.functionName,n=t.pointArg,o=t.numberPointArg,i=t.numberArg,s=t.setterArg,a=t.setterArgByObject,u=r;switch(e){case c.getTileFromCoords:u=function(t,e){return r(t,e).getTileFromCoords(i)};break;case c.getCoordsFromTile:u=function(t,e){return r(t,e).getCoordsFromTile(i)};break;case c.height:u=function(t,e){return r(t,e).height(i)};break;case c.setX:u=function(t,e){return"number"==typeof s?r(t,e).setX(s):r(t,e).setX(function(t){return s(t,e)})};break;case c.setY:u=function(t,e){return"number"==typeof s?r(t,e).setY(s):r(t,e).setY(function(t){return s(t,e)})};break;case c.setZ:u=function(t,e){return"number"==typeof s?r(t,e).setZ(s):r(t,e).setZ(function(t){return s(t,e)})};break;case c.rotate:u=function(t,e){return r(t,e).rotate(i)};break;case c.rotate3dX:u=function(t,e){return r(t,e).rotate3dX(i)};break;case c.rotate3dY:u=function(t,e){return r(t,e).rotate3dY(i)};break;case c.rotate3dZ:u=function(t,e){return r(t,e).rotate3dZ(i)};break;case c.move:u=function(t,e){return r(t,e).move(o,i)};break;case c.round:u=function(t,e){return r(t,e).round()};break;case c.ceil:u=function(t,e){return r(t,e).ceil()};break;case c.floor:u=function(t,e){return r(t,e).floor()};break;case c.toFixed:u=function(t,e){return r(t,e).toFixed(i)};break;case c.abs:u=function(t,e){return r(t,e).abs()};break;case c.scale:u=function(t,e){return r(t,e).scale(o,i)};break;case c.divide:u=function(t,e){return r(t,e).divide(o,i)};break;case c.div:u=function(t,e){return r(t,e).div(o,i)};break;case c.mod:u=function(t,e){return r(t,e).mod(o,i)};break;case c.degreeToRadians:u=function(t,e){return r(t,e).degreeToRadians()};break;case c.radiansToDegrees:u=function(t,e){return r(t,e).radiansToDegrees()};break;case c.radiansToMeters:u=function(t,e){return r(t,e).radiansToMeters()};break;case c.metersToRadians:u=function(t,e){return r(t,e).metersToRadians()};break;case c.hipPoint:u=function(t,e){return r(t,e).hipPoint};break;case c.xPoint:u=function(t,e){return r(t,e).xPoint};break;case c.yPoint:u=function(t,e){return r(t,e).yPoint};break;case c.wPoint:u=function(t,e){return r(t,e).wPoint};break;case c.hPoint:u=function(t,e){return r(t,e).hPoint};break;case c.setIfLessThan:u=function(t,e){return r(t,e).setIfLessThan(n)};break;case c.minus:u=function(t,e){return r(t,e).minus()};break;case c.degreeToMeters:u=function(t,e){return r(t,e).degreeToMeters()};break;case c.metersToDegree:u=function(t,e){return r(t,e).metersToDegree()};break;case c.flipVertically:u=function(t,e){return r(t,e).flipVertically(o)};break;case c.setProperties:u=function(t,e){return"object"==typeof a?r(t,e).setProperties(a):r(t,e).setProperties(function(t){return a(t,e)})}}return u}t.prototype.getLoopFunction=function(){return this.pool.reduce(q,function(t){return t})},t.prototype.run=function(){return this.parent.map(this.getLoopFunction())},t.prototype.getTileFromCoords=function(t){return this.pool.push({functionName:c.getTileFromCoords,numberArg:t}),this},t.prototype.getCoordsFromTile=function(t){return this.pool.push({functionName:c.getCoordsFromTile,numberArg:t}),this},t.prototype.height=function(t){return this.pool.push({functionName:c.height,numberArg:t}),this},t.prototype.setX=function(t){return this.pool.push({functionName:c.setX,setterArg:t}),this},t.prototype.setProperties=function(t){return this.pool.push({functionName:c.setProperties,setterArgByObject:t}),this},t.prototype.setY=function(t){return this.pool.push({functionName:c.setY,setterArg:t}),this},t.prototype.setZ=function(t){return this.pool.push({functionName:c.setZ,setterArg:t}),this},t.prototype.rotate=function(t){return this.pool.push({functionName:c.rotate,numberArg:t}),this},t.prototype.rotate3dX=function(t){return this.pool.push({functionName:c.rotate3dX,numberArg:t}),this},t.prototype.rotate3dY=function(t){return this.pool.push({functionName:c.rotate3dY,numberArg:t}),this},t.prototype.rotate3dZ=function(t){return this.pool.push({functionName:c.rotate3dZ,numberArg:t}),this},t.prototype.move=function(t,e){return this.pool.push({functionName:c.move,numberPointArg:t,numberArg:e=void 0===e?t:e}),this},t.prototype.round=function(){return this.pool.push({functionName:c.round}),this},t.prototype.ceil=function(){return this.pool.push({functionName:c.ceil}),this},t.prototype.floor=function(){return this.pool.push({functionName:c.floor}),this},t.prototype.toFixed=function(t){return this.pool.push({functionName:c.toFixed,numberArg:t=void 0===t?2:t}),this},t.prototype.abs=function(){return this.pool.push({functionName:c.abs}),this},t.prototype.scale=function(t,e){return this.pool.push({functionName:c.scale,numberPointArg:t,numberArg:e=void 0===e?t:e}),this},t.prototype.divide=function(t,e){return this.pool.push({functionName:c.divide,numberPointArg:t,numberArg:e}),this},t.prototype.div=function(t,e){return this.pool.push({functionName:c.div,numberPointArg:t,numberArg:e}),this},t.prototype.mod=function(t,e){return this.pool.push({functionName:c.mod,numberPointArg:t,numberArg:e}),this},t.prototype.degreeToRadians=function(){return this.pool.push({functionName:c.degreeToRadians}),this},t.prototype.radiansToDegrees=function(){return this.pool.push({functionName:c.radiansToDegrees}),this},t.prototype.radiansToMeters=function(){return this.pool.push({functionName:c.radiansToMeters}),this},t.prototype.metersToRadians=function(){return this.pool.push({functionName:c.metersToRadians}),this},t.prototype.getHipPoint=function(){return this.pool.push({functionName:c.hipPoint}),this},t.prototype.getXPoint=function(){return this.pool.push({functionName:c.xPoint}),this},t.prototype.getYPoint=function(){return this.pool.push({functionName:c.yPoint}),this},t.prototype.getWPoint=function(){return this.pool.push({functionName:c.wPoint}),this},t.prototype.getHPoint=function(){return this.pool.push({functionName:c.hPoint}),this},t.prototype.setIfLessThan=function(t){return this.pool.push({functionName:c.setIfLessThan,pointArg:t}),this},t.prototype.minus=function(){return this.pool.push({functionName:c.minus}),this},t.prototype.degreeToMeters=function(){return this.pool.push({functionName:c.degreeToMeters}),this},t.prototype.metersToDegree=function(){return this.pool.push({functionName:c.metersToDegree}),this},t.prototype.flipVertically=function(t){return this.pool.push({functionName:c.flipVertically,numberPointArg:t}),this};var X=t;function t(t){this.parent=t,this.pool=[]}var o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},_=function(n,o){var i,s,a,u={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},t={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(r){return function(t){var e=[r,t];if(i)throw new TypeError("Generator is already executing.");for(;u;)try{if(i=1,s&&(a=2&e[0]?s.return:e[0]?s.throw||((a=s.return)&&a.call(s),0):s.next)&&!(a=a.call(s,e[1])).done)return a;switch(s=0,(e=a?[2&e[0],a.value]:e)[0]){case 0:case 1:a=e;break;case 4:return u.label++,{value:e[1],done:!1};case 5:u.label++,s=e[1],e=[0];continue;case 7:e=u.ops.pop(),u.trys.pop();continue;default:if(!(a=0<(a=u.trys).length&&a[a.length-1])&&(6===e[0]||2===e[0])){u=0;continue}if(3===e[0]&&(!a||e[1]>a[0]&&e[1]<a[3]))u.label=e[1];else if(6===e[0]&&u.label<a[1])u.label=a[1],a=e;else{if(!(a&&u.label<a[2])){a[2]&&u.ops.pop(),u.trys.pop();continue}u.label=a[2],u.ops.push(e)}}e=o.call(n,u)}catch(t){e=[6,t],s=0}finally{i=a=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}},I=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},S=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},T=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||((n=n||Array.prototype.slice.call(e,0,o))[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},r=F.operation.buffer.BufferParameters,W=r.CAP_ROUND,n=r.CAP_FLAT,r=r.CAP_SQUARE,d=(j.arrayOfTrianglesToVertices=function(t,e){return t.map(function(t){return(w(e)?t.loop().height(e).run():t).toArrayOfCoords()}).flat(2)},j.minAreaRectangleSize=function(t){var t=t.clone().open(),e=t.first,r=t.second,t=t.last;return new O(e.distance(r),e.distance(t))},j.toDash=function(t){var e,r,n=new j,o=[n],i=!0;try{for(var s=I(t.points),a=s.next();!a.done;a=s.next()){var u=a.value;i&&n.push(u.clone()),u.properties.pieceBorder&&(i=!i)&&(n=new j,o.push(n),n.push(u.clone()))}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}return o},j.minAreaRectangleDirection=function(t){var t=t.clone().open(),e=t.first,r=t.second,t=t.last;return e&&r&&t?(e.distance(r)>e.distance(t)?e.findLine(r):e.findLine(t)).getFi():0},j.parseFromWKT=function(t){var e,r,n,t=t.trim().toUpperCase(),o=new j;return 0===t.indexOf("POLYGON")&&(n=/POLYGON \(\((?<data>(?:(?!\)\)$).)*?)\)\)$/imu.exec(t),e=(r=S(n.groups.data.split("), (").map(function(t){return new j(t.split(", ").map(function(t){return O.parse(t.split(" ").map(Number))}))})))[0],(r=r.slice(1))&&r.length&&(e.holes=r),o=e),0===t.indexOf("LINESTRING")&&(o=new j((n=/LINESTRING \((?<data>(?:(?!\)$).)*?)\)$/imu.exec(t)).groups.data.split(", ").map(function(t){return O.parse(t.split(" ").map(Number))}))),o=0===t.indexOf("POINT")?new j([O.parseFromWKT(t)]):o},j.createSquareBySize=function(t){return new j([O.zero(),t.clone().setX(0),t.clone(),t.clone().setY(0)]).close()},j.prototype.loop=function(){return new X(this)},Object.defineProperty(j.prototype,"points",{get:function(){return this.pPoints},set:function(t){this.pPoints=t},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"maxX",{get:function(){return this.reduce(function(t,e){return Math.max(t,e.x)},-1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"minX",{get:function(){return this.reduce(function(t,e){return Math.min(t,e.x)},1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"maxY",{get:function(){return this.reduce(function(t,e){return Math.max(t,e.y)},-1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"minY",{get:function(){return this.reduce(function(t,e){return Math.min(t,e.y)},1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"innerCenter",{get:function(){var o=this.center;return this.toTriangles().map(function(t){n=(e=t).at(0),r=e.at(1),e=e.at(2);var e,r,n=new O((n.x+r.x+e.x)/3,(n.y+r.y+e.y)/3);return n.properties.score=Math.min(n.distance(t.at(0)),n.distance(t.at(1)),n.distance(t.at(2)))+n.distance(o),n}).sort(function(t,e){return t.properties.score-e.properties.score})[0]},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"center",{get:function(){return this.leftTop.move(this.size.divide(2))},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"h",{get:function(){return this.maxY-this.minY},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"w",{get:function(){return this.maxX-this.minX},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"dY",{get:function(){return this.h},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"dX",{get:function(){return this.w},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"extend",{get:function(){var t=this.minX,e=this.minY,r=this.maxX,n=this.maxY;return new j([new O(t,e),new O(r,e),new O(r,n),new O(t,n),new O(t,e)])},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"size",{get:function(){var t=this.w,e=this.h;return new O(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"leftTop",{get:function(){var t=this.minX,e=this.minY;return new O(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"minPoint",{get:function(){return this.leftTop},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"rightBottom",{get:function(){var t=this.maxX,e=this.maxY;return new O(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"maxPoint",{get:function(){return this.rightBottom},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"length",{get:function(){return this.pPoints.length},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"fullLength",{get:function(){return this.clone().open().perimeter},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"fullLengthLatLon",{get:function(){return this.clone().open().perimeterLatLon},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"perimeter",{get:function(){var e,t,r=0;try{for(var n=I(this.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=i[1];r+=s.distance(a)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"perimeterLatLon",{get:function(){var e,t,r=0;try{for(var n=I(this.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=i[1];r+=s.distanceLatLon(a)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"area",{get:function(){var e,t,r=0;try{for(var n=I(this.deintersection.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=s.x,u=s.y,c=i[1],h=c.x;r+=a*c.y-u*h}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return Math.abs(r/2)-this.holes.reduce(function(t,e){return t+e.area},0)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"filledDeintersection",{get:function(){for(var o=this.clone().deintersection.removeDuplicates().clockWise.open(),t=function(t){for(var e={},r=t=void 0===t?0:t;r<o.length;r++){var n=o.at(r).toString();if("number"==typeof e[n])return[e[n],r];e[n]=r}},e=t(),r=[];e;)var n=new j(o.clone().removePart(e[0],e[1]-e[0])),e=n.isClockwise?t(e[0]+1):(r.push(n.close()),o.removePart(e[0],e[1]-e[0]),t());return o.holes=r,o.close()},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"deintersection",{get:function(){for(var e,t,o=this.clone().close(),r={},i=0;i<o.length-1;i++)for(var n=o.at(i).toString(),s=(r[n]=r[n]||[],r[n].push(i),i+2);s<o.length-1;s++)!function(t){var e=o.at(i).findLine(o.at(i+1)),r=o.at(t).findLine(o.at(t+1)),n=e.intersection(r);n&&!T(T([],S(e.points),!1),S(r.points),!1).some(function(t){return t.like(n)})&&(e=o.removePart(i,t-i).reverse(),o.insertAfter.apply(o,T([i],S(e),!1)),o.insertAfter(t,n),o.insertAfter(i,n))}(s);try{for(var a=I(Object.keys(r)),u=a.next();!u.done;u=a.next()){var c=r[u.value];if(1<c.length)for(var h=function(t){var r=o.clone(),e=c[t]-c[t-1];1<e&&(e=new j(r.removePart(c[t-1],e))).reduce(function(t,e){return t&&function(t,e){var r,n;if(t.points.some(function(t){return t.equal(e)}))return!0;try{for(var o=I(t.loopPointsGenerator(!0)()),i=o.next();!i.done;i=o.next()){var s=S(i.value,3)[2];if(s.x(e).equal(e)&&s.inRange(e))return!0}}catch(t){P={error:t}}finally{try{i&&!i.done&&(x=o.return)&&x.call(o)}finally{if(P)throw P.error}}var a=0;try{for(var u=I(t.loopPointsGenerator()()),c=u.next();!c.done;c=u.next()){var h=S(c.value,2),l=h[0],p=l.x,f=l.y,y=h[1],d=y.x,m=y.y,v=new k(p-e.x,f-e.y,0),g=new k(d-e.x,m-e.y,0),b=v.findFi(g);0<v.vectorProduct(g).c?a+=b:a-=b}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var x=Math.PI/1e4,P=!1,t=Math.abs(a);if(t<x)P=!1;else{if(!(Math.abs(2*Math.PI-t)<x))throw new Error("contains2 faild");P=!0}return P}(r,e)},!0)&&r.isClockwise===e.isClockwise&&(r.insertAfter.apply(r,T([c[t-1]-1],S(e.reverse().points),!1)),o=r)},s=c.length-1;0<s;s--)h(s)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}return o},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"valid",{get:function(){return 3<this.length},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"first",{get:function(){return this.at(0)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"second",{get:function(){return this.at(1)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"last",{get:function(){return this.at(this.length-1)},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"minAreaRectangle",{get:function(){var e,t,r,n,o=this.convex,i=new j,s=1/0;try{for(var a=I(o.loopPointsGenerator(!0)()),u=a.next();!u.done;u=a.next()){var c,h,l,p,f=S(u.value,3)[2],y=0,d=null,m=null,v=0,g=null;try{r=void 0;for(var b=I(o.loopPointsGenerator()()),x=b.next();!x.done;x=b.next()){var P=S(x.value,4),M=P[0],w=P[3],T=f.findPoint(f.findPerpendicular(M)),k=T.distance(M);v<=k&&(v=k,g=M);for(var O=w;O<o.length-1;O++){var z=f.findPoint(f.findPerpendicular(o.at(O))),A=T.distance(z);y<=A&&(y=A,d=T,m=z)}}}catch(t){r={error:t}}finally{try{x&&!x.done&&(n=b.return)&&n.call(b)}finally{if(r)throw r.error}}d&&m&&g&&(h=(c=d.findLine(m)).findPerpendicular(d),(p=new j([d,m,(l=c.findPerpendicular(m)).findPoint(l.findPerpendicular(g)),h.findPoint(h.findPerpendicular(g))]).close()).area<s)&&(s=(i=p).area)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}return i},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"convex",{get:function(){var t=this.clone().open(),e=t.isClockwise;e||t.reverse();do{var r=t.last,n=t.first,o=t.second}while(((u=n.findInnerAngle(r,o))>Math.PI||f.likeZero(f.rad2Deg(u))||f.likePI(u)||f.like2PI(u))&&(t.removePart(-1,1),t.length));t.close();var i=0;do{for(var s=(t=t.deintersection).length,a=1;a<t.length-1;a++){var u,r=t.at(a-1),n=t.at(a),o=t.at(a+1);((u=n.findInnerAngle(r,o))>Math.PI||f.likeZero(f.rad2Deg(u))||f.likePI(u)||f.like2PI(u))&&t.removePart(--a,1)}}while(i++,t.length!==s&&i<100);return e||t.reverse(),t},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"isClockwise",{get:function(){var e,t,r=0;try{for(var n=I(this.clone().close().loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=s.x,u=s.y,c=i[1];r+=(c.x-a)*(c.y+u)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r<0},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"clockWise",{get:function(){return this.isClockwise?this.clone():this.clone().reverse()},enumerable:!1,configurable:!0}),Object.defineProperty(j.prototype,"noHoles",{get:function(){var t=this.clone();return t.holes=[],t},enumerable:!1,configurable:!0}),j.prototype.reduce=function(t,e){return this.pPoints.reduce(t,e)},j.prototype.intersection=function(t,e){void 0===e&&(e=!1);var r,n,o=[];try{for(var i=I(this.loopPointsGenerator(!0)()),s=i.next();!s.done;s=i.next()){var a=S(s.value,3)[2].intersection(t,0,e);a&&o.push(a)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return o},j.prototype.setCenter=function(t){return this.loop().move(t.clone().move(this.center.minus())).run()},j.prototype.toWKT=function(t,e){return void 0===e&&(e=!1),(t=void 0===t?j.WKT_POLYGON:t)===j.WKT_POLYGON?(t="",this.holes&&this.holes.length&&(t=", ".concat(this.holes.map(function(t){return t.toString()}).join(", "))),"POLYGON ((".concat(this.deintersection.mapArray(function(t){return"".concat(t.x," ").concat(t.y).concat(e?" ".concat(t.z):"")}).join(", "),")").concat(t,")")):"LINESTRING (".concat(this.mapArray(function(t){return"".concat(t.x," ").concat(t.y).concat(e?" ".concat(t.z):"")}).join(", "),")")},j.prototype.filter=function(t){return this.pPoints=this.pPoints.filter(t),this},j.prototype.map=function(e){return this.pPoints=this.mapArray(e),this.holes=this.holes.map(function(t){return t.map(e)}),this},j.prototype.mapArray=function(t){return this.pPoints.map(t)},j.prototype.sort=function(t){return this.points.sort(t),this},j.prototype.at=function(t){var e=this.length;return this.points[(t%e+e)%e]},j.prototype.pop=function(){return this.pPoints.pop()},j.prototype.push=function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return(t=this.pPoints).push.apply(t,T([],S(e),!1))},j.prototype.shift=function(){return this.pPoints.shift()},j.prototype.unshift=function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return(t=this.pPoints).unshift.apply(t,T([],S(e),!1))},j.prototype.reverse=function(){return this.pPoints=this.pPoints.reverse(),this.holes=this.holes.map(function(t){return t.reverse()}),this},j.prototype.getValue=function(){return this.pPoints.map(function(t){return t.getValue()})+this.holes.reduce(function(t,e){return t+e.getValue()},"")},j.prototype.toString=function(){return"(".concat(this.mapArray(function(t){return t.toString()}).join(", "),")")},j.prototype.close=function(){var t=this.first;return t&&!this.closed&&this.push(t.clone()),this},j.prototype.open=function(){var t=this.first;return 2<this.length&&t&&this.closed&&this.pop(),this},j.prototype.add=function(t){var e=new j(T(T([],S(this.points),!1),S(t.points),!1)).close();return e.holes=T(T([],S(this.holes),!1),S(t.holes),!1).map(function(t){return t.clone()}),e},j.prototype.has=function(e){return this.pPoints.some(function(t){return t.equal(e)})},j.prototype.clone=function(){var t=new j(this.points.map(function(t){return t.clone()}));return t.holes=this.holes.map(function(t){return t.clone()}),t.properties=o({},this.properties),t},j.prototype.equal=function(r){return r instanceof j&&this.length===r.length&&this.holes.length===r.holes.length&&this.same(r)&&this.holes.reduce(function(t,e){return t&&r.holes.some(function(t){return t.same(e)})},!0)},j.prototype.same=function(t){for(var e=t.clone().close(),r=this.clone().close().toString(),n=0;n<e.length;n++){if(r===e.toString()||r===e.clone().reverse().toString())return!0;e.nextStart()}return!1},j.prototype.findIndex=function(e){return e instanceof O?this.points.findIndex(function(t){return t.equal(e)}):this.points.findIndex(e)},j.prototype.approximation=function(t){return void 0===t&&(t=.1*Math.sqrt(this.perimeter)),new j(this.clone().douglasPeucker(this.pPoints,t))},j.prototype.insertAfter=function(t){for(var e,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];(e=this.pPoints).splice.apply(e,T([t+1,0],S(r),!1))},j.prototype.removePart=function(t,e){return this.pPoints.splice(t+1,e)},j.prototype.hasSimpleIntersection=function(t){var e=this.extend,r=t.extend,t=e.points,n=r.points,t=t.some(function(t){return r.simpleInclude(t)}),n=n.some(function(t){return e.simpleInclude(t)});return t||n},j.prototype.simpleInclude=function(t){return this.simpleIncludeX(t)&&this.simpleIncludeY(t)},j.prototype.drawPolygonOnCanvas=function(t,e,r,n,o,i){return void 0===o&&(o=1),void 0===i&&(i=this.length-1),1<this.length&&(t=t.getContext("2d"),e&&(t.fillStyle=e),r&&(t.strokeStyle=r),o&&(t.lineWidth=o),(e||r)&&t.beginPath(),this.goByPath(t,i%this.length),n&&(t.shadowColor=n,t.shadowBlur=0,t.shadowOffsetX=1,t.shadowOffsetY=1),e&&(t.closePath(),t.fill()),r)&&t.stroke(),this},j.prototype.clearPolygonOnCanvas=function(t){var t=t.getContext("2d"),e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",this.goByPath(t),t.fill(),t.globalCompositeOperation=e},j.prototype.contain=function(t,e){var r;if(void 0===e&&(e=!1),!this.simpleInclude(t))return!1;if(this.onBorder(t))return e;var e=this.deintersection,n=0;try{for(var o=I(e.loopPointsGenerator()()),i=o.next();!i.done;i=o.next()){var s=S(i.value,2),a=s[0],u=a.x,c=a.y,h=s[1],l=h.x,p=h.y,f=new k(u-t.x,c-t.y,0),y=new k(l-t.x,p-t.y,0),d=f.findFi(y);0<f.vectorProduct(y).c?n+=d:n-=d}}catch(t){r={error:t}}finally{try{i&&!i.done&&(m=o.return)&&m.call(o)}finally{if(r)throw r.error}}var e=Math.PI/1e4,m=Math.abs(n);if(m<e)return!1;if(Math.abs(2*Math.PI-m)<e)return!0;throw new Error("contains2 faild")},j.prototype.onBorder=function(e){var r,t;if(this.simpleInclude(e)){var n=this.deintersection;if(this.points.some(function(t){return t.equal(e)}))return!0;try{for(var o=I(n.loopPointsGenerator(!0)()),i=o.next();!i.done;i=o.next()){var s=S(i.value,3)[2];if(s.x(e).equal(e)&&s.inRange(e))return!0}}catch(t){r={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}}return!1},j.prototype.nextStart=function(){return this.open(),this.push(this.shift()),this.close(),this},j.prototype.removeDuplicates=function(){for(var t=0;t<this.length-1;t++){var e=this.at(t),r=this.at(t+1);e.equal(r)&&(this.removePart(t,1),t--)}return this},j.toGeoJSONFeatureCollection=function(t,e){return void 0===e&&(e=P.parseFormat),{type:"FeatureCollection",features:t.map(function(t){return t.toGeoJSONFeature(e)})}},j.parse=function(t,n){if(void 0===n&&(n=P.parseFormat),t.type)switch(t.type){case"FeatureCollection":return t.features.reduce(function(t,e){e=j.parse(e,n);return Array.isArray(e)?t.push.apply(t,T([],S(e),!1)):t.push(e),t},[]);case"Feature":var e=j.parse(t.geometry,n),r=o(o({},t.properties),t.id?{id:t.id}:{});return Array.isArray(e)?e.forEach(function(t){t.properties=o({},r)}):e.properties=o({},r),e;case"LineString":case"MultiPoint":return new j(t.coordinates.map(function(t){return O.parse(t,n)}));case"Polygon":return t.coordinates.reduce(function(t,e,r){return 0===r?t.points=e.map(function(t){return O.parse(t,n)}):t.holes.push(new j(e.map(function(t){return O.parse(t,n)}))),t},new j);case"MultiLineString":return t.coordinates.reduce(function(t,e){return t.push(new j(e.map(function(t){return O.parse(t,n)}))),t},[]);case"MultiPolygon":return t.coordinates.reduce(function(t,e){return t.push(j.parse({type:"Polygon",coordinates:e},n)),t},[]);case"GeometryCollection":return t.geometries.reduce(function(t,e){return t.push(j.parse(e,n)),t},[])}return new j(t.map(function(t){return O.parse(t,n)}))},j.prototype.toArrayOfCoords=function(e){return void 0===e&&(e=P.parseFormat),this.mapArray(function(t){return t.toCoords(e)})},j.prototype.toGeoJSONFeature=function(t){return void 0===t&&(t=P.parseFormat),{type:"Feature",properties:o({},this.properties),geometry:this.toGeoJSON(t)}},j.prototype.toGeoJSON=function(e){return void 0===e&&(e=P.parseFormat),this.closed?{type:"Polygon",coordinates:T([this.toArrayOfCoords(e)],S(this.holes.map(function(t){return t.toArrayOfCoords(e)})),!1)}:{type:"LineString",coordinates:this.toArrayOfCoords(e)}},j.prototype.divideToPieces=function(t,s){var e,r;void 0===s&&(s=!1);var a=this.fullLength/t,u=a,c=this;try{for(var n=I(this.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,4);!function(t,e,r){var n,o,i=t.distance(e);i===u?(e.properties.pieceBorder=!0,u=a):0<i-u?(o=new et(t,u),(o=(n=t.findLine(e)).intersectionWithCircle(o).filter(function(t){return n.inRange(t,.001)})[0]).properties.pieceBorder=!0,c.insertAfter(r,o),s&&(r=t.z,o.z=r-(r-e.z)*(t.distance(o)/i)),u=a):u-=i}(i[0],i[1],i[3])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},j.prototype.prepareToFastSearch=function(){var e,t;this.searchStore={};try{for(var r=I(this.points),n=r.next();!n.done;n=r.next()){var o=n.value,i=o.x,s=o.y,a=o.z;this.searchStore[i]||(this.searchStore[i]={}),this.searchStore[i][s]||(this.searchStore[i][s]={}),this.searchStore[i][s][a||"undefined"]=!0}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},j.prototype.fastHas=function(t){var e=t.x,r=t.y,t=t.z;return this.searchStore[e]&&this.searchStore[e][r]&&this.searchStore[e][r][t||"undefined"]||!1},Object.defineProperty(j.prototype,"growingPiecesGenerator",{get:function(){var a=this;return function(){var e,r,n,o,i,s;return _(this,function(t){switch(t.label){case 0:e=new j,t.label=1;case 1:t.trys.push([1,6,7,8]),r=I(a.pPoints),n=r.next(),t.label=2;case 2:return n.done?[3,5]:(o=n.value,e.push(o),o.properties.pieceBorder?[4,e.clone()]:[3,4]);case 3:t.sent(),t.label=4;case 4:return n=r.next(),[3,2];case 5:return[3,8];case 6:return o=t.sent(),i={error:o},[3,8];case 7:try{n&&!n.done&&(s=r.return)&&s.call(r)}finally{if(i)throw i.error}return[7];case 8:return[2,e.clone()]}})}},enumerable:!1,configurable:!0}),j.prototype.simpleUnion=function(t){try{var e=this.simpleLogicFunction(t,!0,!0);return null===e?null:e instanceof j?e:null}catch(t){return null}},j.prototype.simpleIntersection=function(t){return this.simpleLogicFunction(t,!1,!1)},j.prototype.simpleDifference=function(t){return this.simpleLogicFunction(t,!0,!1)},j.prototype.smartUnion=function(t){var e,r,n=this.clone().simpleUnion(t);if(n){var i=T(T(T([],S(this.holes),!1),S(t.holes),!1),S(n.holes),!1).map(function(t){return t.clone()}),o=function(r){var e,t;try{e=void 0;for(var n=I(i),o=n.next();!o.done;o=n.next())!function(e){if(r.equal(e))return;var t=r.simpleUnion(e);t&&(i=i.filter(function(t){return!t.equal(r)&&!t.equal(e)})).push(t)}(o.value)}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}};try{for(var s=I(i),a=s.next();!a.done;a=s.next())o(a.value)}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}n.holes=i}return n},j.prototype.toTriangles=function(){var t=this.clone().removeDuplicates().open();if(t.length<3)return[];if(3===t.length)return[t];for(var i=function(t,e,r){var n=e.findLine(r),o=n.center,e=t.holes.reduce(function(t,e){return t&&Boolean(e.clone().close().intersection(n,!0).length)},Boolean(t.clone().close().intersection(n,!0).length)),r=t.holes.reduce(function(t,e){return t&&!e.contain(o)},t.contain(o));return!e&&r},e=this.clone().removeDuplicates().clockWise.open();e.holes.length;)for(var r=e.holes.shift().clone().clockWise.reverse().close(),n=0;n<e.length;n++){if(i(e,e.first,r.first)){e.insertAfter.apply(e,T(T([0],S(r.points),!1),[e.first],!1));break}e.push(e.shift())}for(var o=[];3<e.length;){var s=function(t){for(var e=0;e<t.length;e++){var r=t.at(0),n=t.at(1),o=t.at(2);if(i(t,r,o))return t.removePart(0,1),new j([r.clone(),n.clone(),o.clone()]);t.push(t.shift())}}(e);s&&o.push(s)}return o.push(e),o},j.prototype.getTrianglesPointIndexes=function(){var i=function(t,e,r){var n=e.findLine(r),o=n.center,e=t.holes.reduce(function(t,e){return t&&Boolean(e.clone().close().intersection(n,!0).length)},Boolean(t.clone().close().intersection(n,!0).length)),r=t.holes.reduce(function(t,e){return t&&!e.contain(o)},t.contain(o));return!e&&r},t=this.clone(),e=0;for(t.points.forEach(function(t){t.properties.index=e++}),t.holes.forEach(function(t){t.pPoints.forEach(function(t){t.properties.index=e++})}),t=t.clockWise.open();t.holes.length;)for(var r=t.holes.shift().clone().clockWise.reverse().close(),n=0;n<t.length;n++){if(i(t,t.first,r.first)){t.insertAfter.apply(t,T(T([0],S(r.points),!1),[t.first],!1));break}t.push(t.shift())}for(var o=[];3<t.length;){var s=function(t){for(var e=0;e<t.length;e++){var r=t.at(0),n=t.at(1),o=t.at(2);if(i(t,r,o))return t.removePart(0,1),[r.properties.index,n.properties.index,o.properties.index];t.push(t.shift())}}(t);s&&o.push.apply(o,T([],S(s),!1))}return o.push.apply(o,T([],S(t.points.map(function(t){return t.properties.index})),!1)),o},Object.defineProperty(j.prototype,"closed",{get:function(){return this.first.equal(this.last)},enumerable:!1,configurable:!0}),j.prototype.buffer=function(t,e,r){void 0===e&&(e=64),void 0===r&&(r=j.CAP_ROUND);var n=new F.io.WKTReader,o=this.noHoles,i=this.closed;return new j(n.read(o.toWKT(i?j.WKT_POLYGON:j.WKT_LINESTRING)).buffer(t,e,r).getCoordinates().map(function(t){var e=t.x,t=t.y;return new O(e,t)}))},j.prototype.sideBuffers=function(t,e){var r=this.first,n=this.last,t=this.buffer(t,e=void 0===e?64:e,j.CAP_FLAT).open(),e=S(r.sortByDistance(t).points.map(function(t){return t.properties.index}),2),r=e[0],e=e[1],n=S(n.sortByDistance(t).points.map(function(t){return t.properties.index}),2),o=n[0],n=n[1],i=Math.min(Math.max(r,e),Math.max(o,n)),r=Math.max(Math.min(r,e),Math.min(o,n)),e=new j(t.removePart(i-1,r-i+1));return t.unshift(t.pop()),[e.reverse(),t]},j.prototype.setProperties=function(t){return this.properties="object"==typeof t?t:t(this),this},j.prototype.bezier=function(t){void 0===t&&(t=.1);for(var e=new j,r=0;r<1;r+=t)e.push(this.clone().getBezierPoint(r));return e},j.prototype.setGrowingHeight=function(e,t){var r=this.fullLength,n=this.first,o=t-e,i=0;return this.loop().setZ(function(t){return i+=n.distance(t),n=t,e+i/r*o}).run(),this},j.prototype.loopPointsGenerator=function(o){void 0===o&&(o=!1);var i=this;return function(){var e,r,n;return _(this,function(t){switch(t.label){case 0:e=0,t.label=1;case 1:return e<i.length-1?(r=i.at(e),n=i.at(e+1),[4,[r,n,o?r.findLine(n):void 0,e]]):[3,4];case 2:t.sent(),t.label=3;case 3:return e++,[3,1];case 4:return[2]}})}},j.prototype.getBezierPoint=function(t){var e,r;if(1===this.length)return this.first;try{for(var n=I(this.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=i[1];s.move(a.clone().move(s.clone().minus()).scale(t))}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this.pop(),this.getBezierPoint(t)},j.prototype.simpleIncludeX=function(t){t=t.x;return this.minX<=t&&this.maxX>=t},j.prototype.simpleIncludeY=function(t){t=t.y;return this.minY<=t&&this.maxY>=t},j.prototype.douglasPeucker=function(t,e){for(var r,n=0,o=0,i=t.length-1,s=t[0].findLine(t[i]),a=1;a<i;a++){var u=s.perpendicularDistance(t[a]);n<u&&(o=a,n=u)}return e<=n?(r=this.douglasPeucker(t.slice(0,o+1),e),e=this.douglasPeucker(t.slice(o),e),r.pop(),T(T([],S(r),!1),S(e),!1)):[t[0],t[i]]},j.prototype.goByPath=function(t,e){void 0===e&&(e=this.length-1);var r=this.first;t.moveTo(r.x,r.y);for(var n=1;n<=e%this.length;n++){var o=this.at(n),i=o.x,o=o.y;t.lineTo(i,o)}},j.prototype.getJSTSGeometry=function(t,e,r){var r=r===e,n=new F.io.WKTReader,o=n.read(this.noHoles.toWKT()),n=n.read(t.noHoles.toWKT());return r?e?o.union(n):o.intersection(n):o.difference(n)},j.prototype.simpleLogicFunction=function(t,e,r){var n,o,i,s,a,u,c,h,t=this.getJSTSGeometry(t,e,r);if(t){var l=t.getCoordinates();if(l.length){var p=l.reduce(function(t,e,r){var n=e.x,e=e.y,o=t.length-1,n=new O(n,e),e=t[o].first;return n.equal(e)?l[r+1]&&(e=new O(l[r+1].x,l[r+1].y),1<t[o].length)&&t.push(new j([e])):t[o].push(n),t},[new j([new O(l[0].x,l[0].y)])]);if(r&&e&&1<p.length)try{for(var f=I(p),y=f.next();!y.done;y=f.next()){var d=y.value;try{i=void 0;for(var m=I(p),v=m.next();!v.done;v=m.next())if("break"===function(e){var t,r;return d.has(e.first)&&!d.equal(e)?(r=d.findIndex(e.first),(t=d.points).splice.apply(t,T([r,0],S(e.points),!1)),p=p.filter(function(t){return!t.equal(e)}),"continue"):p.length<2?"break":void 0}(v.value))break}catch(t){i={error:t}}finally{try{v&&!v.done&&(s=m.return)&&s.call(m)}finally{if(i)throw i.error}}if(p.length<2)break}}catch(t){n={error:t}}finally{try{y&&!y.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}p=p.filter(function(t){return 2<t.length}).map(function(t){return t.close()});try{for(var g=I(p),b=g.next();!b.done;b=g.next()){d=b.value;try{c=void 0;for(var x=I(p),P=x.next();!P.done;P=x.next())if("break"===function(e){if(p.length<2)return"break";d.equal(e)||d.contain(e.first,!0)&&(d.holes.push(e),p=p.filter(function(t){return!t.equal(e)}))}(P.value))break}catch(t){c={error:t}}finally{try{P&&!P.done&&(h=x.return)&&h.call(x)}finally{if(c)throw c.error}}if(p.length<2)break}}catch(t){a={error:t}}finally{try{b&&!b.done&&(u=g.return)&&u.call(g)}finally{if(a)throw a.error}}return 0===p.length?null:1===p.length?p[0].close():p.map(function(t){return t.close()})}}return null},j.CAP_ROUND=W,j.CAP_FLAT=n,j.CAP_SQUARE=r,j.WKT_LINESTRING="LINESTRING",j.WKT_POLYGON="POLYGON",j);function j(t){this.pPoints=t=void 0===t?[]:t,this.properties={},this.holes=[],this.searchStore={}}m.prototype.clone=function(){return new m(this.a,this.b,this.c,this.begin.clone(),this.end.clone())},m.prototype.findPerpendicular=function(t){return s("findPerpendicular").checkArgument("this.begin").shouldBeMeters(this.begin).checkArgument("this.end").shouldBeMeters(this.end).checkArgument("p").shouldBeMeters(t),new m(-this.b,this.a,this.b*t.x-this.a*t.y)},m.prototype.perpendicularDistance=function(t){return s("perpendicularDistance").checkArgument("this.begin").shouldBeMeters(this.begin).checkArgument("this.end").shouldBeMeters(this.end).checkArgument("p").shouldBeMeters(t),this.findPerpendicular(t).findPoint(this).distance(t)},m.prototype.intersection=function(t,e,r){void 0===e&&(e=0),void 0===r&&(r=!1);var n=this.findPoint(t);return n?r?this.insideRange(n,e)&&t.insideRange(n,e)?n:null:this.inRange(n,e)&&t.inRange(n,e)?n:null:null},m.prototype.intersectionWithCircle=function(t){var e=t.center,t=t.r,r=this.findPerpendicular(e),r=this.findPoint(r),n=r.distance(e);if(this.begin.equal(e)&&(n=0),(n=this.end.equal(e)?0:n)<t){var o,i=this.a,s=this.b,a=this.c;if(this.isParallel){var u=e.distance(r),u=Math.sqrt(t*t-u*u);if(this.isParallelY)return r.x=this.begin.x,[r.clone().move(0,-u),r.clone().move(0,u)];if(this.isParallelX)return r.y=this.begin.y,[r.clone().move(u,0),r.clone().move(-u,0)]}return this.begin.like(e)?(o=this.begin.clone(),[this.movePoint(o,t),this.movePoint(o,-t)]):this.end.like(e)?(o=this.end.clone(),[this.movePoint(o,t),this.movePoint(o,-t)]):(u=i*i+s*s,e=Math.sqrt((t*t-a*a/u)/u),[r.clone().move(s*e,-i*e),r.clone().move(-s*e,i*e)])}return n===t?r:null},m.prototype.inRange=function(t,e){var r=this.minX,n=this.minY,o=this.maxX,i=this.maxY,s=t.x,t=t.y;return r-(e=void 0===e?0:e)<=s&&s<=o+e&&(n-e<=t&&t<=i+e)},m.prototype.insideRange=function(t,e){var r=this.begin,n=this.end;return this.inRange(t,e=void 0===e?0:e)&&!r.like(t,1e-5)&&!n.like(t,1e-5)},Object.defineProperty(m.prototype,"center",{get:function(){return this.begin.clone().setIfLessThan(this.end).move(this.end.clone().move(this.begin.clone().minus()).abs().minus().divide(2))},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"minX",{get:function(){return Math.min(this.begin.x,this.end.x)},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"minY",{get:function(){return Math.min(this.begin.y,this.end.y)},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"maxX",{get:function(){return Math.max(this.begin.x,this.end.x)},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"maxY",{get:function(){return Math.max(this.begin.y,this.end.y)},enumerable:!1,configurable:!0}),m.prototype.toString=function(){return"(".concat(this.a,", ").concat(this.b,", ").concat(this.c,")")},m.prototype.getValue=function(){return[this.a,this.b,this.c]},m.prototype.x=function(t){return this.isParallelY?new O(-this.c/this.a,t.y):this.isParallelX?new O(t.x,-this.c/this.b):new O(-this.b/this.a*t.y-this.c/this.a,t.y)},m.prototype.y=function(t){return this.isParallelY?new O(-this.c/this.a,t.y):this.isParallelX?new O(t.x,-this.c/this.b):new O(t.x,-this.a/this.b*t.x-this.c/this.b)},m.prototype.findPoint=function(t){var e,r;return this.isParallelY&&t.isParallelY||this.isParallelX&&t.isParallelX?null:this.isParallelX&&t.isParallelY?new O(-t.c/t.a,-this.c/this.b):this.isParallelY&&t.isParallelX?new O(-this.c/this.a,-t.c/t.b):this.isParallelY?(r=-this.c/this.a,t.y(new O(r))):this.isParallelX?(e=-this.c/this.b,t.x(new O(0,e))):t.isParallelY?(r=-t.c/t.a,this.y(new O(r))):t.isParallelX?(e=-t.c/t.b,this.x(new O(0,e))):(r=this.y(new O((t.c/t.b-this.c/this.b)/(this.a/this.b-t.a/t.b))),isFinite(r.x)||isFinite(r.y)?r:null)},Object.defineProperty(m.prototype,"isParallel",{get:function(){return this.isParallelX||this.isParallelY},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"isParallelY",{get:function(){return Math.abs(this.b)<.001},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"isParallelX",{get:function(){return Math.abs(this.a)<.001},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"points",{get:function(){return[this.begin,this.end]},enumerable:!1,configurable:!0}),m.prototype.getFi=function(){s("getFi").checkArgument("this.begin").shouldBeMeters(this.begin).checkArgument("this.end").shouldBeMeters(this.end);var t=this.end.clone().move(this.begin.clone().minus()),e=t.x,t=t.y,t=Math.atan2(t,e)-Math.PI;return 0<t&&(t=Math.PI-t),(Math.PI-t)%(2*Math.PI)},m.prototype.toWKT=function(){var t=this.begin,e=t.x,t=t.y,r=this.end,n=r.x,r=r.y;return"LINESTRING (".concat(e," ").concat(t,", ").concat(n," ").concat(r,")")},m.prototype.movePoint=function(t,e){var r=Array.isArray(t),t=r?t:[t],n=r?e:[e],e=this.findFi(new m(1,0,0)),o=this.x(new O(1,1)).distance(this.x(new O(2,2)))/2,i=new O(Math.sin(e),Math.cos(e)),e=i.clone().scale(o),o=t[0].clone().move(e.clone().minus()),e=t[0].clone().move(e),s=[],s=f.like(this.y(o).y,o.y)||f.like(this.y(e).y,e.y)?t.map(function(t,e){return t.clone().move(i.clone().scale(n[e]))}):t.map(function(t,e){return t.clone().move(i.clone().scale(n[e]).setX(function(t){return-t.x}))});return r?s:s[0]},m.prototype.findFi=function(t,e){var r=t.a,t=t.b,n=(void 0===e&&(e=1.0001),this.a),o=this.b,n=(n*r+o*t)/(Math.sqrt(n*n+o*o)*Math.sqrt(r*r+t*t));return 1<n&&n<e?n=1:n<-1&&-e<n&&(n=-1),Math.acos(n)},m.prototype.vectorProduct=function(t){var e=t.a,r=t.b,t=t.c,n=this.a,o=this.b,i=this.c;return new m(o*t-i*r,i*e-n*t,n*r-o*e)},m.prototype.bresenhamsLine=function(){for(var t=this.begin,e=t.x,r=t.y,t=this.end,n=t.x,o=t.y,i=Math.abs(n-e),s=e<n?1:-1,a=-Math.abs(o-r),u=r<o?1:-1,c=i+a,h=new d;h.push(new O(e,r)),e!==n||r!==o;){var l=2*c;if(a<=l){if(e===n)break;c+=a,e+=s}if(l<=i){if(r===o)break;c+=i,r+=u}}return h};var k=m;function m(t,e,r,n,o){void 0===n&&(n=O.zero()),void 0===o&&(o=O.zero()),this.a=t,this.b=e,this.c=r,this.begin=n,this.end=o}var v=function(){return(v=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},K=function(t,e){var r={};for(o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,o=Object.getOwnPropertySymbols(t);n<o.length;n++)e.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(t,o[n])&&(r[o[n]]=t[o[n]]);return r},U=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},Z=new d,H=new d,J=new d,Q=6378137,W=20037508.34,$=W/180,i=180,g=360,b=Math.PI/i,tt=i/Math.PI,O=(z.zero=function(){return new z},z.parse=function(t,e){void 0===e&&(e=P.parseFormat);var r,o,n=t.lat,i=t.lon,s=t.lng,i=void 0===s?i:s,s=t.alt;return n&&i?new z(i,n,null!=s?s:0):(i=t.x,n=t.y,s=t.z,r=K(t,["x","y","z"]),w(i)&&w(n)?new z(i,n,s).setProperties(r):("Point"===(o=t).type&&(o=t.coordinates),"Feature"===t.type?((i=z.parse(t.geometry,e)).properties=v({},t.properties),i):e.replace(/[^x-z]/gimu,"").split("").reduce(function(t,e,r){var n;switch(e){case"x":t.x=null!=(n=o[r])?n:0;break;case"y":t.y=null!=(n=o[r])?n:0;break;case"z":t.z=o[r]}return t},new z)))},z.parseFromWKT=function(t){t=t.trim().toUpperCase(),t=/POINT \((?<data>(?:(?!\)).)*?)\)$/imu.exec(t),t=U(t.groups.data.split(" ").map(Number),3);return new z(t[0],t[1],t[2])},z.random=function(){return new z(Math.random(),Math.random())},z.getTileFromQuadKey=function(t){for(var e=new z(0,0,t.length),r=e.z;0<r;r--){var n=1<<r-1;switch(t[e.z-r]){case"0":break;case"1":e.x|=n;break;case"2":e.y|=n;break;case"3":e.x|=n,e.y|=n;break;default:throw new Error("Invalid QuadKey digit sequence.")}}return e},z.prototype.toDegreesMinutesSeconds=function(){return{x:V(this.x),y:V(this.y)}},z.prototype.getTileFromCoords=function(t){return void 0===t&&(t=this.z),s("getTileFromCoords").checkArgument("this").shouldBeDegree(this),new z(Math.floor((this.x+i)/g*Math.pow(2,t)),Math.floor((1-Math.log(Math.tan(this.y*b)+1/Math.cos(this.y*b))/Math.PI)/2*Math.pow(2,t)),t)},z.prototype.getQuadKeyFromTile=function(t){for(var e=[],r=t=void 0===t?this.z:t;0<r;r--){var n=0,o=1<<r-1;0!=(this.x&o)&&n++,0!=(this.y&o)&&(n++,n++),e.push(n)}return e.join("")},z.prototype.getCoordsFromTile=function(t){void 0===t&&(t=this.z),s("getCoordsFromTile").checkArgument("this").shouldBeUInt(this);var e=Math.PI-2*Math.PI*this.y/Math.pow(2,t);return new z(this.x/Math.pow(2,t)*g-i,i/Math.PI*Math.atan((Math.exp(e)-Math.exp(-e))/2),t)},z.prototype.toCoords=function(t){var e=this;return(t=void 0===t?P.parseFormat:t).replace(/[^x-z]/gimu,"").split("").map(function(t){return{x:e.x,y:e.y,z:e.z}[t]}).filter(function(t){return void 0!==t})},z.prototype.toGeoJSON=function(t){return{type:"Point",coordinates:this.toCoords(t=void 0===t?P.parseFormat:t)}},z.prototype.toGeoJSONFeature=function(t){return void 0===t&&(t=P.parseFormat),{type:"Feature",properties:v({},this.properties),geometry:this.toGeoJSON(t)}},z.prototype.findLine=function(t){var e,r,n;return s("findLine").checkArgument("this").shouldBeMeters(this).checkArgument("p").shouldBeMeters(t),this.equal(t)?this.findLine(t.clone().move(0,1)):(e=this.y-t.y,r=t.x-this.x,n=this.x*t.y-t.x*this.y,0==e?new k(0,1,n/r,this,t):0==r?new k(1,0,n/e,this,t):new k(e,r,n,this,t))},z.prototype.findInnerAngle=function(t,e){s("findInnerAngle").checkArgument("this").shouldBeMeters(this).checkArgument("p1").shouldBeMeters(t).checkArgument("p3").shouldBeMeters(e);t=this.findLine(t).getFi(),e=this.findLine(e).getFi();return t<=e?e-t:e+2*Math.PI-t},z.prototype.toString=function(){return"".concat(this.x," ").concat(this.y)},z.prototype.getValue=function(){return[this.x,this.y]},z.prototype.height=function(t){return this.z=t,this},z.prototype.toWKT=function(){var t=this.x,e=this.y;return"POINT (".concat(t," ").concat(e,")")},z.prototype.distance=function(t){s("distance").checkArgument("this").shouldBeMeters(this).checkArgument("p").shouldBeMeters(t);var e=t.x-this.x,t=t.y-this.y;return Math.sqrt(e*e+t*t)},z.prototype.distanceLatLon=function(t){s("distance").checkArgument("this").shouldBeDegree(this).checkArgument("p").shouldBeDegree(t);var e=t.clone().move(this.clone().minus()).degreeToRadians(),r=this.clone().degreeToRadians(),t=t.clone().degreeToRadians(),r=Math.pow(Math.sin(e.lat/2),2)+Math.cos(r.lat)*Math.cos(t.lat)*Math.pow(Math.sin(e.lon/2),2),t=2*Math.atan2(Math.sqrt(r),Math.sqrt(1-r));return Q*t},z.prototype.distance3d=function(t){s("distance3d").checkArgument("this").shouldBeMeters(this).checkArgument("p").shouldBeMeters(t).checkArgument("this.z").shouldExist(this.z).checkArgument("p.z").shouldExist(t.z);var e=t.x-this.x,r=t.y-this.y,t=t.z-this.z;return Math.sqrt(e*e+r*r+t*t)},z.prototype.setX=function(t){return this.x="number"==typeof t?t:t(this),this},z.prototype.setZ=function(t){return this.z="number"==typeof t?t:t(this),this},z.prototype.setY=function(t){return this.y="number"==typeof t?t:t(this),this},z.prototype.setProperties=function(t){return this.properties="object"==typeof t?t:t(this),this},z.prototype.clone=function(){var t=new z(this.x,this.y,this.z);return t.properties=v({},this.properties),t},z.prototype.gt=function(t){return this.x>t.x&&this.y>t.y},z.prototype.lt=function(t){return this.x<t.x&&this.y<t.y},z.prototype.gtOrEqual=function(t){return this.gt(t)||this.equal(t)},z.prototype.ltOrEqual=function(t){return this.lt(t)||this.equal(t)},z.prototype.rotate=function(t){var e=this.x*Math.cos(t)-this.y*Math.sin(t),t=this.x*Math.sin(t)+this.y*Math.cos(t);return this.x=e,this.y=t,this},z.prototype.rotate3dX=function(t){var e=this.y,r=this.z;return this.y=e*Math.cos(t)+r*Math.sin(t),this.z=-e*Math.sin(t)+r*Math.cos(t),this},z.prototype.rotate3dY=function(t){var e=this.x,r=this.z;return this.x=e*Math.cos(t)+r*Math.sin(t),this.z=-e*Math.sin(t)+r*Math.cos(t),this},z.prototype.rotate3dZ=function(t){var e=this.x,r=this.y;return this.x=e*Math.cos(t)-r*Math.sin(t),this.y=-e*Math.sin(t)+r*Math.cos(t),this},z.prototype.move=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x+t.x,o=this.y+t.y,w(this.z)&&w(t.z)&&(i=this.z+t.z)):(n=this.x+t,o=this.y+e,w(this.z)&&w(r)&&(i=this.z+r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.degreeToMeters=function(){s("degreeToMeters").checkArgument("this").shouldBeDegree(this);var t=((this.x+i)%g-i)*$,e=Math.log(Math.tan((this.y+90)%i*(Math.PI/g)))/b*$;return this.x=t,this.y=e,this},z.prototype.metersToDegree=function(){s("metersToDegree").checkArgument("this").shouldBeMeters(this);var t=8983152842445679e-21*this.x,e=Math.atan(Math.pow(Math.E,this.y/$*b))*(g/Math.PI)-90;return this.x=t,this.y=e,this},z.prototype.degreeToRadians=function(){return s("degreeToRadians").checkArgument("this").shouldBeDegree(this),this.scale(b)},z.prototype.radiansToDegrees=function(){return s("radiansToDegrees").checkArgument("this").shouldBeRadians(this),this.scale(tt)},z.prototype.radiansToMeters=function(){return s("radiansToMeters").checkArgument("this").shouldBeRadians(this),this.radiansToDegrees().degreeToMeters()},z.prototype.metersToRadians=function(){return s("metersToRadians").checkArgument("this").shouldBeMeters(this),this.metersToDegree().degreeToRadians()},z.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},z.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},z.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},z.prototype.toFixed=function(t){return void 0===t&&(t=2),this.x=parseFloat(this.x.toFixed(t)),this.y=parseFloat(this.y.toFixed(t)),this},z.prototype.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this},z.prototype.scale=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x*t.x,o=this.y*t.y,w(this.z)&&w(t.z)&&(i=this.z*t.z)):(n=this.x*t,o=this.y*e,w(this.z)&&w(r)&&(i=this.z*r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.divide=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x/t.x,o=this.y/t.y,w(this.z)&&w(t.z)&&(i=this.z/t.z)):(n=this.x/t,o=this.y/e,w(this.z)&&w(r)&&(i=this.z/r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.mod=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x%t.x,o=this.y%t.y,w(this.z)&&w(t.z)&&(i=this.z%t.z)):(n=this.x%t,o=this.y%e,w(this.z)&&w(r)&&(i=this.z%r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.div=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=a(this.x,t.x),o=a(this.y,t.y),w(this.z)&&w(t.z)&&(i=a(this.z,t.z))):(n=a(this.x,t),o=a(this.y,e),w(this.z)&&w(r)&&(i=a(this.z,r))),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.equal=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},z.prototype.like=function(t,e){var r,n,o;return void 0===e&&(e=.001),!!this.equal(t)||(r=Math.abs(this.x-t.x)<e,n=Math.abs(this.y-t.y)<e,o=Math.abs((null!=(o=null!=(o=this.z)?o:t.z)?o:0)-(null!=(t=null!=(o=t.z)?o:this.z)?t:0))<e,r&&n&&o)},z.prototype.flipVertically=function(t){var e=t;return t instanceof z&&(e=t.y),this.y=e-this.y,this},Object.defineProperty(z.prototype,"likeRadians",{get:function(){return 0===Z.length&&Z.push(new z(-Math.PI,-Math.PI/2),new z(Math.PI,Math.PI/2)),Z.simpleInclude(this)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"likeWorldGeodeticSystem",{get:function(){return 0===J.length&&J.push(new z(-180,-90),new z(180,90)),!this.likeRadians&&J.simpleInclude(this)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"likePseudoMercator",{get:function(){return 0===H.length&&H.push(new z(-20026376.39,-20048966.1),new z(20026376.39,20048966.1)),!this.likeRadians&&!this.likeWorldGeodeticSystem&&H.simpleInclude(this)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"w",{get:function(){return this.x},set:function(t){this.x=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"h",{get:function(){return this.y},set:function(t){this.y=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"area",{get:function(){return s("area").checkArgument("this").shouldBeMeters(this),this.w*this.h},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"hip",{get:function(){return s("hip").checkArgument("this").shouldBeMeters(this),Math.sqrt(this.w*this.w+this.h*this.h)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"min",{get:function(){return Math.min(this.x,this.y)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"max",{get:function(){return Math.max(this.x,this.y)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"hipPoint",{get:function(){var t=this.hip;return new z(t,t)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"xPoint",{get:function(){var t=this.x;return new z(t,t)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"yPoint",{get:function(){var t=this.y;return new z(t,t)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"wPoint",{get:function(){return this.xPoint},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"hPoint",{get:function(){return this.yPoint},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"lat",{get:function(){return this.y},set:function(t){this.y=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"lng",{get:function(){return this.x},set:function(t){this.x=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"lon",{get:function(){return this.x},set:function(t){this.x=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"alt",{get:function(){return this.z},set:function(t){this.z=t},enumerable:!1,configurable:!0}),z.prototype.simple=function(t,e,r){var n;return void 0===e&&(e="y"),void 0===r&&(r="z"),v(((n={})[t=void 0===t?"x":t]=this.x,n[e]=this.y,n),w(this.z)?((t={})[r]=this.z,t):{})},z.prototype.setIfLessThan=function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},z.prototype.setIfMoreThan=function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},z.prototype.minus=function(){return this.scale(-1)},z.prototype.orthodromicPath=function(t,e){void 0===e&&(e=360),s("orthodromicPath").checkArgument("this").shouldBeDegree(this).checkArgument("point").shouldBeDegree(t);var r=this.clone().degreeToRadians(),n=t.clone().degreeToRadians(),o=Math.sin(n.x-r.x),i=(n.x-r.x)/(e-1);return new d(p(e).map(function(t,e){e=r.x+i*e;return new z(e,Math.atan(Math.tan(r.y)*Math.sin(n.x-e)/o+Math.tan(n.y)*Math.sin(e-r.x)/o)).radiansToDegrees()}))},z.prototype.sortByDistance=function(t){var r=this;return t.clone().map(function(t,e){return t.properties.distance=t.distance(r),t.properties.index=e,t}).sort(function(t,e){return t.properties.distance-e.properties.distance})},z.prototype.calculateAltitudeByDistanceBetweenPoints=function(t,e){var r,n,o,i;return t.alt===e.alt?this.alt=t.alt:(r=Math.min(null!=(r=t.alt)?r:0,null!=(r=e.alt)?r:0),n=Math.max(null!=(n=t.alt)?n:0,null!=(n=e.alt)?n:0)-r,i=(o=this.distance(t))+(e=this.distance(e)),(null!=(t=t.alt)?t:0)===r?this.alt=r+o/i*n:this.alt=r+e/i*n),this},z);function z(t,e,r){void 0===t&&(t=0),void 0===e&&(e=t),this.x=t,this.y=e,this.z=r,this.properties={}}A.prototype.toString=function(){return"(".concat(this.center.toString(),", ").concat(this.r,")")},A.prototype.getValue=function(){return{center:this.center,r:this.r}},A.prototype.clone=function(){return new A(this.center,this.r)},A.prototype.findPoints=function(t){var e,r,n,o,i,s,a,u;return this.equal(t)?1/0:(u=(a=this.center).x,a=a.y,n=this.r,r=(s=t.center).x,e=(s=s.y)-a,t=(u=u+(i=(t=((n=n*n)-(o=t.r)*o+(o=this.center.distance(t.center))*o)/(2*o))/o)*(r=r-u))+(n=Math.sqrt(n-t*t)/o)*e,i=(o=a+i*(s-a))-n*r,s=u-n*e,a=o+n*r,u=[],isNaN(t)||isNaN(i)||u.push(new O(t,i)),isNaN(s)||isNaN(a)||t===s&&i===a||u.push(new O(s,a)),u)},A.prototype.equal=function(t){var e=t.center,t=t.r;return this.center.equal(e)&&this.r===t},A.prototype.findPolygonInside=function(t,e,r){void 0===t&&(t=64),void 0===e&&(e=0),void 0===r&&(r=2*Math.PI);for(var n=2*Math.PI/t,o=[],i=e;i<r-n;)o.push(new O(this.r).scale(Math.cos(i),Math.sin(i)).move(this.center)),i+=n;t=this.r*Math.cos(r)+this.center.x,e=this.r*Math.sin(r)+this.center.y;return o.push(new O(t,e)),new d(o)},A.prototype.findPolygonInsideOnSphere=function(t,e,r){void 0===t&&(t=64),void 0===e&&(e=0),void 0===r&&(r=2*Math.PI),s("findPolygonInsideOnSphere").checkArgument("center").shouldBeDegree(this.center);for(var n=2*Math.PI/t,o=[],i=e;i<r-n;)o.push(this.sphereOffset(i)),i+=n;return o.push(this.sphereOffset(r)),new d(o)},A.prototype.sphereOffset=function(t,e){void 0===e&&(e=Q);var r=this.center.clone().degreeToRadians(),n=r.x,r=r.y,e=this.r/e,o=Math.asin(Math.sin(r)*Math.cos(e)+Math.cos(r)*Math.sin(e)*Math.cos(t)),n=n+Math.atan2(Math.sin(t)*Math.sin(e)*Math.cos(r),Math.cos(e)-Math.sin(r)*Math.sin(o));return new O(n,o).radiansToDegrees()};var et=A;function A(t,e){void 0===t&&(t=O.zero()),void 0===e&&(e=0),this.center=t,this.r=e}var rt=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},nt=(ot.prototype.add=function(t){var e,r;try{for(var n=rt(t),o=n.next();!o.done;o=n.next()){var i=o.value,s=i.x,a=i.y,u=i.z;this.searchStore[s]||(this.searchStore[s]={}),this.searchStore[s][a]||(this.searchStore[s][a]={}),this.searchStore[s][a][u||"undefined"]=!0}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},ot.prototype.find=function(t){var e=t.x,r=t.y,t=t.z;return!!this.searchStore[e]&&!!this.searchStore[e][r]&&this.searchStore[e][r][t||"undefined"]},ot);function ot(){this.searchStore={}}function N(t,e,r){return void 0===r&&(r=y.TraceMatrixValues.f),void 0===t[e.y]||void 0===t[e.y][e.x]?r:t[e.y][e.x]}function it(t,e,r){void 0!==t[e.y]&&void 0!==t[e.y][e.x]&&(t[e.y][e.x]=r,t[e.y][e.x])}var st=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},at=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||((n=n||Array.prototype.slice.call(e,0,o))[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},ut=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},r=(y.TraceMatrixValues=void 0,(n=y.TraceMatrixValues||(y.TraceMatrixValues={}))[n.f=0]="f",n[n.t=1]="t",C.prototype.fullMatrixTrace=function(){var r=this,t=this.findAllGroupsInMatrix(this.m),n=t.map(function(t){return r.traceGroup(r.m,t)}),o=t.map(this.createHoleMatrix),i=o.map(function(t){return t&&r.findAllGroupsInMatrix(t)}),s=i.map(function(t,e){return t&&t.map(function(t){return r.traceGroup(o[e],t)}).filter(function(t){return 3<t.length})});return t.map(function(t,e){var r=n[e];return i[e]&&i[e].length&&(r.holes=s[e]),r.loop().divide(4).round().run()})},C.prototype.reverseMatrix=function(e){return C.createMatrix(this.size,function(t){return N(e,t)===y.TraceMatrixValues.f?y.TraceMatrixValues.t:y.TraceMatrixValues.f})},C.prototype.findMarked=function(t,e){for(var r=this.size,n=!1,o=0;o<r.w;o++)for(var i=0;i<r.h;i++)if(!n&&e)o=e.x,i=e.y,n=!0;else if(N(t,new O(o,i))===y.TraceMatrixValues.t)return new O(o,i);return null},C.prototype.totalCountInMatrix=function(t){for(var e=0,r=this.size,n=0;n<r.w;n++)for(var o=0;o<r.h;o++)N(t,new O(n,o))&&e++;return e},C.createMatrix=function(e,n){return void 0===n&&(n=function(){return y.TraceMatrixValues.f}),p(e.h).map(function(t,r){return p(e.w).map(function(t,e){return n(new O(e,r))})})},C);function C(t,n){var f=this,e=(this.approximation=!0,this.findGroupByIndex=function(t,e){var r=new d;if(e&&N(t,e)===y.TraceMatrixValues.t){r.push(e);var n=0,o=C.createMatrix(f.size,function(){return y.TraceMatrixValues.f});for(it(o,e,y.TraceMatrixValues.t);n<r.length;){for(var i=r.at(n),s=-1;s<2;s++)for(var a=-1;a<2;a++){var u=new O(i.x+s,i.y+a);N(o,u,y.TraceMatrixValues.t)===y.TraceMatrixValues.f&&N(t,u,y.TraceMatrixValues.f)===y.TraceMatrixValues.t&&(r.push(u),it(o,u,y.TraceMatrixValues.t))}n++}}return r},this.findAllGroupsInMatrix=function(t){var e=f.findMarked(t);if(!e)return[];var e=f.findGroupByIndex(t,e),r=[e],n=e.length,o=at([],st(e.points),!1),i=new nt;for(i.add(o);n<f.totalCountInMatrix(t);){for(var s=f.findMarked(t);s&&i.find(s);)s=f.findMarked(t,s);var a=f.findGroupByIndex(t,s);n+=a.length,o=at(at([],st(o),!1),st(a.points),!1),i.add(a.points),r.push(a)}return r.filter(function(t){return 2<t.length})},this.traceGroup=function(t,e){function r(t){return(t+o.length+1)%o.length}var n,o=[new O(-1,-1),new O(-1,0),new O(-1,1),new O(0,1),new O(1,1),new O(1,0),new O(1,-1),new O(0,-1)];if(e.length<2)return n=e.at(0).clone(),new d([n,n,n]);for(var i=new d,s=0,a=1/0,u=e.at(0);!u.equal(e.at(0))||i.length<2;){for(;;){var c=N(t,u.clone().move(o[s])),h=N(t,u.clone().move(o[r(s)]));if(c===y.TraceMatrixValues.t&&h===y.TraceMatrixValues.f)break;s=(s+o.length-1)%o.length}a!==s&&(i.push(u),a=s),u=u.clone().move(o[s]),s=r(r(s))}return(f.approximation?i.approximation():i.clone()).close()},this.createHoleMatrix=function(e){for(var r,t,n=[new O(-1,0),new O(0,1),new O(1,0),new O(0,-1)],o=(e.prepareToFastSearch(),C.createMatrix(f.size,function(t){return e.fastHas(t)?y.TraceMatrixValues.t:y.TraceMatrixValues.f})),i=new d,s=0;s<f.size.w;s++)i.push(new O(s,-1)),i.push(new O(s,f.size.h));for(s=0;s<f.size.h;s++)i.push(new O(-1,s)),i.push(new O(f.size.w,s));for(;i.length;){var a=i.pop();try{r=void 0;for(var u=ut(n),c=u.next();!c.done;c=u.next()){var h=c.value,l=a.clone().move(h);N(o,l,y.TraceMatrixValues.t)===y.TraceMatrixValues.f&&(it(o,l,y.TraceMatrixValues.t),i.push(l))}}catch(t){r={error:t}}finally{try{c&&!c.done&&(t=u.return)&&t.call(u)}finally{if(r)throw r.error}}}var p=f.reverseMatrix(o);return f.totalCountInMatrix(p)?p:null},this.size=t.clone().scale(4),C.createMatrix(this.size,function(t){var e=t.clone().mod(4),r=e.x,e=e.y;return[1,2].includes(r)&&[1,2].includes(e)?n(t.clone().div(4)):y.TraceMatrixValues.f}));this.m=C.createMatrix(this.size);for(var r=1;r<this.size.y-1;r++)for(var o=1;o<this.size.x-1;o++)e[r][o]===y.TraceMatrixValues.t&&(this.m[r-1][o-1]=y.TraceMatrixValues.t,this.m[r-1][o]=y.TraceMatrixValues.t,this.m[r-1][o+1]=y.TraceMatrixValues.t,this.m[r][o-1]=y.TraceMatrixValues.t,this.m[r][o]=y.TraceMatrixValues.t,this.m[r][o+1]=y.TraceMatrixValues.t,this.m[r+1][o-1]=y.TraceMatrixValues.t,this.m[r+1][o]=y.TraceMatrixValues.t,this.m[r+1][o+1]=y.TraceMatrixValues.t)}var ct=function(){return(ct=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},ht=function(t,e){var r={};for(o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,o=Object.getOwnPropertySymbols(t);n<o.length;n++)e.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(t,o[n])&&(r[o[n]]=t[o[n]]);return r},lt=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},W=(B.prototype.setKnownPoints=function(t){var e=this;return this.points=t instanceof d?t.points:t,this.minPoint.setProperties(this.points.reduce(function(n,o){return e.keys.reduce(function(t,e){var r;return t[e]=Math.min(null!=(r=n[e])?r:1/0,o.properties[e]),t},n)},{})),this.maxPoint.setProperties(this.points.reduce(function(n,o){return e.keys.reduce(function(t,e){var r;return t[e]=Math.max(null!=(r=n[e])?r:-1/0,o.properties[e]),t},n)},{})),this},B.prototype.positionToCellCoords=function(t){return t.clone().move(this.minPoint.clone().minus()).divide(this.stepSize).floor()},B.prototype.calculate=function(){return this.setKnownValues(),this.interpolateValues(),this},B.prototype.getCellValue=function(t,e){var r=t.x,t=t.y,n=this.cells[r][t];return e?Array.isArray(e)?e.reduce(function(t,e){return t[e]=n.properties[e],t},{}):n.properties[e]:ct({},n.properties)},Object.defineProperty(B.prototype,"getCellData",{get:function(){return this.allCells.reduce(function(t,e){var e=e.properties,r=e.x,n=e.y,e=ht(e,["x","y"]);return t[r]=t[r]||{},t[r][n]=ct({},e),t},{})},enumerable:!1,configurable:!0}),Object.defineProperty(B.prototype,"allCellsClone",{get:function(){return this.allCells.map(function(t){return t.clone()})},enumerable:!1,configurable:!0}),B.prototype.interpolateValues=function(){var i=this,t=this.points.map(function(t){return i.positionToCellCoords(t)});this.allCells.forEach(function(r){var e=new O(r.properties.x,r.properties.y),o=t.map(function(t){return Math.pow(e.distance(t),i.p)});i.keys.forEach(function(n){var t,e;w(r.properties[n])||(t=(e=lt(o.reduce(function(t,e,r){return w(i.points[r].properties[n])&&(t[0]+=i.points[r].properties[n]/e,t[1]+=1/e),t},[0,0]),2))[0],e=e[1],r.properties[n]=t/e)})})},B.prototype.setKnownValues=function(){var o=this;this.points.forEach(function(e){var t=o.positionToCellCoords(e),r=t.x,n=t.y;o.keys.forEach(function(t){o.cells[r][n].properties[t]=e.properties[t]})})},B.prototype.generateCells=function(){for(var t=this.minPoint.x,e=0;t<this.maxPoint.x;t+=this.stepSize,e++){this.cells[e]=this.cells[e]||{};for(var r=this.minPoint.y,n=0;r<this.maxPoint.y;r+=this.stepSize,n++){var o=this.sizePoly.clone().loop().move(t,r).run().setProperties({x:e,y:n});this.cells[e][n]=o,this.allCells.push(o)}}},B);function B(t,e,r,n){void 0===n&&(n=2),this.stepSize=e,this.p=n,this.points=[],this.cells={},this.allCells=[],this.minPoint=t.minPoint,this.maxPoint=t.maxPoint,this.sizePoly=d.createSquareBySize(new O(this.stepSize)),this.size=this.maxPoint.clone().move(this.minPoint.clone().minus()).divide(this.stepSize).ceil(),this.keys=Array.isArray(r)?r:[r],this.generateCells()}var pt=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},n=(D.find=function(t,e,r){var n;return t.x===e.x&&e.x===r.x?new D(1,0,0,-t.x,t,e,r):t.y===e.y&&e.y===r.y?new D(0,1,0,-t.y,t,e,r):t.z===e.z&&e.z===r.z?new D(0,0,1,-t.z,t,e,r):new D((n=pt(u([[t.x,t.y,t.z,-1],[e.x,e.y,e.z,-1],[r.x,r.y,r.z,-1]]),3))[0],n[1],n[2],1,t,e,r)},D.prototype.x=function(t){var e,r,n,o,i,s,a=this;return t instanceof O?(e=this.a,r=this.b,n=this.c,o=this.d,i=t.y,s=t.z,t.x=-(r*i+n*s+o)/e,t):t.map(function(t){return a.x(t)})},D.prototype.y=function(t){var e,r,n,o,i,s,a=this;return t instanceof O?(e=this.a,r=this.b,n=this.c,o=this.d,i=t.x,s=t.z,t.y=-(e*i+n*s+o)/r,t):t.map(function(t){return a.y(t)})},D.prototype.z=function(t){var e,r,n,o,i,s,a=this;return t instanceof O?(e=this.a,r=this.b,n=this.c,o=this.d,i=t.x,s=t.y,t.z=-(e*i+r*s+o)/n,t):t.map(function(t){return a.z(t)})},D.prototype.clone=function(){var t=this;return new D(t.a,t.b,t.c,t.d,t.p1,t.p2,t.p3)},D.prototype.distance=function(t){var e,r,n,o,i,s,a;return t instanceof O?(n=t.x,o=t.y,i=t.z,a=this.a,e=this.b,r=this.c,s=this.d,Math.abs(a*n+e*o+r*i+s)/Math.sqrt(a*a+e*e+r*r)):(n=t.a,o=t.b,i=t.c,s=t.d,a=this.d,Math.abs(s-a)/Math.sqrt(n*n+o*o+i*i))},D.prototype.equal=function(t){var e=t.a,r=t.b,n=t.c,t=t.d,o=this.a,i=this.b,s=this.c,a=this.d;return f.like(e,o)&&f.like(r,i)&&f.like(n,s)&&f.like(t,a)},D.prototype.same=function(t){var e=t.a,r=t.b,n=t.c,t=t.d,o=this.a,i=this.b,e=e/o,o=n/this.c,t=t/this.d;return f.like(e,r/i)&&f.like(e,o)&&f.like(e,n)&&f.like(e,t)},D.prototype.parallel=function(t){var e=t.a,r=t.b,n=t.c,t=t.d,o=this.a,i=this.b,e=e/o,o=n/this.c,t=t/this.d;return f.like(e,r/i)&&f.like(e,o)&&f.like(e,n)&&!f.like(e,t)},D);function D(t,e,r,n,o,i,s){void 0===o&&(o=O.zero()),void 0===i&&(i=O.zero()),void 0===s&&(s=O.zero()),this.a=t,this.b=e,this.c=r,this.d=n,this.p1=o,this.p2=i,this.p3=s}y.DCircle=et,y.DEGREE_TO_PI=tt,y.DGeo=P,y.DLine=k,y.DNumbers=f,y.DOUBLE_PI_IN_DEGREE=g,y.DPlane=n,y.DPoint=O,y.DPolygon=d,y.DPolygonLoop=X,y.EARTH_RADIUS_IN_METERS=Q,y.FastSearch=nt,y.HALF_PI_IN_DEGREE=90,y.InterpolationMatrix=W,y.MIN_POINTS_IN_VALID_POLYGON=3,y.PI_IN_DEGREE=i,y.PI_TO_DEGREE=b,y.TraceMatrix=r,y.cartesianProduct=G,y.createArray=p,y.createCanvas=R,y.createMatrix=L,y.gaussianElimination=u,y.getCombinations=E,y.isDefAndNotNull=w,y.parseDegreesMinutesSeconds=function(t){var e,r,n,o,i,s,a,u,c,t=t.matchAll(/(?<value>-?\d+(?<tail>\.\d{1,})?)(?<type>°|'|")/gimu),h=0,l=0,p=0;try{for(var f=Y(t),y=f.next();!y.done;y=f.next()){var d=y.value;switch(null==(n=null==d?void 0:d.groups)?void 0:n.type){case"°":h=Number(null!=(i=null==(o=null==d?void 0:d.groups)?void 0:o.value)?i:"0");break;case"'":l=Number(null!=(a=null==(s=null==d?void 0:d.groups)?void 0:s.value)?a:"0");break;case'"':p=Number(null!=(c=null==(u=null==d?void 0:d.groups)?void 0:u.value)?c:"0")}}}catch(t){e={error:t}}finally{try{y&&!y.done&&(r=f.return)&&r.call(f)}finally{if(e)throw e.error}}t=h<0?-1:1;return h+t*l/60+t*p/3600},Object.defineProperty(y,"__esModule",{value:!0})});
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dgeoutils.js"],"names":["global","factory","exports","module","require","define","amd","globalThis","self","DGeoUtils","jsts","this","hook","scope","checkFunction","funcName","checkArgument","argName","DGeo","DEBUG","shouldBeDegree","p","likeWorldGeodeticSystem","warn","concat","shouldBeMeters","likePseudoMercator","shouldBeInt","clone","round","equal","shouldBeUInt","gtOrEqual","DPoint","zero","shouldBeRadians","likeRadians","shouldExist","isDefAndNotNull","createMatrix","_a","fillSymbol","h","w","createArray","map","_","y","x","gaussianElimination","matrix","n","length","matrixClone","i","j","MIN","k","K","answer","createCanvas","a","b","c","offscreen","canvas","OffscreenCanvas","document","createElement","width","height","getContext","cartesianProduct","_i","arguments","apply","__spreadArray$2","__read$5","d","getCombinations","arr","ans","otherCases","slice","push","div","Math","floor","toDegreesMinutesSeconds","v","m","degrees","abs","t","minutes","seconds","toFixed","LoopFunctions","o","Symbol","iterator","r","e","call","ar","next","done","value","error","to","from","pack","l","Array","prototype","__values$3","s","TypeError","parseFormat","args","console","undefined","fill","DNumbers","like","likeZero","like2PI","rad2Deg","DOUBLE_PI_IN_DEGREE","likePI","PI_IN_DEGREE","DEGREE_TO_PI","deg2Rad","PI_TO_DEGREE","decodePoolRecord","functionName","pointArg","numberPointArg","numberArg","setterArg","setterArgByObject","res","getTileFromCoords","index","getCoordsFromTile","setX","setY","setZ","rotate","rotate3dX","rotate3dY","rotate3dZ","move","ceil","scale","divide","mod","degreeToRadians","radiansToDegrees","radiansToMeters","metersToRadians","hipPoint","xPoint","yPoint","wPoint","hPoint","setIfLessThan","minus","degreeToMeters","metersToDegree","flipVertically","setProperties","DPolygonLoop","getLoopFunction","pool","reduce","run","parent","zoom","z","getHipPoint","getXPoint","getYPoint","getWPoint","getHPoint","size","__assign$2","Object","assign","hasOwnProperty","__generator","thisArg","body","f","label","sent","trys","ops","g","verb","throw","return","step","op","pop","__values$2","__read$4","__spreadArray$1","operation","buffer","BufferParameters","CAP_ROUND","CAP_FLAT","CAP_SQUARE","DPolygon","arrayOfTrianglesToVertices","triangles","loop","toArrayOfCoords","flat","minAreaRectangleSize","poly","open","first","second","last","distance","toDash","e_3","result","trigger","_b","points","_c","point","properties","pieceBorder","e_3_1","minAreaRectangleDirection","findLine","getFi","parseFromWKT","wkt","path","holes","reg","data","trim","toUpperCase","indexOf","exec","groups","split","pares","parse","Number","createSquareBySize","close","defineProperty","get","pPoints","set","enumerable","configurable","max","Infinity","min","center","toTriangles","p0","triangle","at","p1","p2","score","sort","leftTop","maxY","minY","maxX","minX","rightBottom","perimeter","perimeterLatLon","e_4","loopPointsGenerator","_d","e_4_1","e_5","distanceLatLon","e_5_1","e_6","sum","deintersection","_e","_f","e_6_1","hole","area","removeDuplicates","clockWise","findSameCorners","startIndex","store","key","toString","indexes","removePart","isClockwise","e_7","_loop_1","firstLine","secondLine","intersectionPoint","intersection","some","part","reverse","insertAfter","keys","record","_loop_2","origin_1","e_2","polygonLine","inRange","e_1_1","e_1","totalFi","_g","_h","_j","_k","line1","DLine","line2","fiDif","findFi","vectorProduct","e_2_1","eps","PI","absTotalFi","Error","e_7_1","e_8","e_9","convex","resultPolygon","resultArea","widthLine","perpendicular1","perpendicular2","tempPolygon","maxWidth","maxWidthPoint1","maxWidthPoint2","maxHeight","maxHeightPoint","findPoint","findPerpendicular","e_9_1","e_8_1","p3","findInnerAngle","iteration","e_10","e_10_1","includeOnly","e_11","intersect","e_11_1","setCenter","newCenter","toWKT","type","withZ","WKT_POLYGON","join","mapArray","filter","shift","unshift","getValue","closed","add","has","q","same","pHoles","pClone","thisAsString","nextStart","findIndex","approximation","sqrt","douglasPeucker","splice","count","hasSimpleIntersection","extend1","extend","extend2","extend1points","extend2points","in1","simpleInclude","in2","simpleIncludeX","simpleIncludeY","drawPolygonOnCanvas","fillColor","strokeColor","shadowColor","lineWidth","steps","ctx","fillStyle","strokeStyle","beginPath","goByPath","shadowBlur","shadowOffsetX","shadowOffsetY","closePath","stroke","clearPolygonOnCanvas","old","globalCompositeOperation","contain","isBorderInside","e_12","onBorder","e_12_1","e_13","e_13_1","toGeoJSONFeatureCollection","polygons","format","features","polygon","toGeoJSONFeature","ak","isArray","geometry","props_1","id","forEach","coordinates","line","geometries","toCoords","toGeoJSON","divideToPieces","piecesCount","withAltitude","e_14","pieceLength","fullLength","currentPieceLength","this_1","_loop_3","line_1","circle","DCircle","intersectionWithCircle","p1z","e_14_1","prepareToFastSearch","e_15","searchStore","e_15_1","fastHas","e_16_1","e_16","simpleUnion","simpleLogicFunction","ex","simpleIntersection","simpleDifference","smartUnion","e_17","allHoles","_loop_4","e_18","allHoles_2","allHoles_2_1","_loop_5","e_18_1","allHoles_1","allHoles_1_1","e_17_1","innerAndNotIntersect","intersections","Boolean","getTrianglesPointIndexes","quadrantSegments","reader","io","WKTReader","noHoles","read","WKT_LINESTRING","getCoordinates","sideBuffers","sortByDistance","start0","start1","end0","end1","fromPoint","toPoint","linePart","bezier","getBezierPoint","setGrowingHeight","prevPoint","currentDistance","withLine","that","e_19","e_19_1","recResult1","dMax","end","perpendicularDistance","recResult2","start","moveTo","lineTo","getJSTSGeometry","unionThis","unionThat","unionOrIntersection","union","difference","e_20","e_21","e_22","e_23","coordinates_1","lastIndex","nextPoint","result_1","result_1_1","result_2","result_2_1","e_21_1","e_20_1","result_3","result_3_1","result_4","result_4_1","e_23_1","e_22_1","begin","insideRange","per","isParallel","ct","isParallelY","isParallelX","movePoint","mult","isFinite","atan2","x1","y1","x2","y2","fi","td","sinCos","sin","cos","dt","p1T","p2T","delta","val","acos","bresenhamsLine","x0","y0","dx","sx","dy","sy","e2","__assign$1","__rest$1","getOwnPropertySymbols","propertyIsEnumerable","__read$3","radiansPolygon","pseudoMercatorPolygon","worldGeodeticPolygon","EARTH_RADIUS_IN_METERS","EARTH_IN_METERS","METERS_IN_ONE_DEGREE","lat","lon","lng","alt","replace","random","getTileFromQuadKey","quadKey","mask","pow","log","tan","getQuadKeyFromTile","digit","atan","exp","_this","a1","a2","t1","t2","distance3d","dz","gt","lt","ltOrEqual","xV","yV","zV","DEGREES_IN_EARTH","E","parseFloat","likeX","likeY","likeZ","hip","simple","xKey","yKey","zKey","setIfMoreThan","orthodromicPath","pointsCount","calculateAltitudeByDistanceBetweenPoints","minAlt","dAlt","distance1","totalDistance","distance2","findPoints","hd","y31","x32","y32","r0","x31","ad","r02","r1","isNaN","findPolygonInside","pointCount","startAngle","stopAngle","angle","findPolygonInsideOnSphere","sphereOffset","bearing","earthRadius","lon1","lat1","dByR","asin","__values$1","FastSearch","points_1","points_1_1","find","getByPosition","defaultValue","TraceMatrixValues","setByPosition","__read$2","__spreadArray","__values","TraceMatrix","fullMatrixTrace","findAllGroupsInMatrix","paths","traceGroup","holeMatrixs","createHoleMatrix","holesGroups","holesPaths","hg","reverseMatrix","findMarked","init","ini","totalCountInMatrix","v2","findGroupByIndex","marked","firstMark","group","groupSum","allGroups","fs","mark","nextGroup","left","traceDirections","direction","prevDirection","nextValue","nextNeighbourValue","fullTraceDirections","tmpMatrix","startCoords","fullTraceDirections_1","fullTraceDirections_1_1","tmpPoint","includes","__assign","__rest","__read$1","InterpolationMatrix","setKnownPoints","minPoint","aa","maxPoint","positionToCellCoords","stepSize","calculate","setKnownValues","interpolateValues","getCellValue","cell","cells","allCells","props","distances","valueSum","oneSum","generateCells","sizePoly","bboxLike","__read","DPlane","b_1","c_1","a_1","d_1","u","parallel","HALF_PI_IN_DEGREE","MIN_POINTS_IN_VALID_POLYGON","parseDegreesMinutesSeconds","parts","matchAll","parts_1","parts_1_1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dgeoutils",
3
- "version": "2.4.48",
3
+ "version": "2.5.0",
4
4
  "description": "Geometries utils for my projects",
5
5
  "scripts": {
6
6
  "build": "npm run build:es2015 && npm run build:esm && npm run build:cjs && npm run build:umd && npm run build:umd:min",
@@ -34,8 +34,10 @@
34
34
  "devDependencies": {
35
35
  "@types/jest": "^27.0.1",
36
36
  "@types/jsdom": "^16.2.13",
37
+ "@types/offscreencanvas": "^2019.7.3",
37
38
  "@typescript-eslint/eslint-plugin": "^4.33.0",
38
39
  "@typescript-eslint/parser": "^4.33.0",
40
+ "canvas": "^2.11.2",
39
41
  "eslint": "^7.32.0",
40
42
  "eslint-plugin-flowtype": "^5.10.0",
41
43
  "eslint-plugin-import": "^2.24.2",
@@ -44,6 +46,7 @@
44
46
  "eslint-plugin-react-hooks": "^4.2.0",
45
47
  "eslint-plugin-testing-library": "^4.12.4",
46
48
  "jest": "^27.0.6",
49
+ "jest-canvas-mock": "^2.3.1",
47
50
  "jest-coverage-badges": "^1.1.2",
48
51
  "jest-html-reporter": "^3.4.2",
49
52
  "jsdom": "^17.0.0",
@@ -56,5 +59,10 @@
56
59
  "repository": {
57
60
  "type": "git",
58
61
  "url": "https://github.com/edejin/DGeoUtils"
62
+ },
63
+ "jest": {
64
+ "setupFiles": [
65
+ "jest-canvas-mock"
66
+ ]
59
67
  }
60
68
  }