@turf/kinks 7.2.0 → 7.3.1

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.
@@ -100,9 +100,9 @@ function lineIntersects(line1StartX, line1StartY, line1EndX, line1EndY, line2Sta
100
100
  return false;
101
101
  }
102
102
  }
103
- var turf_kinks_default = kinks;
103
+ var index_default = kinks;
104
104
 
105
105
 
106
106
 
107
- exports.default = turf_kinks_default; exports.kinks = kinks;
107
+ exports.default = index_default; exports.kinks = kinks;
108
108
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-kinks/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"AAAA;ACSA,wCAAsB;AAwBtB,SAAS,KAAA,CACP,SAAA,EAC0B;AAC1B,EAAA,IAAI,WAAA;AACJ,EAAA,IAAI,OAAA;AACJ,EAAA,MAAM,QAAA,EAAoC;AAAA,IACxC,IAAA,EAAM,mBAAA;AAAA,IACN,QAAA,EAAU,CAAC;AAAA,EACb,CAAA;AACA,EAAA,GAAA,CAAI,SAAA,CAAU,KAAA,IAAS,SAAA,EAAW;AAChC,IAAA,QAAA,EAAU,SAAA,CAAU,QAAA;AAAA,EACtB,EAAA,KAAO;AACL,IAAA,QAAA,EAAU,SAAA;AAAA,EACZ;AACA,EAAA,GAAA,CAAI,OAAA,CAAQ,KAAA,IAAS,YAAA,EAAc;AACjC,IAAA,YAAA,EAAc,CAAC,OAAA,CAAQ,WAAW,CAAA;AAAA,EACpC,EAAA,KAAA,GAAA,CAAW,OAAA,CAAQ,KAAA,IAAS,iBAAA,EAAmB;AAC7C,IAAA,YAAA,EAAc,OAAA,CAAQ,WAAA;AAAA,EACxB,EAAA,KAAA,GAAA,CAAW,OAAA,CAAQ,KAAA,IAAS,cAAA,EAAgB;AAC1C,IAAA,YAAA,EAAc,CAAC,CAAA,CAAE,MAAA,CAAO,GAAG,OAAA,CAAQ,WAAW,CAAA;AAAA,EAChD,EAAA,KAAA,GAAA,CAAW,OAAA,CAAQ,KAAA,IAAS,SAAA,EAAW;AACrC,IAAA,YAAA,EAAc,OAAA,CAAQ,WAAA;AAAA,EACxB,EAAA,KAAO;AACL,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,IAEF,CAAA;AAAA,EACF;AACA,EAAA,WAAA,CAAY,OAAA,CAAQ,CAAC,KAAA,EAAA,GAAe;AAClC,IAAA,WAAA,CAAY,OAAA,CAAQ,CAAC,KAAA,EAAA,GAAe;AAClC,MAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,KAAA,CAAM,OAAA,EAAS,CAAA,EAAG,CAAA,EAAA,EAAK;AAGzC,QAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,KAAA,CAAM,OAAA,EAAS,CAAA,EAAG,CAAA,EAAA,EAAK;AACzC,UAAA,GAAA,CAAI,MAAA,IAAU,KAAA,EAAO;AAEnB,YAAA,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,CAAC,EAAA,IAAM,CAAA,EAAG;AACzB,cAAA,QAAA;AAAA,YACF;AAEA,YAAA,GAAA;AAAA;AAAA,cAEE,EAAA,IAAM,EAAA,GACN,EAAA,IAAM,KAAA,CAAM,OAAA,EAAS,EAAA;AAAA,cAErB,KAAA,CAAM,CAAC,CAAA,CAAE,CAAC,EAAA,IAAM,KAAA,CAAM,KAAA,CAAM,OAAA,EAAS,CAAC,CAAA,CAAE,CAAC,EAAA,GACzC,KAAA,CAAM,CAAC,CAAA,CAAE,CAAC,EAAA,IAAM,KAAA,CAAM,KAAA,CAAM,OAAA,EAAS,CAAC,CAAA,CAAE,CAAC;AAAA,YAAA,EACzC;AACA,cAAA,QAAA;AAAA,YACF;AAAA,UACF;AAEA,UAAA,MAAM,aAAA,EAAoB,cAAA;AAAA,YACxB,KAAA,CAAM,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,YACV,KAAA,CAAM,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,YACV,KAAA,CAAM,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,YACd,KAAA,CAAM,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,YACd,KAAA,CAAM,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,YACV,KAAA,CAAM,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,YACV,KAAA,CAAM,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,CAAA;AAAA,YACd,KAAA,CAAM,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC;AAAA,UAChB,CAAA;AACA,UAAA,GAAA,CAAI,YAAA,EAAc;AAChB,YAAA,OAAA,CAAQ,QAAA,CAAS,IAAA,CAAK,4BAAA,CAAO,YAAA,CAAa,CAAC,CAAA,EAAG,YAAA,CAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAAA,UACjE;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACD,EAAA,OAAO,OAAA;AACT;AAGA,SAAS,cAAA,CACP,WAAA,EACA,WAAA,EACA,SAAA,EACA,SAAA,EACA,WAAA,EACA,WAAA,EACA,SAAA,EACA,SAAA,EACA;AAIA,EAAA,IAAI,WAAA;AACJ,EAAA,IAAI,CAAA;AACJ,EAAA,IAAI,CAAA;AACJ,EAAA,IAAI,UAAA;AACJ,EAAA,IAAI,UAAA;AACJ,EAAA,MAAM,OAAA,EAAS;AAAA,IACb,CAAA,EAAG,IAAA;AAAA,IACH,CAAA,EAAG,IAAA;AAAA,IACH,OAAA,EAAS,KAAA;AAAA,IACT,OAAA,EAAS;AAAA,EACX,CAAA;AACA,EAAA,YAAA,EAAA,CACG,UAAA,EAAY,WAAA,EAAA,EAAA,CAAgB,UAAA,EAAY,WAAA,EAAA,EAAA,CACxC,UAAA,EAAY,WAAA,EAAA,EAAA,CAAgB,UAAA,EAAY,WAAA,CAAA;AAC3C,EAAA,GAAA,CAAI,YAAA,IAAgB,CAAA,EAAG;AACrB,IAAA,GAAA,CAAI,MAAA,CAAO,EAAA,IAAM,KAAA,GAAQ,MAAA,CAAO,EAAA,IAAM,IAAA,EAAM;AAC1C,MAAA,OAAO,MAAA;AAAA,IACT,EAAA,KAAO;AACL,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,EAAA,EAAI,YAAA,EAAc,WAAA;AAClB,EAAA,EAAA,EAAI,YAAA,EAAc,WAAA;AAClB,EAAA,WAAA,EAAA,CAAc,UAAA,EAAY,WAAA,EAAA,EAAe,EAAA,EAAA,CAAK,UAAA,EAAY,WAAA,EAAA,EAAe,CAAA;AACzE,EAAA,WAAA,EAAA,CAAc,UAAA,EAAY,WAAA,EAAA,EAAe,EAAA,EAAA,CAAK,UAAA,EAAY,WAAA,EAAA,EAAe,CAAA;AACzE,EAAA,EAAA,EAAI,WAAA,EAAa,WAAA;AACjB,EAAA,EAAA,EAAI,WAAA,EAAa,WAAA;AAGjB,EAAA,MAAA,CAAO,EAAA,EAAI,YAAA,EAAc,EAAA,EAAA,CAAK,UAAA,EAAY,WAAA,CAAA;AAC1C,EAAA,MAAA,CAAO,EAAA,EAAI,YAAA,EAAc,EAAA,EAAA,CAAK,UAAA,EAAY,WAAA,CAAA;AAG1C,EAAA,GAAA,CAAI,EAAA,GAAK,EAAA,GAAK,EAAA,GAAK,CAAA,EAAG;AACpB,IAAA,MAAA,CAAO,QAAA,EAAU,IAAA;AAAA,EACnB;AAEA,EAAA,GAAA,CAAI,EAAA,GAAK,EAAA,GAAK,EAAA,GAAK,CAAA,EAAG;AACpB,IAAA,MAAA,CAAO,QAAA,EAAU,IAAA;AAAA,EACnB;AAEA,EAAA,GAAA,CAAI,MAAA,CAAO,QAAA,GAAW,MAAA,CAAO,OAAA,EAAS;AACpC,IAAA,OAAO,CAAC,MAAA,CAAO,CAAA,EAAG,MAAA,CAAO,CAAC,CAAA;AAAA,EAC5B,EAAA,KAAO;AACL,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAGA,IAAO,mBAAA,EAAQ,KAAA;ADjEf;AACE;AACA;AACF,4DAAC","file":"/home/runner/work/turf/turf/packages/turf-kinks/dist/cjs/index.cjs","sourcesContent":[null,"import {\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport { point } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|linestring}, {@link MultiLineString|multi-linestring},\n * {@link MultiPolygon|multi-polygon} or {@link Polygon|polygon} and\n * returns {@link Point|points} at all self-intersections.\n *\n * @function\n * @param {Feature<LineString|MultiLineString|MultiPolygon|Polygon>} featureIn input feature\n * @returns {FeatureCollection<Point>} self-intersections\n * @example\n * var poly = turf.polygon([[\n * [-12.034835, 8.901183],\n * [-12.060413, 8.899826],\n * [-12.03638, 8.873199],\n * [-12.059383, 8.871418],\n * [-12.034835, 8.901183]\n * ]]);\n *\n * var kinks = turf.kinks(poly);\n *\n * //addToMap\n * var addToMap = [poly, kinks]\n */\nfunction kinks<T extends LineString | MultiLineString | Polygon | MultiPolygon>(\n featureIn: Feature<T> | T\n): FeatureCollection<Point> {\n let coordinates: any;\n let feature: any;\n const results: FeatureCollection<Point> = {\n type: \"FeatureCollection\",\n features: [],\n };\n if (featureIn.type === \"Feature\") {\n feature = featureIn.geometry;\n } else {\n feature = featureIn;\n }\n if (feature.type === \"LineString\") {\n coordinates = [feature.coordinates];\n } else if (feature.type === \"MultiLineString\") {\n coordinates = feature.coordinates;\n } else if (feature.type === \"MultiPolygon\") {\n coordinates = [].concat(...feature.coordinates);\n } else if (feature.type === \"Polygon\") {\n coordinates = feature.coordinates;\n } else {\n throw new Error(\n \"Input must be a LineString, MultiLineString, \" +\n \"Polygon, or MultiPolygon Feature or Geometry\"\n );\n }\n coordinates.forEach((line1: any) => {\n coordinates.forEach((line2: any) => {\n for (let i = 0; i < line1.length - 1; i++) {\n // start iteration at i, intersections for k < i have already\n // been checked in previous outer loop iterations\n for (let k = i; k < line2.length - 1; k++) {\n if (line1 === line2) {\n // segments are adjacent and always share a vertex, not a kink\n if (Math.abs(i - k) === 1) {\n continue;\n }\n // first and last segment in a closed lineString or ring always share a vertex, not a kink\n if (\n // segments are first and last segment of lineString\n i === 0 &&\n k === line1.length - 2 &&\n // lineString is closed\n line1[i][0] === line1[line1.length - 1][0] &&\n line1[i][1] === line1[line1.length - 1][1]\n ) {\n continue;\n }\n }\n\n const intersection: any = lineIntersects(\n line1[i][0],\n line1[i][1],\n line1[i + 1][0],\n line1[i + 1][1],\n line2[k][0],\n line2[k][1],\n line2[k + 1][0],\n line2[k + 1][1]\n );\n if (intersection) {\n results.features.push(point([intersection[0], intersection[1]]));\n }\n }\n }\n });\n });\n return results;\n}\n\n// modified from http://jsfiddle.net/justin_c_rounds/Gd2S2/light/\nfunction lineIntersects(\n line1StartX: any,\n line1StartY: any,\n line1EndX: any,\n line1EndY: any,\n line2StartX: any,\n line2StartY: any,\n line2EndX: any,\n line2EndY: any\n) {\n // if the lines intersect, the result contains the x and y of the\n // intersection (treating the lines as infinite) and booleans for whether\n // line segment 1 or line segment 2 contain the point\n let denominator;\n let a;\n let b;\n let numerator1;\n let numerator2;\n const result = {\n x: null,\n y: null,\n onLine1: false,\n onLine2: false,\n };\n denominator =\n (line2EndY - line2StartY) * (line1EndX - line1StartX) -\n (line2EndX - line2StartX) * (line1EndY - line1StartY);\n if (denominator === 0) {\n if (result.x !== null && result.y !== null) {\n return result;\n } else {\n return false;\n }\n }\n a = line1StartY - line2StartY;\n b = line1StartX - line2StartX;\n numerator1 = (line2EndX - line2StartX) * a - (line2EndY - line2StartY) * b;\n numerator2 = (line1EndX - line1StartX) * a - (line1EndY - line1StartY) * b;\n a = numerator1 / denominator;\n b = numerator2 / denominator;\n\n // if we cast these lines infinitely in both directions, they intersect here:\n result.x = line1StartX + a * (line1EndX - line1StartX);\n result.y = line1StartY + a * (line1EndY - line1StartY);\n\n // if line1 is a segment and line2 is infinite, they intersect if:\n if (a >= 0 && a <= 1) {\n result.onLine1 = true;\n }\n // if line2 is a segment and line1 is infinite, they intersect if:\n if (b >= 0 && b <= 1) {\n result.onLine2 = true;\n }\n // if line1 and line2 are segments, they intersect if both of the above are true\n if (result.onLine1 && result.onLine2) {\n return [result.x, result.y];\n } else {\n return false;\n }\n}\n\nexport { kinks };\nexport default kinks;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-kinks/dist/cjs/index.cjs","../../index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-kinks/dist/cjs/index.cjs","sourcesContent":[null,"import {\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport { point } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|linestring}, {@link MultiLineString|multi-linestring},\n * {@link MultiPolygon|multi-polygon} or {@link Polygon|polygon} and\n * returns {@link Point|points} at all self-intersections.\n *\n * @function\n * @param {Feature<LineString|MultiLineString|MultiPolygon|Polygon>} featureIn input feature\n * @returns {FeatureCollection<Point>} self-intersections\n * @example\n * var poly = turf.polygon([[\n * [-12.034835, 8.901183],\n * [-12.060413, 8.899826],\n * [-12.03638, 8.873199],\n * [-12.059383, 8.871418],\n * [-12.034835, 8.901183]\n * ]]);\n *\n * var kinks = turf.kinks(poly);\n *\n * //addToMap\n * var addToMap = [poly, kinks]\n */\nfunction kinks<T extends LineString | MultiLineString | Polygon | MultiPolygon>(\n featureIn: Feature<T> | T\n): FeatureCollection<Point> {\n let coordinates: any;\n let feature: any;\n const results: FeatureCollection<Point> = {\n type: \"FeatureCollection\",\n features: [],\n };\n if (featureIn.type === \"Feature\") {\n feature = featureIn.geometry;\n } else {\n feature = featureIn;\n }\n if (feature.type === \"LineString\") {\n coordinates = [feature.coordinates];\n } else if (feature.type === \"MultiLineString\") {\n coordinates = feature.coordinates;\n } else if (feature.type === \"MultiPolygon\") {\n coordinates = [].concat(...feature.coordinates);\n } else if (feature.type === \"Polygon\") {\n coordinates = feature.coordinates;\n } else {\n throw new Error(\n \"Input must be a LineString, MultiLineString, \" +\n \"Polygon, or MultiPolygon Feature or Geometry\"\n );\n }\n coordinates.forEach((line1: any) => {\n coordinates.forEach((line2: any) => {\n for (let i = 0; i < line1.length - 1; i++) {\n // start iteration at i, intersections for k < i have already\n // been checked in previous outer loop iterations\n for (let k = i; k < line2.length - 1; k++) {\n if (line1 === line2) {\n // segments are adjacent and always share a vertex, not a kink\n if (Math.abs(i - k) === 1) {\n continue;\n }\n // first and last segment in a closed lineString or ring always share a vertex, not a kink\n if (\n // segments are first and last segment of lineString\n i === 0 &&\n k === line1.length - 2 &&\n // lineString is closed\n line1[i][0] === line1[line1.length - 1][0] &&\n line1[i][1] === line1[line1.length - 1][1]\n ) {\n continue;\n }\n }\n\n const intersection: any = lineIntersects(\n line1[i][0],\n line1[i][1],\n line1[i + 1][0],\n line1[i + 1][1],\n line2[k][0],\n line2[k][1],\n line2[k + 1][0],\n line2[k + 1][1]\n );\n if (intersection) {\n results.features.push(point([intersection[0], intersection[1]]));\n }\n }\n }\n });\n });\n return results;\n}\n\n// modified from http://jsfiddle.net/justin_c_rounds/Gd2S2/light/\nfunction lineIntersects(\n line1StartX: any,\n line1StartY: any,\n line1EndX: any,\n line1EndY: any,\n line2StartX: any,\n line2StartY: any,\n line2EndX: any,\n line2EndY: any\n) {\n // if the lines intersect, the result contains the x and y of the\n // intersection (treating the lines as infinite) and booleans for whether\n // line segment 1 or line segment 2 contain the point\n let denominator;\n let a;\n let b;\n let numerator1;\n let numerator2;\n const result = {\n x: null,\n y: null,\n onLine1: false,\n onLine2: false,\n };\n denominator =\n (line2EndY - line2StartY) * (line1EndX - line1StartX) -\n (line2EndX - line2StartX) * (line1EndY - line1StartY);\n if (denominator === 0) {\n if (result.x !== null && result.y !== null) {\n return result;\n } else {\n return false;\n }\n }\n a = line1StartY - line2StartY;\n b = line1StartX - line2StartX;\n numerator1 = (line2EndX - line2StartX) * a - (line2EndY - line2StartY) * b;\n numerator2 = (line1EndX - line1StartX) * a - (line1EndY - line1StartY) * b;\n a = numerator1 / denominator;\n b = numerator2 / denominator;\n\n // if we cast these lines infinitely in both directions, they intersect here:\n result.x = line1StartX + a * (line1EndX - line1StartX);\n result.y = line1StartY + a * (line1EndY - line1StartY);\n\n // if line1 is a segment and line2 is infinite, they intersect if:\n if (a >= 0 && a <= 1) {\n result.onLine1 = true;\n }\n // if line2 is a segment and line1 is infinite, they intersect if:\n if (b >= 0 && b <= 1) {\n result.onLine2 = true;\n }\n // if line1 and line2 are segments, they intersect if both of the above are true\n if (result.onLine1 && result.onLine2) {\n return [result.x, result.y];\n } else {\n return false;\n }\n}\n\nexport { kinks };\nexport default kinks;\n"]}
package/dist/esm/index.js CHANGED
@@ -100,9 +100,9 @@ function lineIntersects(line1StartX, line1StartY, line1EndX, line1EndY, line2Sta
100
100
  return false;
101
101
  }
