dgeoutils 2.4.40 → 2.4.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -4
- package/dist/cjs/DCircle.d.ts +0 -18
- package/dist/cjs/DCircle.js +0 -102
- package/dist/cjs/DLine.d.ts +0 -39
- package/dist/cjs/DLine.js +0 -343
- package/dist/cjs/DNumbers.d.ts +0 -8
- package/dist/cjs/DNumbers.js +0 -30
- package/dist/cjs/DPlane.d.ts +0 -25
- package/dist/cjs/DPlane.js +0 -132
- package/dist/cjs/DPoint.d.ts +0 -138
- package/dist/cjs/DPoint.js +0 -803
- package/dist/cjs/DPolygon.d.ts +0 -136
- package/dist/cjs/DPolygon.js +0 -1711
- package/dist/cjs/DPolygonLoop.d.ts +0 -60
- package/dist/cjs/DPolygonLoop.js +0 -439
- package/dist/cjs/FastSearch.d.ts +0 -6
- package/dist/cjs/FastSearch.js +0 -53
- package/dist/cjs/InterpolationMatrix.d.ts +0 -24
- package/dist/cjs/InterpolationMatrix.js +0 -173
- package/dist/cjs/TraceMatrix.d.ts +0 -22
- package/dist/cjs/TraceMatrix.js +0 -285
- package/dist/cjs/index.d.ts +0 -11
- package/dist/cjs/index.js +0 -37
- package/dist/cjs/utils.d.ts +0 -49
- package/dist/cjs/utils.js +0 -280
- package/dist/es2015/DCircle.js +0 -87
- package/dist/es2015/DLine.js +0 -290
- package/dist/es2015/DNumbers.js +0 -22
- package/dist/es2015/DPlane.js +0 -105
- package/dist/es2015/DPoint.js +0 -676
- package/dist/es2015/DPolygon.js +0 -1164
- package/dist/es2015/DPolygonLoop.js +0 -430
- package/dist/es2015/FastSearch.js +0 -25
- package/dist/es2015/InterpolationMatrix.js +0 -128
- package/dist/es2015/TraceMatrix.js +0 -229
- package/dist/es2015/index.js +0 -11
- package/dist/es2015/utils.js +0 -207
- package/dist/esm/DCircle.js +0 -99
- package/dist/esm/DLine.js +0 -340
- package/dist/esm/DNumbers.js +0 -27
- package/dist/esm/DPlane.js +0 -129
- package/dist/esm/DPoint.js +0 -800
- package/dist/esm/DPolygon.js +0 -1708
- package/dist/esm/DPolygonLoop.js +0 -436
- package/dist/esm/FastSearch.js +0 -50
- package/dist/esm/InterpolationMatrix.js +0 -170
- package/dist/esm/TraceMatrix.js +0 -282
- package/dist/esm/index.js +0 -11
- package/dist/esm/utils.js +0 -265
- package/dist/umd/dgeoutils.js +0 -4313
- package/dist/umd/dgeoutils.min.js +0 -1
- package/dist/umd/dgeoutils.min.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
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,D){"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(k.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 G(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=G(new k(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 k?(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 L(t,e){for(var r,n,o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e?L.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=Math.floor(t),t=t%1*60,r=Math.floor(t),t=(t%1*60).toFixed(2);return"".concat(e,"° ").concat(r,"' ").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*$},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=D.operation.buffer.BufferParameters,W=r.CAP_ROUND,n=r.CAP_FLAT,r=r.CAP_SQUARE,d=(N.arrayOfTrianglesToVertices=function(t,e){return t.map(function(t){return(w(e)?t.loop().height(e).run():t).toArrayOfCoords()}).flat(2)},N.minAreaRectangleSize=function(t){var t=t.clone().open(),e=t.first,r=t.second,t=t.last;return new k(e.distance(r),e.distance(t))},N.toDash=function(t){var e,r,n=new N,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 N,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},N.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},N.parseFromWKT=function(t){var e,r,n,t=t.trim().toUpperCase(),o=new N;return 0===t.indexOf("POLYGON")&&(n=/POLYGON \(\((?<data>(?:(?!\)\)$).)*?)\)\)$/imu.exec(t),e=(r=S(n.groups.data.split("), (").map(function(t){return new N(t.split(", ").map(function(t){return k.parse(t.split(" ").map(Number))}))})))[0],(r=r.slice(1))&&r.length&&(e.holes=r),o=e),0===t.indexOf("LINESTRING")&&(o=new N((n=/LINESTRING \((?<data>(?:(?!\)$).)*?)\)$/imu.exec(t)).groups.data.split(", ").map(function(t){return k.parse(t.split(" ").map(Number))}))),o=0===t.indexOf("POINT")?new N([k.parseFromWKT(t)]):o},N.createSquareBySize=function(t){return new N([k.zero(),t.clone().setX(0),t.clone(),t.clone().setY(0)]).close()},N.prototype.loop=function(){return new X(this)},Object.defineProperty(N.prototype,"points",{get:function(){return this.pPoints},set:function(t){this.pPoints=t},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"maxX",{get:function(){return this.reduce(function(t,e){return Math.max(t,e.x)},-1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minX",{get:function(){return this.reduce(function(t,e){return Math.min(t,e.x)},1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"maxY",{get:function(){return this.reduce(function(t,e){return Math.max(t,e.y)},-1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minY",{get:function(){return this.reduce(function(t,e){return Math.min(t,e.y)},1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.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 k((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(N.prototype,"center",{get:function(){return this.leftTop.move(this.size.divide(2))},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"h",{get:function(){return this.maxY-this.minY},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"w",{get:function(){return this.maxX-this.minX},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"dY",{get:function(){return this.h},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"dX",{get:function(){return this.w},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"extend",{get:function(){var t=this.minX,e=this.minY,r=this.maxX,n=this.maxY;return new N([new k(t,e),new k(r,e),new k(r,n),new k(t,n),new k(t,e)])},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"size",{get:function(){var t=this.w,e=this.h;return new k(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"leftTop",{get:function(){var t=this.minX,e=this.minY;return new k(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minPoint",{get:function(){return this.leftTop},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"rightBottom",{get:function(){var t=this.maxX,e=this.maxY;return new k(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"maxPoint",{get:function(){return this.rightBottom},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"length",{get:function(){return this.pPoints.length},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"fullLength",{get:function(){return this.clone().open().perimeter},enumerable:!1,configurable:!0}),Object.defineProperty(N.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(N.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(N.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 N(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 O(p-e.x,f-e.y,0),g=new O(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(N.prototype,"valid",{get:function(){return 3<this.length},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"first",{get:function(){return this.at(0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"second",{get:function(){return this.at(1)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"last",{get:function(){return this.at(this.length-1)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minAreaRectangle",{get:function(){var e,t,r,n,o=this.convex,i=new N,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)),O=T.distance(M);v<=O&&(v=O,g=M);for(var k=w;k<o.length-1;k++){var z=f.findPoint(f.findPerpendicular(o.at(k))),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 N([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(N.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(N.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(N.prototype,"clockWise",{get:function(){return this.isClockwise?this.clone():this.clone().reverse()},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"noHoles",{get:function(){var t=this.clone();return t.holes=[],t},enumerable:!1,configurable:!0}),N.prototype.reduce=function(t,e){return this.pPoints.reduce(t,e)},N.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},N.prototype.setCenter=function(t){return this.loop().move(t.clone().move(this.center.minus())).run()},N.prototype.toWKT=function(t,e){return void 0===e&&(e=!1),(t=void 0===t?N.WKT_POLYGON:t)===N.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(", "),")")},N.prototype.filter=function(t){return this.pPoints=this.pPoints.filter(t),this},N.prototype.map=function(e){return this.pPoints=this.mapArray(e),this.holes=this.holes.map(function(t){return t.map(e)}),this},N.prototype.mapArray=function(t){return this.pPoints.map(t)},N.prototype.sort=function(t){return this.points.sort(t),this},N.prototype.at=function(t){var e=this.length;return this.points[(t%e+e)%e]},N.prototype.pop=function(){return this.pPoints.pop()},N.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))},N.prototype.shift=function(){return this.pPoints.shift()},N.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))},N.prototype.reverse=function(){return this.pPoints=this.pPoints.reverse(),this.holes=this.holes.map(function(t){return t.reverse()}),this},N.prototype.getValue=function(){return this.pPoints.map(function(t){return t.getValue()})+this.holes.reduce(function(t,e){return t+e.getValue()},"")},N.prototype.toString=function(){return"(".concat(this.mapArray(function(t){return t.toString()}).join(", "),")")},N.prototype.close=function(){var t=this.first;return t&&!this.closed&&this.push(t.clone()),this},N.prototype.open=function(){var t=this.first;return 2<this.length&&t&&this.closed&&this.pop(),this},N.prototype.add=function(t){var e=new N(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},N.prototype.has=function(e){return this.pPoints.some(function(t){return t.equal(e)})},N.prototype.clone=function(){var t=new N(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},N.prototype.equal=function(r){return r instanceof N&&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)},N.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},N.prototype.findIndex=function(e){return e instanceof k?this.points.findIndex(function(t){return t.equal(e)}):this.points.findIndex(e)},N.prototype.approximation=function(t){return void 0===t&&(t=.1*Math.sqrt(this.perimeter)),new N(this.clone().douglasPeucker(this.pPoints,t))},N.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))},N.prototype.removePart=function(t,e){return this.pPoints.splice(t+1,e)},N.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},N.prototype.simpleInclude=function(t){return this.simpleIncludeX(t)&&this.simpleIncludeY(t)},N.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},N.prototype.clearPolygonOnCanvas=function(t){var t=t.getContext("2d"),e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",this.goByPath(t),t.fill(),t.globalCompositeOperation=e},N.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 O(u-t.x,c-t.y,0),y=new O(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")},N.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},N.prototype.nextStart=function(){return this.open(),this.push(this.shift()),this.close(),this},N.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},N.toGeoJSONFeatureCollection=function(t,e){return void 0===e&&(e=P.parseFormat),{type:"FeatureCollection",features:t.map(function(t){return t.toGeoJSONFeature(e)})}},N.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=N.parse(e,n);return Array.isArray(e)?t.push.apply(t,T([],S(e),!1)):t.push(e),t},[]);case"Feature":var e=N.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 N(t.coordinates.map(function(t){return k.parse(t,n)}));case"Polygon":return t.coordinates.reduce(function(t,e,r){return 0===r?t.points=e.map(function(t){return k.parse(t,n)}):t.holes.push(new N(e.map(function(t){return k.parse(t,n)}))),t},new N);case"MultiLineString":return t.coordinates.reduce(function(t,e){return t.push(new N(e.map(function(t){return k.parse(t,n)}))),t},[]);case"MultiPolygon":return t.coordinates.reduce(function(t,e){return t.push(N.parse({type:"Polygon",coordinates:e},n)),t},[]);case"GeometryCollection":return t.geometries.reduce(function(t,e){return t.push(N.parse(e,n)),t},[])}return new N(t.map(function(t){return k.parse(t,n)}))},N.prototype.toArrayOfCoords=function(e){return void 0===e&&(e=P.parseFormat),this.mapArray(function(t){return t.toCoords(e)})},N.prototype.toGeoJSONFeature=function(t){return void 0===t&&(t=P.parseFormat),{type:"Feature",properties:o({},this.properties),geometry:this.toGeoJSON(t)}},N.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)}},N.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 tt(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},N.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}}},N.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(N.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 N,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}),N.prototype.simpleUnion=function(t){try{var e=this.simpleLogicFunction(t,!0,!0);return null===e?null:e instanceof N?e:null}catch(t){return null}},N.prototype.simpleIntersection=function(t){return this.simpleLogicFunction(t,!1,!1)},N.prototype.simpleDifference=function(t){return this.simpleLogicFunction(t,!0,!1)},N.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},N.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 N([r.clone(),n.clone(),o.clone()]);t.push(t.shift())}}(e);s&&o.push(s)}return o.push(e),o},N.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(N.prototype,"closed",{get:function(){return this.first.equal(this.last)},enumerable:!1,configurable:!0}),N.prototype.buffer=function(t,e,r){void 0===e&&(e=64),void 0===r&&(r=N.CAP_ROUND);var n=new D.io.WKTReader,o=this.noHoles,i=this.closed;return new N(n.read(o.toWKT(i?N.WKT_POLYGON:N.WKT_LINESTRING)).buffer(t,e,r).getCoordinates().map(function(t){var e=t.x,t=t.y;return new k(e,t)}))},N.prototype.sideBuffers=function(t,e){var r=this.first,n=this.last,t=this.buffer(t,e=void 0===e?64:e,N.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 N(t.removePart(i-1,r-i+1));return t.unshift(t.pop()),[e.reverse(),t]},N.prototype.setProperties=function(t){return this.properties="object"==typeof t?t:t(this),this},N.prototype.bezier=function(t){void 0===t&&(t=.1);for(var e=new N,r=0;r<1;r+=t)e.push(this.clone().getBezierPoint(r));return e},N.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},N.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]}})}},N.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)},N.prototype.simpleIncludeX=function(t){t=t.x;return this.minX<=t&&this.maxX>=t},N.prototype.simpleIncludeY=function(t){t=t.y;return this.minY<=t&&this.maxY>=t},N.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]]},N.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)}},N.prototype.getJSTSGeometry=function(t,e,r){var r=r===e,n=new D.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)},N.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 k(n,e),e=t[o].first;return n.equal(e)?l[r+1]&&(e=new k(l[r+1].x,l[r+1].y),1<t[o].length)&&t.push(new N([e])):t[o].push(n),t},[new N([new k(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},N.CAP_ROUND=W,N.CAP_FLAT=n,N.CAP_SQUARE=r,N.WKT_LINESTRING="LINESTRING",N.WKT_POLYGON="POLYGON",N);function N(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 k(-this.c/this.a,t.y):this.isParallelX?new k(t.x,-this.c/this.b):new k(-this.b/this.a*t.y-this.c/this.a,t.y)},m.prototype.y=function(t){return this.isParallelY?new k(-this.c/this.a,t.y):this.isParallelX?new k(t.x,-this.c/this.b):new k(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 k(-t.c/t.a,-this.c/this.b):this.isParallelY&&t.isParallelX?new k(-this.c/this.a,-t.c/t.b):this.isParallelY?(r=-this.c/this.a,t.y(new k(r))):this.isParallelX?(e=-this.c/this.b,t.x(new k(0,e))):t.isParallelY?(r=-t.c/t.a,this.y(new k(r))):t.isParallelX?(e=-t.c/t.b,this.x(new k(0,e))):(r=this.y(new k((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 k(1,1)).distance(this.x(new k(2,2)))/2,i=new k(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 k(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 O=m;function m(t,e,r,n,o){void 0===n&&(n=k.zero()),void 0===o&&(o=k.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,W=20037508.34,Q=W/180,i=180,g=360,b=Math.PI/i,$=i/Math.PI,k=(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 O(0,1,n/r,this,t):0==r?new O(1,0,n/e,this,t):new O(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.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)*Q,e=Math.log(Math.tan((this.y+90)%i*(Math.PI/g)))/b*Q;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/Q*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($)},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 k(t,i)),isNaN(s)||isNaN(a)||t===s&&i===a||u.push(new k(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 k(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 k(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=6378137);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 k(n,o).radiansToDegrees()};var tt=A;function A(t,e){void 0===t&&(t=k.zero()),void 0===e&&(e=0),this.center=t,this.r=e}var et=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.")},rt=(nt.prototype.add=function(t){var e,r;try{for(var n=et(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}}},nt.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"]},nt);function nt(){this.searchStore={}}function j(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 ot(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 it=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},st=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))},at=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 j(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(j(t,new k(o,i))===y.TraceMatrixValues.t)return new k(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++)j(t,new k(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 k(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&&j(t,e)===y.TraceMatrixValues.t){r.push(e);var n=0,o=C.createMatrix(f.size,function(){return y.TraceMatrixValues.f});for(ot(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 k(i.x+s,i.y+a);j(o,u,y.TraceMatrixValues.t)===y.TraceMatrixValues.f&&j(t,u,y.TraceMatrixValues.f)===y.TraceMatrixValues.t&&(r.push(u),ot(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=st([],it(e.points),!1),i=new rt;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=st(st([],it(o),!1),it(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 k(-1,-1),new k(-1,0),new k(-1,1),new k(0,1),new k(1,1),new k(1,0),new k(1,-1),new k(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=j(t,u.clone().move(o[s])),h=j(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 k(-1,0),new k(0,1),new k(1,0),new k(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 k(s,-1)),i.push(new k(s,f.size.h));for(s=0;s<f.size.h;s++)i.push(new k(-1,s)),i.push(new k(f.size.w,s));for(;i.length;){var a=i.pop();try{r=void 0;for(var u=at(n),c=u.next();!c.done;c=u.next()){var h=c.value,l=a.clone().move(h);j(o,l,y.TraceMatrixValues.t)===y.TraceMatrixValues.f&&(ot(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 ut=function(){return(ut=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)},ct=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},ht=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]:ut({},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=ct(e,["x","y"]);return t[r]=t[r]||{},t[r][n]=ut({},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 k(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=ht(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 k(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 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},n=(F.find=function(t,e,r){var n;return t.x===e.x&&e.x===r.x?new F(1,0,0,-t.x,t,e,r):t.y===e.y&&e.y===r.y?new F(0,1,0,-t.y,t,e,r):t.z===e.z&&e.z===r.z?new F(0,0,1,-t.z,t,e,r):new F((n=lt(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)},F.prototype.x=function(t){var e,r,n,o,i,s,a=this;return t instanceof k?(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)})},F.prototype.y=function(t){var e,r,n,o,i,s,a=this;return t instanceof k?(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)})},F.prototype.z=function(t){var e,r,n,o,i,s,a=this;return t instanceof k?(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)})},F.prototype.clone=function(){var t=this;return new F(t.a,t.b,t.c,t.d,t.p1,t.p2,t.p3)},F.prototype.distance=function(t){var e,r,n,o,i,s,a;return t instanceof k?(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))},F.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)},F.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)},F.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)},F);function F(t,e,r,n,o,i,s){void 0===o&&(o=k.zero()),void 0===i&&(i=k.zero()),void 0===s&&(s=k.zero()),this.a=t,this.b=e,this.c=r,this.d=n,this.p1=o,this.p2=i,this.p3=s}y.DCircle=tt,y.DEGREE_TO_PI=$,y.DGeo=P,y.DLine=O,y.DNumbers=f,y.DOUBLE_PI_IN_DEGREE=g,y.DPlane=n,y.DPoint=k,y.DPolygon=d,y.DPolygonLoop=X,y.EARTH_RADIUS_IN_METERS=6378137,y.FastSearch=rt,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=L,y.createArray=p,y.createCanvas=R,y.createMatrix=G,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})});
|
|
@@ -1 +0,0 @@
|
|
|
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","degrees","t","minutes","seconds","toFixed","LoopFunctions","o","m","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","abs","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","e_4","loopPointsGenerator","_d","e_4_1","e_5","sum","deintersection","_e","_f","e_5_1","hole","area","e_6","store","toString","_loop_1","firstLine","secondLine","intersectionPoint","intersection","some","part","removePart","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","isClockwise","e_6_1","e_7","e_8","convex","resultPolygon","resultArea","widthLine","perpendicular1","perpendicular2","tempPolygon","maxWidth","maxWidthPoint1","maxWidthPoint2","maxHeight","maxHeightPoint","findPoint","findPerpendicular","e_8_1","e_7_1","p3","findInnerAngle","iteration","e_9","e_9_1","includeOnly","e_10","intersect","e_10_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_11","onBorder","e_11_1","e_12","e_12_1","removeDuplicates","toGeoJSONFeatureCollection","polygons","format","features","polygon","toGeoJSONFeature","ak","isArray","geometry","props_1","id","forEach","coordinates","line","geometries","toCoords","toGeoJSON","divideToPieces","piecesCount","withAltitude","e_13","pieceLength","fullLength","currentPieceLength","this_1","_loop_3","line_1","circle","DCircle","intersectionWithCircle","p1z","e_13_1","prepareToFastSearch","e_14","searchStore","e_14_1","fastHas","e_15_1","e_15","simpleUnion","simpleLogicFunction","ex","simpleIntersection","simpleDifference","smartUnion","e_16","allHoles","_loop_4","e_17","allHoles_2","allHoles_2_1","_loop_5","e_17_1","allHoles_1","allHoles_1_1","e_16_1","innerAndNotIntersect","intersections","Boolean","clockWise","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_18","e_18_1","recResult1","dMax","end","perpendicularDistance","recResult2","start","moveTo","lineTo","getJSTSGeometry","unionThis","unionThat","unionOrIntersection","union","difference","e_19","e_20","e_21","e_22","coordinates_1","lastIndex","nextPoint","result_1","result_1_1","result_2","result_2_1","e_20_1","e_19_1","result_3","result_3_1","result_4","result_4_1","e_22_1","e_21_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_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","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","startIndex","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","key","cell","cells","allCells","props","distances","valueSum","oneSum","generateCells","sizePoly","bboxLike","__read","DPlane","b_1","c_1","a_1","d_1","u","parallel","EARTH_RADIUS_IN_METERS","HALF_PI_IN_DEGREE","MIN_POINTS_IN_VALID_POLYGON","parseDegreesMinutesSeconds","parts","matchAll","parts_1","parts_1_1"],"mappings":"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"}
|