Skip to content

@allmaps/stdlib

Allmaps Standard Library

API

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].

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.

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)
Returns

[number, number, number, number].

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)

Parameters
  • points (Geometry | GeojsonGeometry)
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>.

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.

expandGeojsonMultiGeometryToGeojsonGeometryArray(geojsonMultiGeometry)

Parameters
  • geojsonMultiGeometry (GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon)
Returns

Array<GeojsonPoint> | Array<GeojsonLineString> | Array<GeojsonPolygon>.

expandGeojsonMultiLineStringToGeojsonLineStringArray(geojsonMultiLineString)

Parameters
  • geojsonMultiLineString ({type: 'MultiLineString'; coordinates: Point[][]})
Returns

Array<GeojsonLineString>.

expandGeojsonMultiPointToGeojsonPointArray(geojsonMultiPoint)

Parameters
  • geojsonMultiPoint ({type: 'MultiPoint'; coordinates: Point[]})
Returns

Array<GeojsonPoint>.

expandGeojsonMultiPolygonToGeojsonPolygonArray(geojsonMultiPolygon)

Parameters
  • geojsonMultiPolygon ({type: 'MultiPolygon'; coordinates: Point[][][]})
Returns

Array<GeojsonPolygon>.

featureCollectionToGeometries(featureCollection)

Parameters
  • featureCollection ({type: 'FeatureCollection'; features: GeojsonFeature[]})
Returns

Array<GeojsonGeometry>.

featureToGeometry(feature)

Parameters
  • feature ({type: 'Feature'; properties: unknown; geometry: GeojsonGeometry})
Returns

| GeojsonPoint | GeojsonLineString | GeojsonPolygon | GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon.

featuresToFeatureCollection(features)

Parameters
  • features (GeojsonFeature | Array<GeojsonFeature>)
Returns

{type: 'FeatureCollection'; features: GeojsonFeature[]}.

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].

geojsonGeometryToGeometry(geojsonGeometry)

Parameters
  • geojsonGeometry ( | GeojsonPoint | GeojsonLineString | GeojsonPolygon | GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon)
Returns

| Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon.

geojsonLineStringToLineString(geojsonLineString)

Parameters
  • geojsonLineString ({type: 'LineString'; coordinates: Point[]})
Returns

Array<Point>.

geojsonMultiLineStringToMultiLineString(geojsonMultiLineString)

Parameters
  • geojsonMultiLineString ({type: 'MultiLineString'; coordinates: Point[][]})
Returns

Array<Array<Point>>.

geojsonMultiPointToMultiPoint(geojsonMultiPoint)

Parameters
  • geojsonMultiPoint ({type: 'MultiPoint'; coordinates: Point[]})
Returns

Array<Point>.

geojsonMultiPolygonToMultiPolygon(geojsonMultiPolygon, close)

Parameters
  • geojsonMultiPolygon ({type: 'MultiPolygon'; coordinates: Point[][][]})
  • close (boolean | undefined)
Returns

Array<Array<Array<Point>>>.

geojsonPointToPoint(geojsonPoint)

Parameters
  • geojsonPoint ({type: 'Point'; coordinates: Point})
Returns

[number, number].

geojsonPolygonToPolygon(geojsonPolygon, close)

Parameters
  • geojsonPolygon ({type: 'Polygon'; coordinates: Point[][]})
  • close (boolean | undefined)
Returns

Array<Array<Point>>.

geojsonPolygonToRing(geojsonPolygon, close)

Parameters
  • geojsonPolygon ({type: 'Polygon'; coordinates: Point[][]})
  • close (boolean | undefined)
Returns

Array<Point>.

geojsonToSvg(geometry)

Parameters
  • geometry ( | GeojsonPoint | GeojsonLineString | GeojsonPolygon | GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon)
Returns

SvgCircle | SvgLine | SvgPolyLine | SvgPolygon | SvgRect.

geometriesToFeatureCollection(geometries, properties)

Parameters
  • geometries (Array<GeojsonGeometry>)
  • properties? (Array<unknown> | undefined)
Returns

{type: 'FeatureCollection'; features: GeojsonFeature[]}.

geometryToDiameter(geometry)

Parameters
  • geometry (Geometry | GeojsonGeometry)
Returns

number.

geometryToFeature(geometry, properties)

Parameters
  • geometry ( | GeojsonPoint | GeojsonLineString | GeojsonPolygon | GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon)
  • properties? (unknown)
Returns

{type: 'Feature'; properties: unknown; geometry: GeojsonGeometry}.

geometryToGeojsonGeometry(geometry)

Parameters
  • geometry ( | Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon)