102
102
  }
103
- var turf_kinks_default = kinks;
103
+ var index_default = kinks;
104
104
  export {
105
- turf_kinks_default as default,
105
+ index_default as default,
106
106
  kinks
107
107
  };
108
108
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts"],"sourcesContent":["import {\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport { point } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|linestring}, {@link MultiLineString|multi-linestring},\n * {@link MultiPolygon|multi-polygon} or {@link Polygon|polygon} and\n * returns {@link Point|points} at all self-intersections.\n *\n * @function\n * @param {Feature<LineString|MultiLineString|MultiPolygon|Polygon>} featureIn input feature\n * @returns {FeatureCollection<Point>} self-intersections\n * @example\n * var poly = turf.polygon([[\n * [-12.034835, 8.901183],\n * [-12.060413, 8.899826],\n * [-12.03638, 8.873199],\n * [-12.059383, 8.871418],\n * [-12.034835, 8.901183]\n * ]]);\n *\n * var kinks = turf.kinks(poly);\n *\n * //addToMap\n * var addToMap = [poly, kinks]\n */\nfunction kinks<T extends LineString | MultiLineString | Polygon | MultiPolygon>(\n featureIn: Feature<T> | T\n): FeatureCollection<Point> {\n let coordinates: any;\n let feature: any;\n const results: FeatureCollection<Point> = {\n type: \"FeatureCollection\",\n features: [],\n };\n if (featureIn.type === \"Feature\") {\n feature = featureIn.geometry;\n } else {\n feature = featureIn;\n }\n if (feature.type === \"LineString\") {\n coordinates = [feature.coordinates];\n } else if (feature.type === \"MultiLineString\") {\n coordinates = feature.coordinates;\n } else if (feature.type === \"MultiPolygon\") {\n coordinates = [].concat(...feature.coordinates);\n } else if (feature.type === \"Polygon\") {\n coordinates = feature.coordinates;\n } else {\n throw new Error(\n \"Input must be a LineString, MultiLineString, \" +\n \"Polygon, or MultiPolygon Feature or Geometry\"\n );\n }\n coordinates.forEach((line1: any) => {\n coordinates.forEach((line2: any) => {\n for (let i = 0; i < line1.length - 1; i++) {\n // start iteration at i, intersections for k < i have already\n // been checked in previous outer loop iterations\n for (let k = i; k < line2.length - 1; k++) {\n if (line1 === line2) {\n // segments are adjacent and always share a vertex, not a kink\n if (Math.abs(i - k) === 1) {\n continue;\n }\n // first and last segment in a closed lineString or ring always share a vertex, not a kink\n if (\n // segments are first and last segment of lineString\n i === 0 &&\n k === line1.length - 2 &&\n // lineString is closed\n line1[i][0] === line1[line1.length - 1][0] &&\n line1[i][1] === line1[line1.length - 1][1]\n ) {\n continue;\n }\n }\n\n const intersection: any = lineIntersects(\n line1[i][0],\n line1[i][1],\n line1[i + 1][0],\n line1[i + 1][1],\n line2[k][0],\n line2[k][1],\n line2[k + 1][0],\n line2[k + 1][1]\n );\n if (intersection) {\n results.features.push(point([intersection[0], intersection[1]]));\n }\n }\n }\n });\n });\n return results;\n}\n\n// modified from http://jsfiddle.net/justin_c_rounds/Gd2S2/light/\nfunction lineIntersects(\n line1StartX: any,\n line1StartY: any,\n line1EndX: any,\n line1EndY: any,\n line2StartX: any,\n line2StartY: any,\n line2EndX: any,\n line2EndY: any\n) {\n // if the lines intersect, the result contains the x and y of the\n // intersection (treating the lines as infinite) and booleans for whether\n // line segment 1 or line segment 2 contain the point\n let denominator;\n let a;\n let b;\n let numerator1;\n let numerator2;\n const result = {\n x: null,\n y: null,\n onLine1: false,\n onLine2: false,\n };\n denominator =\n (line2EndY - line2StartY) * (line1EndX - line1StartX) -\n (line2EndX - line2StartX) * (line1EndY - line1StartY);\n if (denominator === 0) {\n if (result.x !== null && result.y !== null) {\n return result;\n } else {\n return false;\n }\n }\n a = line1StartY - line2StartY;\n b = line1StartX - line2StartX;\n numerator1 = (line2EndX - line2StartX) * a - (line2EndY - line2StartY) * b;\n numerator2 = (line1EndX - line1StartX) * a - (line1EndY - line1StartY) * b;\n a = numerator1 / denominator;\n b = numerator2 / denominator;\n\n // if we cast these lines infinitely in both directions, they intersect here:\n result.x = line1StartX + a * (line1EndX - line1StartX);\n result.y = line1StartY + a * (line1EndY - line1StartY);\n\n // if line1 is a segment and line2 is infinite, they intersect if:\n if (a >= 0 && a <= 1) {\n result.onLine1 = true;\n }\n // if line2 is a segment and line1 is infinite, they intersect if:\n if (b >= 0 && b <= 1) {\n result.onLine2 = true;\n }\n // if line1 and line2 are segments, they intersect if both of the above are true\n if (result.onLine1 && result.onLine2) {\n return [result.x, result.y];\n } else {\n return false;\n }\n}\n\nexport { kinks };\nexport default kinks;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../index.ts"],"sourcesContent":["import {\n Feature,\n FeatureCollection,\n LineString,\n MultiLineString,\n MultiPolygon,\n Point,\n Polygon,\n} from \"geojson\";\nimport { point } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|linestring}, {@link MultiLineString|multi-linestring},\n * {@link MultiPolygon|multi-polygon} or {@link Polygon|polygon} and\n * returns {@link Point|points} at all self-intersections.\n *\n * @function\n * @param {Feature<LineString|MultiLineString|MultiPolygon|Polygon>} featureIn input feature\n * @returns {FeatureCollection<Point>} self-intersections\n * @example\n * var poly = turf.polygon([[\n * [-12.034835, 8.901183],\n * [-12.060413, 8.899826],\n * [-12.03638, 8.873199],\n * [-12.059383, 8.871418],\n * [-12.034835, 8.901183]\n * ]]);\n *\n * var kinks = turf.kinks(poly);\n *\n * //addToMap\n * var addToMap = [poly, kinks]\n */\nfunction kinks<T extends LineString | MultiLineString | Polygon | MultiPolygon>(\n featureIn: Feature<T> | T\n): FeatureCollection<Point> {\n let coordinates: any;\n let feature: any;\n const results: FeatureCollection<Point> = {\n type: \"FeatureCollection\",\n features: [],\n };\n if (featureIn.type === \"Feature\") {\n feature = featureIn.geometry;\n } else {\n feature = featureIn;\n }\n if (feature.type === \"LineString\") {\n coordinates = [feature.coordinates];\n } else if (feature.type === \"MultiLineString\") {\n coordinates = feature.coordinates;\n } else if (feature.type === \"MultiPolygon\") {\n coordinates = [].concat(...feature.coordinates);\n } else if (feature.type === \"Polygon\") {\n coordinates = feature.coordinates;\n } else {\n throw new Error(\n \"Input must be a LineString, MultiLineString, \" +\n \"Polygon, or MultiPolygon Feature or Geometry\"\n );\n }\n coordinates.forEach((line1: any) => {\n coordinates.forEach((line2: any) => {\n for (let i = 0; i < line1.length - 1; i++) {\n // start iteration at i, intersections for k < i have already\n // been checked in previous outer loop iterations\n for (let k = i; k < line2.length - 1; k++) {\n if (line1 === line2) {\n // segments are adjacent and always share a vertex, not a kink\n if (Math.abs(i - k) === 1) {\n continue;\n }\n // first and last segment in a closed lineString or ring always share a vertex, not a kink\n if (\n // segments are first and last segment of lineString\n i === 0 &&\n k === line1.length - 2 &&\n // lineString is closed\n line1[i][0] === line1[line1.length - 1][0] &&\n line1[i][1] === line1[line1.length - 1][1]\n ) {\n continue;\n }\n }\n\n const intersection: any = lineIntersects(\n line1[i][0],\n line1[i][1],\n line1[i + 1][0],\n line1[i + 1][1],\n line2[k][0],\n line2[k][1],\n line2[k + 1][0],\n line2[k + 1][1]\n );\n if (intersection) {\n results.features.push(point([intersection[0], intersection[1]]));\n }\n }\n }\n });\n });\n return results;\n}\n\n// modified from http://jsfiddle.net/justin_c_rounds/Gd2S2/light/\nfunction lineIntersects(\n line1StartX: any,\n line1StartY: any,\n line1EndX: any,\n line1EndY: any,\n line2StartX: any,\n line2StartY: any,\n line2EndX: any,\n line2EndY: any\n) {\n // if the lines intersect, the result contains the x and y of the\n // intersection (treating the lines as infinite) and booleans for whether\n // line segment 1 or line segment 2 contain the point\n let denominator;\n let a;\n let b;\n let numerator1;\n let numerator2;\n const result = {\n x: null,\n y: null,\n onLine1: false,\n onLine2: false,\n };\n denominator =\n (line2EndY - line2StartY) * (line1EndX - line1StartX) -\n (line2EndX - line2StartX) * (line1EndY - line1StartY);\n if (denominator === 0) {\n if (result.x !== null && result.y !== null) {\n return result;\n } else {\n return false;\n }\n }\n a = line1StartY - line2StartY;\n b = line1StartX - line2StartX;\n numerator1 = (line2EndX - line2StartX) * a - (line2EndY - line2StartY) * b;\n numerator2 = (line1EndX - line1StartX) * a - (line1EndY - line1StartY) * b;\n a = numerator1 / denominator;\n b = numerator2 / denominator;\n\n // if we cast these lines infinitely in both directions, they intersect here:\n result.x = line1StartX + a * (line1EndX - line1StartX);\n result.y = line1StartY + a * (line1EndY - line1StartY);\n\n // if line1 is a segment and line2 is infinite, they intersect if:\n if (a >= 0 && a <= 1) {\n result.onLine1 = true;\n }\n // if line2 is a segment and line1 is infinite, they intersect if:\n if (b >= 0 && b <= 1) {\n result.onLine2 = true;\n }\n // if line1 and line2 are segments, they intersect if both of the above are true\n if (result.onLine1 && result.onLine2) {\n return [result.x, result.y];\n } else {\n return false;\n }\n}\n\nexport { kinks };\nexport default kinks;\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@turf/kinks",
3
- "version": "7.2.0",
4
- "description": "turf kinks module",
3
+ "version": "7.3.1",
4
+ "description": "Takes a GeoJSON feature and returns points at all self-intersections.",
5
5
  "author": "Turf Authors",
