@allmaps/stdlib
Version:
Allmaps Standard Library
2,044 lines (1,103 loc) • 31.6 kB
Markdown
# @allmaps/stdlib
Allmaps Standard Library
## License
MIT
## API
### `angle(line)`
###### Parameters
* `line` (`[Point, Point]`)
###### Returns
`number`.
### `arrayMatrixSize(arrayMatrix)`
###### Parameters
* `arrayMatrix` (`Array<Array<T>>`)
###### Returns
`[number, number]`.
### `arrayRepeated(array, isEqualObject)`
###### Parameters
* `array` (`Array<T>`)
* `isEqualObject` (`((t0: T, t1: T) => boolean) | undefined`)
###### Returns
`Array<T>`.
### `bboxToCenter(bbox)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
###### Returns
`[number, number]`.
### `bboxToDiameter(bbox)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
###### Returns
`number`.
### `bboxToLine(bbox)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
###### Returns
`[Point, Point]`.
### `bboxToPolygon(bbox)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
###### Returns
`Array<Array<Point>>`.
### `bboxToRectangle(bbox)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
###### Returns
`[Point, Point, Point, Point]`.
### `bboxToResolution(bbox)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
###### Returns
`number`.
### `bboxToSize(bbox)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
###### Returns
`[number, number]`.
### `bboxesToScale(bbox0, bbox1)`
###### Parameters
* `bbox0` (`[number, number, number, number]`)
* `bbox1` (`[number, number, number, number]`)
###### Returns
`number`.
### `bearing(line)`
###### Parameters
* `line` (`[Point, Point]`)
###### Returns
`number`.
### `bindPoint(point, min, max)`
###### Parameters
* `point` (`[number, number]`)
* `min` (`[number, number]`)
* `max` (`[number, number]`)
###### Returns
`[number, number]`.
### `bindPointLngLatProjection(point)`
###### Parameters
* `point` (`[number, number]`)
###### Returns
`[number, number]`.
### `bindPointWebMercatorProjection(point)`
###### Parameters
* `point` (`[number, number]`)
###### Returns
`[number, number]`.
### `bindValue(value, min, max)`
###### Parameters
* `value` (`number`)
* `min` (`number`)
* `max` (`number`)
###### Returns
`number`.
### `bufferBbox(bbox, dist0, dist1)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
* `dist0` (`number`)
* `dist1` (`number`)
###### Returns
`[number, number, number, number]`.
### `bufferBboxByRatio(bbox, ratio)`
###### Parameters
* `bbox` (`[number, number, number, number]`)
* `ratio?` (`number | undefined`)
###### Returns
`[number, number, number, number]`.
### `camelCaseToWords(string)`
###### Parameters
* `string` (`string`)
###### Returns
`string`.
### `closeMultiPolygon(multiPolygon)`
###### Parameters
* `multiPolygon` (`Array<Array<Array<Point>>>`)
###### Returns
`Array<Array<Array<Point>>>`.
### `closePolygon(polygon)`
###### Parameters
* `polygon` (`Array<Array<Point>>`)
###### Returns
`Array<Array<Point>>`.
### `closeRing(ring)`
###### Parameters
* `ring` (`Array<Point>`)
###### Returns
`Array<Point>`.
### `combineBboxes(bboxes)`
###### Parameters
* `bboxes` (`[number, number, number, number]`)
###### Returns
`Bbox | undefined`.
### `computeBbox(points, options)`
###### Parameters
* `points` (`Geometry | GeojsonGeometry`)
* `options?` (`Partial<BboxOptions> | undefined`)
###### Returns
`[number, number, number, number]`.
### `computeMinMax(values)`
###### Parameters
* `values` (`Array<number>`)
###### Returns
`[number, number]`.
### `conformLineString(lineString)`
###### Parameters
* `lineString` (`Array<Point>`)
###### Returns
`Array<Point>`.
### `conformMultiLineString(multiLineString)`
###### Parameters
* `multiLineString` (`Array<Array<Point>>`)
###### Returns
`Array<Array<Point>>`.
### `conformMultiPolygon(multiPolygon)`
###### Parameters
* `multiPolygon` (`Array<Array<Array<Point>>>`)
###### Returns
`Array<Array<Array<Point>>>`.
### `conformPolygon(polygon)`
###### Parameters
* `polygon` (`Array<Array<Point>>`)
###### Returns
`Array<Array<Point>>`.
### `conformRing(ring)`
###### Parameters
* `ring` (`Array<Point>`)
###### Returns
`Array<Point>`.
### `contractGeojsonGeometriesToGeojsonMultiGeometry(geojsonGeometries)`
###### Parameters
* `geojsonGeometries` (`Array<GeojsonPoint | GeojsonLineString | GeojsonPolygon>`)
###### Returns
`GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon`.
### `contractGeojsonLineStringsToGeojsonMultiLineString(geojsonLineStrings)`
###### Parameters
* `geojsonLineStrings` (`Array<GeojsonLineString>`)
###### Returns
`{type: 'MultiLineString'; coordinates: number[][][]}`.
### `contractGeojsonPointsToGeojsonMultiPoint(geojsonPoints)`
###### Parameters
* `geojsonPoints` (`Array<GeojsonPoint>`)
###### Returns
`{type: 'MultiPoint'; coordinates: number[][]}`.
### `contractGeojsonPolygonsToGeojsonMultiPolygon(geojsonPolygons)`
###### Parameters
* `geojsonPolygons` (`Array<GeojsonPolygon>`)
###### Returns
`{type: 'MultiPolygon'; coordinates: number[][][][]}`.
### `convexHull(points)`
###### Parameters
* `points` (`Array<Point>`)
###### Returns
`Ring | undefined`.
### `degreesToRadians(degrees)`
###### Parameters
* `degrees` (`number`)
###### Returns
`number`.
### `distance(from)`
###### Parameters
* `from` (`[Point, Point]`)
###### Returns
`number`.
### `doBboxesIntersect(bbox0, bbox1)`
###### Parameters
* `bbox0` (`[number, number, number, number]`)
* `bbox1` (`[number, number, number, number]`)
###### Returns
`boolean`.
### `equalSet(set1, set2)`
###### Parameters
* `set1` (`Set<T> | null`)
* `set2` (`Set<T> | null`)
###### Returns
`boolean`.
### `expandGeojsonMultiGeometryToGeojsonGeometries(geojsonMultiGeometry)`
###### Parameters
* `geojsonMultiGeometry` (`GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon`)
###### Returns
`Array<GeojsonPoint> | Array<GeojsonLineString> | Array<GeojsonPolygon>`.
### `expandGeojsonMultiLineStringToGeojsonLineStrings(geojsonMultiLineString)`
###### Parameters
* `geojsonMultiLineString` (`{type: 'MultiLineString'; coordinates: number[][][]}`)
###### Returns
`Array<GeojsonLineString>`.
### `expandGeojsonMultiPointToGeojsonPoints(geojsonMultiPoint)`
###### Parameters
* `geojsonMultiPoint` (`{type: 'MultiPoint'; coordinates: number[][]}`)
###### Returns
`Array<GeojsonPoint>`.
### `expandGeojsonMultiPolygonToGeojsonPolygons(geojsonMultiPolygon)`
###### Parameters
* `geojsonMultiPolygon` (`{type: 'MultiPolygon'; coordinates: number[][][][]}`)
###### Returns
`Array<GeojsonPolygon>`.
### `fetchAnnotationsFromApi(parsedIiif)`
###### Parameters
* `parsedIiif` (`Image | Manifest | Collection`)
###### Returns
`Promise<Array<unknown>>`.
### `fetchImageBitmap(input, init, fetchFn)`
###### Parameters
* `input` (`RequestInfo | URL`)
* `init?` (`RequestInit | undefined`)
* `fetchFn?` (`FetchFn | undefined`)
###### Returns
`Promise<ImageBitmap>`.
### `fetchImageInfo(imageUri, init, fetchFn)`
###### Parameters
* `imageUri` (`string`)
* `init?` (`RequestInit | undefined`)
* `fetchFn?` (`FetchFn | undefined`)
###### Returns
`Promise<unknown>`.
### `fetchJson(input, init, fetchFn)`
###### Parameters
* `input` (`RequestInfo | URL`)
* `init?` (`RequestInit | undefined`)
* `fetchFn?` (`FetchFn | undefined`)
###### Returns
`Promise<unknown>`.
### `fetchUrl(input, init, fetchFn)`
###### Parameters
* `input` (`RequestInfo | URL`)
* `init?` (`RequestInit | undefined`)
* `fetchFn?` (`FetchFn | undefined`)
###### Returns
`Promise<Response>`.
### `flipX(point)`
###### Parameters
* `point` (`[number, number]`)
###### Returns
`[number, number]`.
### `flipY(point)`
###### Parameters
* `point` (`[number, number]`)
###### Returns
`[number, number]`.
### `geojsonFeatureCollectionToGeojsonGeometries(geojsonFeatureCollection)`
###### Parameters
* `geojsonFeatureCollection` (`{type: 'FeatureCollection'; features: GeojsonFeature[]}`)
###### Returns
`Array<GeojsonGeometry>`.
### `geojsonFeatureToGeojsonGeometry(geojsonFeature)`
###### Parameters
* `geojsonFeature` (`{type: 'Feature'; properties: unknown; geometry: GeojsonGeometry}`)
###### Returns
` | GeojsonPoint
| GeojsonLineString
| GeojsonPolygon
| GeojsonMultiPoint
| GeojsonMultiLineString
| GeojsonMultiPolygon`.
### `geojsonFeaturesToGeojsonFeatureCollection(geojsonFeatures)`
###### Parameters
* `geojsonFeatures` (`GeojsonFeature | Array<GeojsonFeature>`)
###### Returns
`{type: 'FeatureCollection'; features: GeojsonFeature[]}`.
### `geojsonGeometriesToGeojsonFeatureCollection(geojsonGeometries, properties)`
###### Parameters
* `geojsonGeometries` (`Array<GeojsonGeometry>`)
* `properties?` (`Array<unknown> | undefined`)
###### Returns
`{type: 'FeatureCollection'; features: GeojsonFeature[]}`.
### `geojsonGeometryToGeojsonFeature(geojsonGeometry, properties)`
###### Parameters
* `geojsonGeometry` (` | GeojsonPoint
| GeojsonLineString
| GeojsonPolygon
| GeojsonMultiPoint
| GeojsonMultiLineString
| GeojsonMultiPolygon`)
* `properties?` (`unknown`)
###### Returns
`{type: 'Feature'; properties: unknown; geometry: GeojsonGeometry}`.
### `geojsonGeometryToGeometry(geojsonPoint)`
###### Parameters
* `geojsonPoint` (`{type: 'Point'; coordinates: number[]}`)
###### Returns
`[number, number]`.
### `geojsonGeometryToSvgGeometry(geojsonGeometry)`
###### Parameters
* `geojsonGeometry` (` | GeojsonPoint
| GeojsonLineString
| GeojsonPolygon
| GeojsonMultiPoint
| GeojsonMultiLineString
| GeojsonMultiPolygon`)
###### Returns
`SvgCircle | SvgLine | SvgPolyLine | SvgPolygon | SvgRect`.
### `geojsonLineStringToLineString(geojsonLineString)`
###### Parameters
* `geojsonLineString` (`{type: 'LineString'; coordinates: number[][]}`)
###### Returns
`Array<Point>`.
### `geojsonMultiLineStringToMultiLineString(geojsonMultiLineString)`
###### Parameters
* `geojsonMultiLineString` (`{type: 'MultiLineString'; coordinates: number[][][]}`)
###### Returns
`Array<Array<Point>>`.
### `geojsonMultiPointToMultiPoint(geojsonMultiPoint)`
###### Parameters
* `geojsonMultiPoint` (`{type: 'MultiPoint'; coordinates: number[][]}`)
###### Returns
`Array<Point>`.
### `geojsonMultiPolygonToMultiPolygon(geojsonMultiPolygon, close)`
###### Parameters
* `geojsonMultiPolygon` (`{type: 'MultiPolygon'; coordinates: number[][][][]}`)
* `close` (`boolean | undefined`)
###### Returns
`Array<Array<Array<Point>>>`.
### `geojsonPointToPoint(geojsonPoint)`
###### Parameters
* `geojsonPoint` (`{type: 'Point'; coordinates: number[]}`)
###### Returns
`[number, number]`.
### `geojsonPolygonToPolygon(geojsonPolygon, close)`
###### Parameters
* `geojsonPolygon` (`{type: 'Polygon'; coordinates: number[][][]}`)
* `close` (`boolean | undefined`)
###### Returns
`Array<Array<Point>>`.
### `geojsonPolygonToRing(geojsonPolygon, close)`
###### Parameters
* `geojsonPolygon` (`{type: 'Polygon'; coordinates: number[][][]}`)
* `close` (`boolean | undefined`)
###### Returns
`Array<Point>`.
### `geometryToDiameter(geometry)`
###### Parameters
* `geometry` (`Geometry | GeojsonGeometry`)
###### Returns
`number`.
### `geometryToGeojsonGeometry(point, options)`
###### Parameters
* `point` (`[number, number]`)
* `options?` (`Partial<MultiGeometryOptions> | undefined`)
###### Returns
`{type: 'Point'; coordinates: number[]}`.
### `geometryToSvgGeometry(point)`
###### Parameters
* `point` (`[number, number]`)
###### Returns
`{type: 'circle'; attributes?: SvgAttributes; coordinates: Point}`.
### `getColorHistogram(colors, binSize)`
###### Parameters
* `colors` (`Array<Color>`)
* `binSize` (`number | undefined`)
###### Returns
`{[bin: string]: ColorCount}`.
### `getColorsArray(imageData, resolution)`
###### Parameters
* `imageData` (`ImageData`)
* `resolution` (`number | undefined`)
###### Returns
`Array<Color>`.
### `getFullResourceMask(imageWidth, imageHeight)`
###### Parameters
* `imageWidth` (`number`)
* `imageHeight` (`number`)
###### Returns
`Array<Point>`.
### `getImageData(imageBitmap, mask)`
###### Parameters
* `imageBitmap` (`ImageBitmap`)
* `mask?` (`Array<Point> | undefined`)
###### Returns
`ImageData`.
### `getMaxOccurringColor(histogram)`
###### Parameters
* `histogram` (`{[bin: string]: ColorCount}`)
###### Returns
`{count: number; color: Color}`.
### `getPropertyFromCacheOrComputation(cache, key, computation, checkUse, checkStore)`
###### Parameters
* `cache` (`Map<K, T>`)
* `key` (`K`)
* `computation` (`() => T`)
* `checkUse` (`((t: T) => boolean) | undefined`)
* `checkStore` (`((t: T) => boolean) | undefined`)
###### Returns
`T`.
### `getPropertyFromDoubleCacheOrComputation(cache, key0, key1, computation, checkUse, checkStore)`
###### Parameters
* `cache` (`Map<K0, Map<K1, T>>`)
* `key0` (`K0`)
* `key1` (`K1`)
* `computation` (`() => T`)
* `checkUse` (`((t: T) => boolean) | undefined`)
* `checkStore` (`((t: T) => boolean) | undefined`)
###### Returns
`T`.
### `getPropertyFromQuadrupleCacheOrComputation(cache, key0, key1, key2, key3, computation, checkUse, checkStore)`
###### Parameters
* `cache` (`Map<K0, Map<K1, Map<K2, Map<K3, T>>>>`)
* `key0` (`K0`)
* `key1` (`K1`)
* `key2` (`K2`)
* `key3` (`K3`)
* `computation` (`() => T`)
* `checkUse` (`((t: T) => boolean) | undefined`)
* `checkStore` (`((t: T) => boolean) | undefined`)
###### Returns
`T`.
### `getPropertyFromTripleCacheOrComputation(cache, key0, key1, key2, computation, checkUse, checkStore)`
###### Parameters
* `cache` (`Map<K0, Map<K1, Map<K2, T>>>`)
* `key0` (`K0`)
* `key1` (`K1`)
* `key2` (`K2`)
* `computation` (`() => T`)
* `checkUse` (`((t: T) => boolean) | undefined`)
* `checkStore` (`((t: T) => boolean) | undefined`)
###### Returns
`T`.
### `groupBy(arr, key)`
###### Parameters
* `arr` (`Array<T>`)
* `key` (`(i: T) => K`)
###### Returns
`{[P in K]: Array<T>}`.
### `hexToFractionalOpaqueRgba(hex)`
Convert hex to fractional RGBA, and sets the transparency to 1
###### Parameters
* `hex` (`string`)
* hex string, e.g. '#0033ffcc'
###### Returns
Fractional RGB, e (`[number, number, number, number]`).g. \[0, 0.2, 1, 1]
### `hexToFractionalRgb(hex)`
Convert hex to fractional RGB
###### Parameters
* `hex` (`string`)
* hex string, e.g. '#0033ff'
###### Returns
Fractional RGB, e (`[number, number, number]`).g. \[0, 0.2, 1]
### `hexToFractionalRgba(hex)`
Convert hex to fractional RGBA
###### Parameters
* `hex` (`string`)
* hex string, e.g. '#0033ffff'
###### Returns
Fractional RGB, e (`[number, number, number, number]`).g. \[0, 0.2, 1, 1]
### `hexToOpaqueRgba(hex)`
Convert HEX to RGB, and sets the transparency to 255
###### Parameters
* `hex` (`string`)
* HEX string, e.g. '#0033ffcc'
###### Returns
RGB, e (`[number, number, number, number]`).g. \[0, 51, 255, 255]
### `hexToRgb(hex)`
Convert HEX to RGB
###### Parameters
* `hex` (`string`)
* HEX string, e.g. '#0033ff'
###### Returns
RGB, e (`[number, number, number]`).g. \[0, 51, 255]
### `hexToRgba(hex)`
Convert HEX to RGB
###### Parameters
* `hex` (`string`)
* HEX string, e.g. '#0033ffff'
###### Returns
RGB, e (`[number, number, number, number]`).g. \[0, 51, 255, 255]
### `intersectBboxes(bbox0, bbox1)`
###### Parameters
* `bbox0` (`[number, number, number, number]`)
* `bbox1` (`[number, number, number, number]`)
###### Returns
`Bbox | undefined`.
### `invertPoint(point)`
###### Parameters
* `point` (`[number, number]`)
###### Returns
`[number, number]`.
### `invertPoints(points)`
###### Parameters
* `points` (`Array<Point>`)
###### Returns
`Array<Point>`.
### `isClosed(input)`
###### Parameters
* `input` (`Array<Point>`)
###### Returns
`boolean`.
### `isEqualArray(array0, array1, isEqualObject)`
###### Parameters
* `array0` (`Array<T>`)
* `array1` (`Array<T>`)
* `isEqualObject` (`((t0: T, t1: T) => boolean) | undefined`)
###### Returns
`boolean`.
### `isEqualPoint(point0, point1)`
###### Parameters
* `point0` (`[number, number]`)
* `point1` (`[number, number]`)
###### Returns
`boolean`.
### `isEqualPointArray(pointArray0, pointArray1)`
###### Parameters
* `pointArray0` (`Array<Point>`)
* `pointArray1` (`Array<Point>`)
###### Returns
`boolean`.
### `isEqualPointArrayArray(pointArrayArray0, pointArrayArray1)`
###### Parameters
* `pointArrayArray0` (`Array<Array<Point>>`)
* `pointArrayArray1` (`Array<Array<Point>>`)
###### Returns
`boolean`.
### `isGeojsonGeometry(obj)`
###### Parameters
* `obj` (`unknown`)
###### Returns
`boolean`.
### `isGeojsonLineString(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isGeojsonMultiGeometry(obj)`
###### Parameters
* `obj` (`unknown`)
###### Returns
`boolean`.
### `isGeojsonMultiLineString(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isGeojsonMultiPoint(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isGeojsonMultiPolygon(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isGeojsonPoint(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isGeojsonPolygon(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isGeometry(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isLineString(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isMultiLineString(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isMultiPoint(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isMultiPolygon(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isPoint(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isPolygon(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isRing(input)`
###### Parameters
* `input` (`unknown`)
###### Returns
`boolean`.
### `isSvgCircle(input)`
###### Parameters
* `input` (`any`)
###### Returns
`boolean`.
### `isSvgLine(input)`
###### Parameters
* `input` (`any`)
###### Returns
`boolean`.
### `isSvgPolyLine(input)`
###### Parameters
* `input` (`any`)
###### Returns
`boolean`.
### `isSvgPolygon(input)`
###### Parameters
* `input` (`any`)
###### Returns
`boolean`.
### `isSvgRect(input)`
###### Parameters
* `input` (`any`)
###### Returns
`boolean`.
### `isValidHttpUrl(string)`
###### Parameters
* `string` (`string`)
###### Returns
`boolean`.
### `lineAngle(line)`
###### Parameters
* `line` (`[Point, Point]`)
###### Returns
`number`.
### `lineStringToGeojsonLineString(lineString)`
###### Parameters
* `lineString` (`Array<Point>`)
###### Returns
`{type: 'LineString'; coordinates: number[][]}`.
### `lineStringToLines(lineString)`
###### Parameters
* `lineString` (`Array<Point>`)
###### Returns
`Array<Line>`.
### `linesIntersectionPoint(line0, line1, options)`
###### Parameters
* `line0` (`[Point, Point]`)
* `line1` (`[Point, Point]`)
* `options?` (`Partial<IntersectionOptions> | undefined`)
###### Returns
`Point | undefined`.
### `mapToResourceMaskSvgPolygon(map)`
###### Parameters
* `map` (`{ type: "GeoreferencedMap"; resource: { id: string; type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; height?: number | undefined; width?: number | undefined; partOf?: ({ id: string; type: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ id: string; typ...`)
###### Returns
`{type: 'polygon'; attributes?: SvgAttributes; coordinates: Ring}`.
### `mergeGeojsonFeaturesCollections(geojsonFeatureCollections)`
###### Parameters
* `geojsonFeatureCollections` (`Array<GeojsonFeatureCollection>`)
###### Returns
`{type: 'FeatureCollection'; features: GeojsonFeature[]}`.
### `mergeOptions(baseOptions, additionalPartialOptions)`
###### Parameters
* `baseOptions` (`T`)
* `additionalPartialOptions` (`U[0]`)
###### Returns
`T & U[number]`.
### `mergeOptionsUnlessUndefined(baseOptions, additionalOptions)`
###### Parameters
* `baseOptions` (`T`)
* `additionalOptions` (`Partial<U> | undefined`)
###### Returns
`T & Partial<U>`.
### `mergePartialOptions(partialOptions)`
###### Parameters
* `partialOptions` (`U[0]`)
###### Returns
`{[P in keyof U[number]]?: U[number][P] | undefined}`.
### `midPoint(points)`
###### Parameters
* `points` (`[number, number]`)
###### Returns
`[number, number]`.
### `mixLineStrings(lineString0, lineString1, t)`
###### Parameters
* `lineString0` (`Array<Point>`)
* `lineString1` (`Array<Point>`)
* `t` (`number`)
###### Returns
`Array<Point>`.
### `mixNumbers(number0, number1, t)`
###### Parameters
* `number0` (`number`)
* `number1` (`number`)
* `t` (`number`)
###### Returns
`number`.
### `mixPoints(point0, point1, t)`
###### Parameters
* `point0` (`[number, number]`)
* `point1` (`[number, number]`)
* `t` (`number`)
###### Returns
`[number, number]`.
### `multiLineStringToGeojsonMultiLineString(multiLineString)`
###### Parameters
* `multiLineString` (`Array<Array<Point>>`)
###### Returns
`{type: 'MultiLineString'; coordinates: number[][][]}`.
### `multiPointToGeojsonMultiPoint(multiPoint)`
###### Parameters
* `multiPoint` (`Array<Point>`)
###### Returns
`{type: 'MultiPoint'; coordinates: number[][]}`.
### `multiPolygonToGeojsonMultiPolygon(multiPolygon, close)`
###### Parameters
* `multiPolygon` (`Array<Array<Array<Point>>>`)
* `close` (`boolean | undefined`)
###### Returns
`{type: 'MultiPolygon'; coordinates: number[][][][]}`.
### `multiplyArrayMatrix(arrayMatrix, factor)`
###### Parameters
* `arrayMatrix` (`Array<Array<number>>`)
* `factor` (`number`)
###### Returns
`Array<Array<number>>`.
### `newArrayMatrix(rows, cols, value)`
Create and fill a ArrayMatrix: an Arrays of Arrays, that can later be loaded as a ml-matrix Matrix
###### Parameters
* `rows` (`number`)
* `cols` (`number`)
* `value` (`T | undefined`)
###### Returns
`Array<Array<T>>`.
### `newBlockArrayMatrix(blocks, emptyValue)`
###### Parameters
* `blocks` (`Array<Array<Array<Array<T>>>>`)
* `emptyValue` (`T | undefined`)
###### Returns
`Array<Array<T>>`.
### `objectDifference(newObject, baseObject)`
###### Parameters
* `newObject` (`object`)
* `baseObject` (`object`)
###### Returns
`object`.
### `objectOmitDifference(newObject, baseObject)`
###### Parameters
* `newObject` (`object`)
* `baseObject` (`object`)
###### Returns
`object`.
### `omit(object, keys)`
###### Parameters
* `object` (`T`)
* `keys` (`Array<string>`)
###### Returns
`{[P in keyof T]?: T[P] | undefined}`.
### `optionKeysByMapIdToUndefinedOptionsByMapId(optionKeysByMapId)`
###### Parameters
* `optionKeysByMapId` (`Map<string, T> | undefined`)
###### Returns
`Map<string, Record<T[number], undefined>> | undefined`.
### `optionKeysToUndefinedOptions(optionKeys)`
###### Parameters
* `optionKeys` (`T | undefined`)
###### Returns
`Record<T[number], undefined> | undefined`.
### `pasteArrayMatrix(arrayMatrix, rowsStart, colsStart, subArrayMatrix)`
###### Parameters
* `arrayMatrix` (`Array<Array<T>>`)
* `rowsStart` (`number`)
* `colsStart` (`number`)
* `subArrayMatrix` (`Array<Array<T>>`)
###### Returns
`Array<Array<T>>`.
### `pixelToIntArrayIndex(pixel, size, channels, flipY)`
###### Parameters
* `pixel` (`[number, number]`)
* `size` (`[number, number]`)
* `channels` (`number`)
* `flipY` (`boolean | undefined`)
###### Returns
`number`.
### `pointInBbox(point, bbox)`
###### Parameters
* `point` (`[number, number]`)
* `bbox` (`[number, number, number, number]`)
###### Returns
`boolean`.
### `pointToGeojsonPoint(point)`
###### Parameters
* `point` (`[number, number]`)
###### Returns
`{type: 'Point'; coordinates: number[]}`.
### `pointToPixel(point, translate)`
###### Parameters
* `point` (`[number, number]`)
* `translate` (`Point | undefined`)
###### Returns
`[number, number]`.
### `pointsAndPointsToLines(points0, points1)`
###### Parameters
* `points0` (`Array<Point>`)
* `points1` (`Array<Point>`)
###### Returns
`Array<Line>`.
### `polygonSelfIntersectionPoints(polygon, options)`
###### Parameters
* `polygon` (`Array<Array<Point>>`)
* `options?` (`Partial<IntersectionOptions> | undefined`)
###### Returns
`Array<Point>`.
### `polygonToGeojsonPolygon(polygon, close)`
###### Parameters
* `polygon` (`Array<Array<Point>>`)
* `close` (`boolean | undefined`)
###### Returns
`{type: 'Polygon'; coordinates: number[][][]}`.
### `prolongedLinesIntersectionPoint(line0, line1)`
###### Parameters
* `line0` (`[Point, Point]`)
* `line1` (`[Point, Point]`)
###### Returns
`Point | undefined`.
### `radiansToDegrees(radians)`
###### Parameters
* `radians` (`number`)
###### Returns
`number`.
### `rectangleToSize(rectangle)`
###### Parameters
* `rectangle` (`[Point, Point, Point, Point]`)
###### Returns
`[number, number]`.
### `rectanglesToScale(rectangle0, rectangle1)`
###### Parameters
* `rectangle0` (`[Point, Point, Point, Point]`)
* `rectangle1` (`[Point, Point, Point, Point]`)
###### Returns
`number`.
### `removeUndefinedOptions(optionsArray)`
###### Parameters
* `optionsArray` (`U[0]`)
###### Returns
`{ [P in keyof {[K in keyof U[number]]: Exclude<U[number][K], undefined>}]?:
| {[K in keyof U[number]]: Exclude<U[number][K], undefined>}[P]
| undefined
}`.
### `rgbToHex(color)`
Convert RBG to HEX
###### Parameters
* `color` (`[number, number, number]`)
###### Returns
HEX string, e (`string`).g. '#0033ff'
### `rgbaToHex(color)`
Convert RBGA to HEX
###### Parameters
* `color` (`[number, number, number, number]`)
###### Returns
HEX string, e (`string`).g. '#0033ffff'
### `ringToGeojsonPolygon(ring, close)`
###### Parameters
* `ring` (`Array<Point>`)
* `close` (`boolean | undefined`)
###### Returns
`{type: 'Polygon'; coordinates: number[][][]}`.
### `rms(from, to)`
###### Parameters
* `from` (`Array<Point>`)
* `to` (`Array<Point>`)
###### Returns
`number`.
### `rotatePoint(point, angle, anchor, cosAngle, sinAngle)`
###### Parameters
* `point` (`[number, number]`)
* `angle` (`number | undefined`)
* `anchor` (`Point | undefined`)
* `cosAngle?` (`number | undefined`)
* `sinAngle?` (`number | undefined`)
###### Returns
`[number, number]`.
### `rotatePoints(points, angle, anchor, cosAngle, sinAngle)`
###### Parameters
* `points` (`Array<Point>`)
* `angle` (`number | undefined`)
* `anchor` (`Point | undefined`)
* `cosAngle?` (`number | undefined`)
* `sinAngle?` (`number | undefined`)
###### Returns
`Array<Point>`.
### `scalePoint(point, scale)`
###### Parameters
* `point` (`[number, number]`)
* `scale` (`number`)
###### Returns
`[number, number]`.
### `scalePoints(points, scale)`
###### Parameters
* `points` (`Array<Point>`)
* `scale` (`number`)
###### Returns
`Array<Point>`.
### `scaleSize(size, scale)`
###### Parameters
* `size` (`[number, number]`)
* `scale` (`number`)
###### Returns
`[number, number]`.
### `shallowCopyArrayMatrix(arrayMatrix)`
###### Parameters
* `arrayMatrix` (`Array<Array<T>>`)
###### Returns
`Array<Array<T>>`.
### `sizeToBbox(size)`
###### Parameters
* `size` (`[number, number]`)
###### Returns
`[number, number, number, number]`.
### `sizeToCenter(size)`
###### Parameters
* `size` (`[number, number]`)
###### Returns
`[number, number]`.
### `sizeToRectangle(size)`
###### Parameters
* `size` (`[number, number]`)
###### Returns
`[Point, Point, Point, Point]`.
### `sizeToResolution(size)`
###### Parameters
* `size` (`[number, number]`)
###### Returns
`number`.
### `sizesToScale(size0, size1, fit)`
Compute a size from two scales
For unspecified 'fit', the scale is computed based on the surface area derived from the sizes.
For specified 'fit':
Example for square rectangles '\*' and '+':
'contain' where '\*' contains '.'
(in the first image size0 is relatively wider)
```
****
* *
```
**....** ....
* . . \* . .
**....** ....
\* \*
\*\*\*\*
'cover' where '\*' is covered by '.'
(in the first image size0 is relatively wider)
```
....
. .
```
..****.. \*\*\*\*
. \* \* . \* \*
..****.. \*\*\*\*
. .
....
###### Parameters
* `size0` (`[number, number]`)
* first size
* `size1` (`[number, number]`)
* second size
* `fit?` (`Fit | undefined`)
* fit
###### Returns
`number`.
### `sliceArrayMatrix(arrayMatrix, rowsStart, colsStart, rowsEnd, colsEnd)`
###### Parameters
* `arrayMatrix` (`Array<Array<T>>`)
* `rowsStart` (`number`)
* `colsStart` (`number`)
* `rowsEnd?` (`number | undefined`)
* `colsEnd?` (`number | undefined`)
###### Returns
`Array<Array<T>>`.
### `squaredDistance(from)`
###### Parameters
* `from` (`[Point, Point]`)
###### Returns
`number`.
### `stepDistanceAngle(point, dist, angle)`
###### Parameters
* `point` (`[number, number]`)
* `dist` (`number`)
* `angle` (`number`)
###### Returns
`[number, number]`.
### `stringToSvgGeometriesGenerator(svg)`
###### Parameters
* `svg` (`string`)
###### Returns
`Generator<SvgGeometry, void, unknown>`.
### `subArrayMatrix(arrayMatrix, rows, cols)`
###### Parameters
* `arrayMatrix` (`Array<Array<T>>`)
* `rows` (`Array<number>`)
* `cols` (`Array<number>`)
###### Returns
`Array<Array<T>>`.
### `subSetArray(arr1, arr2)`
###### Parameters
* `arr1` (`Array<T>`)
* `arr2` (`Array<T>`)
###### Returns
`boolean`.
### `svgGeometriesToSvgString(geometries)`
###### Parameters
* `geometries` (`Array<SvgGeometry>`)
###### Returns
`string`.
### `svgGeometryToGeometry(svgCircle)`
###### Parameters
* `svgCircle` (`{type: 'circle'; attributes?: SvgAttributes; coordinates: Point}`)
###### Returns
`[number, number]`.
### `svgGeometryToString(geometry)`
###### Parameters
* `geometry` (`SvgCircle | SvgLine | SvgPolyLine | SvgPolygon | SvgRect`)
###### Returns
`string`.
### `threePointsToAngle(pointA, pointB, pointC)`
Return angle alpha made at point A by points B and C
###### Parameters
* `pointA` (`[number, number]`)
* `pointB` (`[number, number]`)
* `pointC` (`[number, number]`)
###### Returns
`number`.
### `translatePoint(point, translationPoint, addOrSubstract)`
###### Parameters
* `point` (`[number, number]`)
* `translationPoint` (`[number, number]`)
* `addOrSubstract` (`'add' | 'substract' | undefined`)
###### Returns
`[number, number]`.
### `translatePoints(points, point, addOrSubstract)`
###### Parameters
* `points` (`Array<Point>`)
* `point` (`[number, number]`)
* `addOrSubstract` (`'add' | 'substract' | undefined`)
###### Returns
`Array<Point>`.
### `transposeArrayMatrix(arrayMatrix)`
###### Parameters
* `arrayMatrix` (`Array<Array<T>>`)
###### Returns
`Array<Array<T>>`.
### `triangleAngles(triangle)`
###### Parameters
* `triangle` (`[Point, Point, Point]`)
###### Returns
`[number, number, number]`.
### `triangleArea(triangle)`
###### Parameters
* `triangle` (`[Point, Point, Point]`)
###### Returns
`number`.
### `uncloseMultiPolygon(multiPolygon)`
###### Parameters
* `multiPolygon` (`Array<Array<Array<Point>>>`)
###### Returns
`Array<Array<Array<Point>>>`.
### `unclosePolygon(polygon)`
###### Parameters
* `polygon` (`Array<Array<Point>>`)
###### Returns
`Array<Array<Point>>`.
### `uncloseRing(ring)`
###### Parameters
* `ring` (`Array<Point>`)
###### Returns
`Array<Point>`.