Returns

| GeojsonPoint | GeojsonLineString | GeojsonPolygon | GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon.

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.

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]

hexToRgb(hex)

Convert hex to RGB

Parameters
  • hex (string)
    • hex string, e.g. ‘#0033ff’
Returns

RGB, e ([number, number, number]).g. [0, 51, 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.

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.

isValidHttpUrl(string)

Parameters
  • string (string)
Returns

boolean.

joinGeojsonGeometryArrayToGeojsonMultiGeometry(geojsonGeometryArray)

Parameters
  • geojsonGeometryArray (Array<GeojsonPoint | GeojsonLineString | GeojsonPolygon>)
Returns

GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon.

joinGeojsonLineStringArrayToGeojsonMultiLineString(geojsonLineStringArray)

Parameters
  • geojsonLineStringArray (Array<GeojsonLineString>)
Returns

{type: 'MultiLineString'; coordinates: Point[][]}.

joinGeojsonPointArrayToGeojsonMultiPoint(geojsonPointArray)

Parameters
  • geojsonPointArray (Array<GeojsonPoint>)
Returns

{type: 'MultiPoint'; coordinates: Point[]}.

joinGeojsonPolygonArrayToGeojsonMultiPolygon(geojsonPolygonArray)

Parameters
  • geojsonPolygonArray (Array<GeojsonPolygon>)
Returns

{type: 'MultiPolygon'; coordinates: Point[][][]}.

lineAngle(line)

Parameters
  • line ([Point, Point])
Returns

number.

lineStringToGeojsonLineString(lineString)

Parameters
  • lineString (Array<Point>)
Returns

{type: 'LineString'; coordinates: Point[]}.

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.

lonLatToWebMecator(__0)

Parameters
  • undefined ([number, number])
Returns

[number, number].

mapToResourceMaskSvgPolygon(map)

Parameters
  • map ({ type: "GeoreferencedMap"; gcps: { resource: [number, number]; geo: [number, number]; }[]; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: st...)
Returns

{type: 'polygon'; attributes?: SvgAttributes; coordinates: Point[]}.

maxOfNumberOrUndefined(number1, number2)

Parameters
  • number1 (number | undefined)
  • number2 (number | undefined)
Returns

number | undefined.

mergeOptions(options, partialOptions)

Parameters
  • options (Options)
  • partialOptions? (Partial<Options> | undefined)
Returns

Options.

mergePartialOptions(partialOptions0, partialOptions1)

Parameters
  • partialOptions0? (Partial<Options> | undefined)
  • partialOptions1? (Partial<Options> | undefined)
Returns

{[P in keyof Options]?: Options[P] | undefined}.

midPoint(points)

Parameters
  • points ([number, number])
Returns

[number, number].

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: Point[][]}.

multiPointToGeojsonMultiPoint(multiPoint)

Parameters
  • multiPoint (Array<Point>)
Returns

{type: 'MultiPoint'; coordinates: Point[]}.

multiPolygonToGeojsonMultiPolygon(multiPolygon, close)

Parameters
  • multiPolygon (Array<Array<Array<Point>>>)
  • close (boolean | undefined)
Returns

{type: 'MultiPolygon'; coordinates: Point[][][]}.

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: Point}.

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: Point[][]}.

prolongedLinesIntersectionPoint(line0, line1)

Parameters
  • line0 ([Point, Point])
  • line1 ([Point, Point])
Returns

Point | undefined.

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.

rgbToHex(__0)

Convert RBG to hex

Parameters
  • undefined ([number, number, number])
    • RGB color array, e.g. [0, 51, 255]
Returns

hex string, e (string).g. ‘#0033ff’

ringToGeojsonPolygon(ring, close)

Parameters
  • ring (Array<Point>)
  • close (boolean | undefined)
Returns

{type: 'Polygon'; coordinates: Point[][]}.

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].

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.

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>.

subSetArray(arr1, arr2)

Parameters
  • arr1 (Array<T>)
  • arr2 (Array<T>)
Returns

boolean.

svgGeometriesToSvgString(geometries)

Parameters
  • geometries (Array<SvgGeometry>)
Returns

string.

svgToGeojson(geometry)

Parameters
  • geometry (SvgCircle | SvgLine | SvgPolyLine | SvgPolygon | SvgRect)
Returns

| GeojsonPoint | GeojsonLineString | GeojsonPolygon | GeojsonMultiPoint | GeojsonMultiLineString | GeojsonMultiPolygon.

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>.

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>.

webMercatorToLonLat(__0)

Parameters
  • undefined ([number, number])
Returns

[number, number].