6
6
  "license": "MIT",
7
7
  "bugs": {
@@ -46,27 +46,26 @@
46
46
  "bench": "tsx bench.ts",
47
47
  "build": "tsup --config ../../tsup.config.ts",
48
48
  "docs": "tsx ../../scripts/generate-readmes.ts",
49
- "test": "npm-run-all --npm-path npm test:*",
49
+ "test": "pnpm run /test:.*/",
50
50
  "test:tape": "tsx test.ts",
51
51
  "test:types": "tsc --esModuleInterop --module node16 --moduleResolution node16 --noEmit --strict types.ts"
52
52
  },
53
53
  "devDependencies": {
54
- "@turf/meta": "^7.2.0",
54
+ "@turf/meta": "7.3.1",
55
55
  "@types/benchmark": "^2.1.5",
56
- "@types/tape": "^4.13.4",
56
+ "@types/tape": "^5.8.1",
57
57
  "benchmark": "^2.1.4",
58
58
  "load-json-file": "^7.0.1",
59
- "npm-run-all": "^4.1.5",
60
59
  "tape": "^5.9.0",
61
- "tsup": "^8.3.5",
62
- "tsx": "^4.19.2",
63
- "typescript": "^5.5.4",
64
- "write-json-file": "^5.0.0"
60
+ "tsup": "^8.4.0",
61
+ "tsx": "^4.19.4",
62
+ "typescript": "^5.8.3",
63
+ "write-json-file": "^6.0.0"
65
64
  },
66
65
  "dependencies": {
67
- "@turf/helpers": "^7.2.0",
66
+ "@turf/helpers": "7.3.1",
68
67
  "@types/geojson": "^7946.0.10",
69
68
  "tslib": "^2.8.1"
70
69
  },
71
- "gitHead": "7b0f0374c4668cd569f8904c71e2ae7d941be867"
70
+ "gitHead": "b7f1b4eafb760431e03955499d8eac9489438219"
72
71
  }