@allmaps/stdlib

中文文档
1.0.0-beta.42发布于 2026/09/22MITES Module近 30 天下载 1.2万

Allmaps Standard Library

原始使用文档
文档目录200 节
  1. License
  2. API
  3. new ResourceFetchError(kind, input, options)
  4. ResourceFetchError#cause?
  5. ResourceFetchError#corsLikely
  6. ResourceFetchError#input
  7. ResourceFetchError#kind
  8. ResourceFetchError#status?
  9. ResourceFetchError#statusText?
  10. ResourceFetchError#url
  11. ResourceFetchErrorKind
  12. angle(line)
  13. angularMean(angles)
  14. arrayContains(array, object, isEqualObject)
  15. arrayDifference(array0, array1, isEqualObject)
  16. arrayMatrixSize(arrayMatrix)
  17. arrayRepeated(array, isEqualObject)
  18. arrayUnique(array, isEqualObject)
  19. bboxToCenter(bbox)
  20. bboxToDiameter(bbox)
  21. bboxToLine(bbox)
  22. bboxToPolygon(bbox)
  23. bboxToRectangle(bbox)
  24. bboxToResolution(bbox)
  25. bboxToSize(bbox)
  26. bboxesToScale(bbox0, bbox1, fit)
  27. bufferBbox(bbox, dist0, dist1)
  28. bufferBboxByRatio(bbox, ratio)
  29. camelCaseToWords(string)
  30. clipPoint(point, min, max)
  31. clipPointLngLatProjection(point)
  32. clipPointWebMercatorProjection(point)
  33. clipValue(value, min, max)
  34. closeMultiPolygon(multiPolygon)
  35. closePolygon(polygon)
  36. closeRing(ring)
  37. combineBboxes(bboxes)
  38. computeBbox(geometry)
  39. computeMinMax(values)
  40. computeRotatedBboxProperties(geometry, angle)
  41. conformLineString(lineString)
  42. conformMultiLineString(multiLineString)
  43. conformMultiPolygon(multiPolygon)
  44. conformPolygon(polygon)
  45. conformRing(ring)
  46. contractGeojsonGeometriesToGeojsonMultiGeometry(geojsonGeom…
  47. contractGeojsonLineStringsToGeojsonMultiLineString(geojsonL…
  48. contractGeojsonPointsToGeojsonMultiPoint(geojsonPoints)
  49. contractGeojsonPolygonsToGeojsonMultiPolygon(geojsonPolygon…
  50. convexHull(points)
  51. degreesToRadians(degrees)
  52. distance(from, to)
  53. doBboxesIntersect(bbox0, bbox1)
  54. equalSet(set1, set2)
  55. expandGeojsonMultiGeometryToGeojsonGeometries(geojsonMultiG…
  56. expandGeojsonMultiLineStringToGeojsonLineStrings(geojsonMul…
  57. expandGeojsonMultiPointToGeojsonPoints(geojsonMultiPoint)
  58. expandGeojsonMultiPolygonToGeojsonPolygons(geojsonMultiPoly…
  59. fetchAnnotationsFromApi(restBaseUrl, parsedIiif, fetch)
  60. fetchImageBitmap(input, init, fetchFn)
  61. fetchImageInfo(imageUri, init, fetchFn)
  62. fetchJson(input, init, fetchFn)
  63. fetchUrl(input, init, fetchFn)
  64. flipX(point)
  65. flipY(point)
  66. geojsonFeatureCollectionToGeojsonGeometries(geojsonFeatureC…
  67. geojsonFeatureToGeojsonGeometry(geojsonFeature)
  68. geojsonFeaturesToGeojsonFeatureCollection(geojsonFeatures)
  69. geojsonGeometriesToGeojsonFeatureCollection(geojsonGeometri…
  70. geojsonGeometryToGeojsonFeature(geojsonGeometry, properties)
  71. geojsonGeometryToGeometry(geojsonPoint)
  72. geojsonGeometryToSvgGeometry(geojsonGeometry)
  73. geojsonLineStringToLineString(geojsonLineString)
  74. geojsonMultiLineStringToMultiLineString(geojsonMultiLineStr…
  75. geojsonMultiPointToMultiPoint(geojsonMultiPoint)
  76. geojsonMultiPolygonToMultiPolygon(geojsonMultiPolygon, clos…
  77. geojsonPointToPoint(geojsonPoint)
  78. geojsonPolygonToPolygon(geojsonPolygon, close)
  79. geojsonPolygonToRing(geojsonPolygon, close)
  80. geometryToDiameter(geometry)
  81. geometryToGeojsonGeometry(point, options)
  82. geometryToSvgGeometry(point)
  83. getFullResourceMask(imageWidth, imageHeight)
  84. getPropertyFromCacheOrComputation(cache, key, computation, …
  85. getPropertyFromDoubleCacheOrComputation(cache, key0, key1, …
  86. getPropertyFromQuadrupleCacheOrComputation(cache, key0, key…
  87. getPropertyFromQuintupleCacheOrComputation(cache, key0, key…
  88. getPropertyFromTripleCacheOrComputation(cache, key0, key1, …
  89. groupBy(arr, key)
  90. hexToFractionalOpaqueRgba(hex)
  91. hexToFractionalRgb(hex)
  92. hexToFractionalRgba(hex)
  93. hexToOpaqueRgba(hex)
  94. hexToRgb(hex)
  95. hexToRgba(hex)
  96. intersectBboxes(bbox0, bbox1)
  97. invertPoint(point)
  98. invertPoints(points)
  99. isClosed(input)
  100. isEqualArray(array0, array1, isEqualObject)
  101. isEqualPoint(point0, point1)
  102. isEqualPointArray(pointArray0, pointArray1)
  103. isEqualPointArrayArray(pointArrayArray0, pointArrayArray1)
  104. isGeojsonGeometry(obj)
  105. isGeojsonLineString(input)
  106. isGeojsonMultiGeometry(obj)
  107. isGeojsonMultiLineString(input)
  108. isGeojsonMultiPoint(input)
  109. isGeojsonMultiPolygon(input)
  110. isGeojsonPoint(input)
  111. isGeojsonPolygon(input)
  112. isGeometry(input)
  113. isLineString(input)
  114. isMultiLineString(input)
  115. isMultiPoint(input)
  116. isMultiPolygon(input)
  117. isPoint(input)
  118. isPolygon(input)
  119. isRing(input)
  120. isSvgCircle(input)
  121. isSvgLine(input)
  122. isSvgPolyLine(input)
  123. isSvgPolygon(input)
  124. isSvgRect(input)
  125. isValidHttpUrl(string)
  126. lineAngle(line)
  127. lineStringToGeojsonLineString(lineString)
  128. lineStringToLines(lineString)
  129. linesIntersectionPoint(line0, line1, options)
  130. mapToResourceMaskSvgPolygon(map)
  131. mergeGeojsonFeaturesCollections(geojsonFeatureCollections)
  132. mergeOptions(baseOptions, additionalPartialOptions)
  133. mergeOptionsUnlessUndefined(baseOptions, additionalOptions)
  134. mergePartialOptions(partialOptions)
  135. mergeTwoOptionsUnlessUndefined(baseOptions, additionalOptio…
  136. midPoint(points)
  137. mixLineStrings(lineString0, lineString1, t)
  138. mixNumbers(number0, number1, t)
  139. mixPoints(point0, point1, t)
  140. multiLineStringToGeojsonMultiLineString(multiLineString)
  141. multiPointToGeojsonMultiPoint(multiPoint)
  142. multiPolygonToGeojsonMultiPolygon(multiPolygon, close)
  143. multiplyArrayMatrix(arrayMatrix, factor)
  144. newArrayMatrix(rows, cols, value)
  145. newBlockArrayMatrix(blocks, emptyValue)
  146. objectDifference(newObject, baseObject, objectKeysPossiblyC…
  147. omit(object, keys)
  148. optionKeysByMapIdToUndefinedOptionsByMapId(optionKeysByMapI…
  149. optionKeysToUndefinedOptions(optionKeys)
  150. pasteArrayMatrix(arrayMatrix, rowsStart, colsStart, subArra…
  151. pasteArrayMatrixInPlace(arrayMatrix, rowsStart, colsStart, …
  152. pixelToIntArrayIndex(pixel, size, channels, flipY)
  153. pointInBbox(point, bbox)
  154. pointToGeojsonPoint(point)
  155. pointToPixel(point, translate)
  156. pointsAndPointsToLines(points0, points1)
  157. polygonIsBboxRectangle(polygon)
  158. polygonSelfIntersectionPoints(polygon, options)
  159. polygonToGeojsonPolygon(polygon, close)
  160. prolongedLinesIntersectionPoint(line0, line1)
  161. radiansToDegrees(radians)
  162. rectangleToSize(rectangle)
  163. rectanglesToScale(rectangle0, rectangle1, fit)
  164. removeUndefinedOptions(optionsArray)
  165. rgbToHex(rgb)
  166. rgbaToHex(rgba)
  167. ringIsBboxRectangle(ring)
  168. ringToGeojsonPolygon(ring, close)
  169. rms(from, to)
  170. rotateArray(array, offset)
  171. rotatePoint(point, angle, pivot, cosAngle, sinAngle)
  172. rotatePoints(points, angle, pivot)
  173. scaleBbox(bbox, scale)
  174. scalePoint(point, scale)
  175. scalePoints(points, scale)
  176. scaleSize(size, scale)
  177. shallowCopyArrayMatrix(arrayMatrix)
  178. sizeToBbox(size, center)
  179. sizeToCenter(size)
  180. sizeToRectangle(size, center)
  181. sizeToResolution(size)
  182. sizesToScale(size0, size1, fit)
  183. sliceArrayMatrix(arrayMatrix, rowsStart, colsStart, rowsEnd…
  184. squaredDistance(from, to)
  185. stepDistanceAngle(point, dist, angle)
  186. stringToSvgGeometriesGenerator(svg)
  187. subArrayMatrix(arrayMatrix, rows, cols)
  188. subSetArray(arr1, arr2)
  189. svgGeometriesToSvgString(geometries)
  190. svgGeometryToGeometry(svgCircle)
  191. svgGeometryToString(geometry)
  192. threePointsToAngle(pointA, pointB, pointC)
  193. translatePoint(point, translationPoint, addOrSubstract)
  194. translatePoints(points, point, addOrSubstract)
  195. transposeArrayMatrix(arrayMatrix)
  196. triangleAngles(triangle)
  197. triangleArea(triangle)
  198. uncloseMultiPolygon(multiPolygon)
  199. unclosePolygon(polygon)
  200. uncloseRing(ring)

@allmaps/stdlib

Allmaps Standard Library

License

MIT

API

new ResourceFetchError(kind, input, options)

Parameters
  • kind ('http' | 'network-or-cors')
  • input (URL | RequestInfo)
  • options (ResourceFetchErrorOptions | undefined)
Returns

ResourceFetchError.

Extends
  • Error

ResourceFetchError#cause?

Type
unknown

ResourceFetchError#corsLikely

Type
boolean

ResourceFetchError#input

Type
URL | RequestInfo

ResourceFetchError#kind

Type
'http' | 'network-or-cors'

ResourceFetchError#status?

Type
number

ResourceFetchError#statusText?

Type
string

ResourceFetchError#url

Type
string

ResourceFetchErrorKind

Type
'http' | 'network-or-cors'

angle(line)

Parameters
  • line ([Point, Point])
Returns

number.

angularMean(angles)

Parameters
  • angles (number)
Returns

number.

arrayContains(array, object, isEqualObject)

Parameters
  • array (Array<T>)
  • object (T)
  • isEqualObject (((t0: T, t1: T) => boolean) | undefined)
Returns

{item: T; index: number} | undefined.

arrayDifference(array0, array1, isEqualObject)

Parameters
  • array0 (Array<T>)
  • array1 (Array<T>)
  • isEqualObject (((t0: T, t1: T) => boolean) | undefined)
Returns

Array<T>.

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<{item: T; index: number}>.

arrayUnique(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, fit)

Parameters
  • bbox0 ([number, number, number, number])
  • bbox1 ([number, number, number, number])
  • fit? (Fit | undefined)
Returns

number.

bufferBbox(bbox, dist0, dist1)

Parameters
  • bbox ([number, number, number, number])
  • dist0 (number)
  • dist1? (number | undefined)
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.

clipPoint(point, min, max)

Parameters
  • point ([number, number])
  • min ([number, number])
  • max ([number, number])
Returns

[number, number].

clipPointLngLatProjection(point)

Parameters
  • point ([number, number])
Returns

[number, number].

clipPointWebMercatorProjection(point)

Parameters
  • point ([number, number])
Returns

[number, number].

clipValue(value, min, max)

Parameters
  • value (number)
  • min (number)
  • max (number)
Returns

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(geometry)

Parameters
  • geometry (GeojsonGeometry | Geometry)
Returns

[number, number, number, number].

computeMinMax(values)

Parameters
  • values (Array<number>)
Returns

[number, number].

computeRotatedBboxProperties(geometry, angle)

Parameters
  • geometry (GeojsonGeometry | Geometry)
  • angle (number)
Returns

{ center: Point size: Size bbox: Bbox rectangle: Rectangle rotatedRectangle: Rectangle }.

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<GeojsonLineString | GeojsonPoint | GeojsonPolygon>)
Returns

GeojsonMultiLineString | GeojsonMultiPoint | 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, to)

Parameters
  • from ([number, number])
  • to ([number, number])
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 (GeojsonMultiLineString | GeojsonMultiPoint | GeojsonMultiPolygon)
Returns

Array<GeojsonLineString> | Array<GeojsonPoint> | 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(restBaseUrl, parsedIiif, fetch)

Parameters
  • restBaseUrl (string)
  • parsedIiif (Collection | Image | Manifest)
  • fetch? ( | ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined)
Returns

Promise<any>.

fetchImageBitmap(input, init, fetchFn)

Parameters
  • input (URL | RequestInfo)
  • 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 (URL | RequestInfo)
  • init? (RequestInit | undefined)
  • fetchFn? (FetchFn | undefined)
Returns

Promise<unknown>.

fetchUrl(input, init, fetchFn)

Parameters
  • input (URL | RequestInfo)
  • 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

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

geojsonFeaturesToGeojsonFeatureCollection(geojsonFeatures)

Parameters
  • geojsonFeatures (Array<GeojsonFeature> | 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 ( | GeojsonLineString | GeojsonMultiLineString | GeojsonMultiPoint | GeojsonMultiPolygon | GeojsonPoint | GeojsonPolygon)
  • properties? (unknown)
Returns

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

geojsonGeometryToGeometry(geojsonPoint)

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

[number, number].

geojsonGeometryToSvgGeometry(geojsonGeometry)

Parameters
  • geojsonGeometry ( | GeojsonLineString | GeojsonMultiLineString | GeojsonMultiPoint | GeojsonMultiPolygon | GeojsonPoint | GeojsonPolygon)
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 (GeojsonGeometry | Geometry)
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}.

getFullResourceMask(imageWidth, imageHeight)

Parameters
  • imageWidth (number)
  • imageHeight (number)
Returns

Array<Point>.

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.

getPropertyFromQuintupleCacheOrComputation(cache, key0, key1, key2, key3, key4, computation, checkUse, checkStore)

Parameters
  • cache (Map<K0, Map<K1, Map<K2, Map<K3, Map<K4, T>>>>>)
  • key0 (K0)
  • key1 (K1)
  • key2 (K2)
  • key3 (K3)
  • key4 (K4)
  • 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 ({ '@context'?: "https://schemas.allmaps.org/map/2/context.json" | undefined; type: "GeoreferencedMap"; id?: string | undefined; created?: string | undefined; modified?: string | undefined; ... 5 more ...; _allmaps?: unknown; })
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}.

mergeTwoOptionsUnlessUndefined(baseOptions, additionalOption)

Parameters
  • baseOptions (T)
  • additionalOption (Partial<U> | undefined)
Returns

T & Partial<U>.

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, objectKeysPossiblyChanged)

Parameters
  • newObject (object)
  • baseObject (object)
  • objectKeysPossiblyChanged? (Array<string> | undefined)
Returns

object.

omit(object, keys)

Parameters
  • object (T)
  • keys (Array<K>)
Returns

{[P in Exclude<keyof T, K>]: T[P]}.

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

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

polygonIsBboxRectangle(polygon)

Parameters
  • polygon (Array<Array<Point>>)
Returns

boolean.

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, fit)

Parameters
  • rectangle0 ([Point, Point, Point, Point])
  • rectangle1 ([Point, Point, Point, Point])
  • fit? (Fit | undefined)
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(rgb)

Convert RBG to HEX

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

HEX string, e (string).g. '#0033ff'

rgbaToHex(rgba)

Convert RBGA to HEX

Parameters
  • rgba ([number, number, number, number])
Returns

HEX string, e (string).g. '#0033ffff'

ringIsBboxRectangle(ring)

Parameters
  • ring (Array<Point>)
Returns

boolean.

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.

rotateArray(array, offset)

Parameters
  • array (Array<T>)
  • offset (number)
Returns

Array<T>.

rotatePoint(point, angle, pivot, cosAngle, sinAngle)

Parameters
  • point ([number, number])
  • angle (number | undefined)
  • pivot (Point | undefined)
  • cosAngle? (number | undefined)
  • sinAngle? (number | undefined)
Returns

[number, number].

rotatePoints(points, angle, pivot)

Parameters
  • points (Array<Point>)
  • angle (number | undefined)
  • pivot (Point | undefined)
Returns

Array<Point>.

scaleBbox(bbox, scale)

Parameters
  • bbox ([number, number, number, number])
  • scale (number)
Returns

[number, number, number, number].

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, center)

Parameters
  • size ([number, number])
  • center? (Point | undefined)
Returns

[number, number, number, number].

sizeToCenter(size)

Parameters
  • size ([number, number])
Returns

[number, number].

sizeToRectangle(size, center)

Parameters
  • size ([number, number])
  • center? (Point | undefined)
Returns

[Point, Point, Point, Point].

sizeToResolution(size)

Parameters
  • size ([number, number])
Returns

number.

sizesToScale(size0, size1, fit)

Compute a scale from two sizes

For unspecified 'fit', the scale is computed based on the surface area derived from the sizes.

For specified 'fit':

Example for square rectangles bbox0 '*' and bbox1 '.':

'contain' where '*' contains '.' (in the first size0 is relatively wider)

           ****
           *  *

.... ....

  • . . * . . .... .... * * ****

'cover' where '*' is covered by '.' (in the first size0 is relatively wider)

           ....
           .  .

.... **** . * * . * * .... **** . . ....

'equal' where '*' is of equal area as '.' (in the first 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, to)

Parameters
  • from ([number, number])
  • to (Point | undefined)
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>.

版本与发布记录

@allmaps/stdlib 共发布 36 个版本,首次发布于 2023/02/16;过去 12 个月发布了 5 个版本。

版本发布日期距今
1.0.0-beta.42latest2026/09/221 个月前
1.0.0-beta.412026/05/295 个月前
1.0.0-beta.402026/02/108 个月前
1.0.0-beta.392025/11/2711 个月前
1.0.0-beta.382025/11/1111 个月前
1.0.0-beta.372025/07/201.3 年前

其他发布通道:beta → 1.0.0-beta.34。

关于 @allmaps/stdlib 的常见问题

@allmaps/stdlib 是什么?

Allmaps Standard Library

如何安装 @allmaps/stdlib?

在项目目录运行 npm install @allmaps/stdlib,或使用 pnpm add / yarn add / bun add。

@allmaps/stdlib 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/allmaps__stdlib 是否存在。

@allmaps/stdlib 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@allmaps/stdlib 可以商用吗?

@allmaps/stdlib 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@allmaps/stdlib 的下载量有多少?

根据 npm 官方下载统计,@allmaps/stdlib 在 2026/10/06 – 2026/11/04 这 30 天内被下载 11,705 次,日均约 390 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@allmaps/stdlib 还在维护吗?

最新版本 1.0.0-beta.42 发布于 2026/09/22(1 个月前);至今共发布 36 个版本,其中过去 12 个月发布了 5 个;首次发布于 2023/02/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。