geojson-polygon-self-intersections
Version:
Find self-intersections in geojson polygon (possibly with interior rings)
46 lines • 1.49 kB
TypeScript
import { Feature, Polygon, Position } from 'geojson';
type CallbackFunctionInput = {
isect: Position;
ring0: number;
edge0: number;
start0: Position;
end0: Position;
frac0: number;
ring1: number;
edge1: number;
start1: Position;
end1: Position;
frac1: number;
unique: boolean;
};
type Options = {
useSpatialIndex: boolean;
epsilon: number;
reportVertexOnVertex: boolean;
reportVertexOnEdge: boolean;
callbackFunction: (callbackFunctionInput: CallbackFunctionInput) => any;
};
/**
* Return a polygon's self-intersections
*
* @export
* @param {Feature<Polygon>} polygon GeoJSON Polygon
* @param {?(Partial<Options>)} [partialOptions] Option
* @returns {any[]} Array of self-intersection points (or any type produced by the callback function)
*/
export default function gpsi(polygon: Feature<Polygon>, partialOptions?: Partial<Options>): any[];
/**
* Compute where two lines intersect.
*
* From https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection
*
* @param {Position} start0
* @param {Position} end0
* @param {Position} start1
* @param {Position} end1
* @returns {(Position | undefined)} The point of intersection, or undefined if no intersection
*/
export declare function intersect(start0: Position, end0: Position, start1: Position, end1: Position): Position | undefined;
export declare function equalArrays(array1: any[], array2: any[]): boolean;
export {};
//# sourceMappingURL=index.d.ts.map