@osmix/shared 0.0.12 → 0.0.13
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.
- package/CHANGELOG.md +6 -0
- package/dist/bbox-intersects.d.ts +1 -1
- package/dist/bbox-intersects.d.ts.map +1 -1
- package/dist/color.d.ts +1 -1
- package/dist/color.d.ts.map +1 -1
- package/dist/coordinates.d.ts +1 -1
- package/dist/coordinates.d.ts.map +1 -1
- package/dist/relation-kind.d.ts +1 -1
- package/dist/relation-kind.d.ts.map +1 -1
- package/dist/relation-multipolygon.d.ts +1 -1
- package/dist/relation-multipolygon.d.ts.map +1 -1
- package/dist/stream-to-bytes.js +1 -1
- package/dist/stream-to-bytes.js.map +1 -1
- package/dist/tile.d.ts +13 -1
- package/dist/tile.d.ts.map +1 -1
- package/dist/tile.js +15 -0
- package/dist/tile.js.map +1 -1
- package/dist/transform-bytes.js +2 -2
- package/dist/transform-bytes.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/way-is-area.d.ts +1 -1
- package/dist/way-is-area.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/bbox-intersects.ts +1 -1
- package/src/color.ts +1 -1
- package/src/coordinates.ts +1 -1
- package/src/relation-kind.ts +1 -1
- package/src/relation-multipolygon.ts +1 -1
- package/src/stream-to-bytes.ts +1 -1
- package/src/tile.ts +18 -1
- package/src/transform-bytes.ts +2 -2
- package/src/utils.ts +1 -1
- package/src/way-is-area.ts +1 -1
- package/tsconfig/base.json +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bbox-intersects.d.ts","sourceRoot":"","sources":["../src/bbox-intersects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"bbox-intersects.d.ts","sourceRoot":"","sources":["../src/bbox-intersects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,WActE"}
|
package/dist/color.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Rgba } from "./types";
|
|
1
|
+
import type { Rgba } from "./types.ts";
|
|
2
2
|
export declare function normalizeHexColor(value: string | number | null | undefined): string | undefined;
|
|
3
3
|
export declare function hexColorToRgba(value: string | number | null | undefined): Rgba | undefined;
|
|
4
4
|
//# sourceMappingURL=color.d.ts.map
|
package/dist/color.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAItC,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,MAAM,GAAG,SAAS,CAiBpB;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,IAAI,GAAG,SAAS,CASlB"}
|
package/dist/coordinates.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinates.d.ts","sourceRoot":"","sources":["../src/coordinates.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"coordinates.d.ts","sourceRoot":"","sources":["../src/coordinates.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,eAAe,WAAM,CAAA;AAElC;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,SAAS,GACb,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAOlE"}
|
package/dist/relation-kind.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
|
-
import type { LonLat, OsmRelation, OsmWay, RelationKind, RelationKindMetadata } from "./types";
|
|
10
|
+
import type { LonLat, OsmRelation, OsmWay, RelationKind, RelationKindMetadata } from "./types.ts";
|
|
11
11
|
/**
|
|
12
12
|
* Get the semantic kind of a relation based on its type tag.
|
|
13
13
|
* Based on [OSM relation documentation](https://wiki.openstreetmap.org/wiki/Relation):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-kind.d.ts","sourceRoot":"","sources":["../src/relation-kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACX,MAAM,EACN,WAAW,EAEX,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"relation-kind.d.ts","sourceRoot":"","sources":["../src/relation-kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACX,MAAM,EACN,WAAW,EAEX,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CA4CnE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,WAAW,GACnB,oBAAoB,CAyCtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACxC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxD,MAAM,EAAE,EAAE,CAmCZ;AAqJD;;;GAGG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,WAAW,EACrB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxD,MAAM,EAAE,CAWV;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,EACvD,QAAQ,SAAK,EACb,OAAO,cAAoB,GACzB;IACF,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,EAAE,CAAA;CACnB,CA4DA"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module
|
|
11
11
|
*/
|
|
12
|
-
import type { LonLat, OsmRelation, OsmRelationMember, OsmWay } from "./types";
|
|
12
|
+
import type { LonLat, OsmRelation, OsmRelationMember, OsmWay } from "./types.ts";
|
|
13
13
|
/**
|
|
14
14
|
* Get way members from a relation, grouped by role (outer/inner).
|
|
15
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-multipolygon.d.ts","sourceRoot":"","sources":["../src/relation-multipolygon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"relation-multipolygon.d.ts","sourceRoot":"","sources":["../src/relation-multipolygon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEhF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG;IAC3D,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAC1B,CAeA;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAwGnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACxC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxD,MAAM,EAAE,EAAE,EAAE,CAwDd"}
|
package/dist/stream-to-bytes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-to-bytes.js","sourceRoot":"","sources":["../src/stream-to-bytes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"stream-to-bytes.js","sourceRoot":"","sources":["../src/stream-to-bytes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAA+C;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,MAAM,GAA8B,EAAE,CAAA;IAE5C,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAE3C,IAAI,IAAI,EAAE,CAAC;YACV,MAAK;QACN,CAAC;QAED,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC"}
|
package/dist/tile.d.ts
CHANGED
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
|
-
import
|
|
10
|
+
import { pointToTileFraction } from "@mapbox/tilebelt";
|
|
11
|
+
import type { GeoBbox2D, LonLat, Tile, TilePxBbox, XY } from "./types.ts";
|
|
12
|
+
export { pointToTileFraction };
|
|
11
13
|
/**
|
|
12
14
|
* Get the geographic bounding box of a tile.
|
|
13
15
|
* Returns [west, south, east, north].
|
|
@@ -22,6 +24,16 @@ export declare function bboxToTilePx(bbox: GeoBbox2D, tile: Tile, tileSize?: num
|
|
|
22
24
|
* Returns [x, y] in pixels relative to the top-left of the tile.
|
|
23
25
|
*/
|
|
24
26
|
export declare function llToTilePx(ll: LonLat, tile: Tile, tileSize?: number): XY;
|
|
27
|
+
/**
|
|
28
|
+
* Convert lon/lat bounds to Web Mercator tile range for a zoom.
|
|
29
|
+
*/
|
|
30
|
+
export declare function bboxToTileRange(bbox: GeoBbox2D, zoom: number): {
|
|
31
|
+
minX: number;
|
|
32
|
+
minY: number;
|
|
33
|
+
maxX: number;
|
|
34
|
+
maxY: number;
|
|
35
|
+
count: number;
|
|
36
|
+
};
|
|
25
37
|
/**
|
|
26
38
|
* Convert tile pixel coordinates to geographic coordinates.
|
|
27
39
|
*/
|
package/dist/tile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAIzE,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAW9B;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAOhD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,IAAI,EACV,QAAQ,SAAM,GACZ,UAAU,CAIZ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,SAAM,GAAG,EAAE,CAMrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM;;;;;;EAU5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,SAAM,GAAG,MAAM,CAKzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,MAAM,GAAG,SAAS,GAChC,EAAE,CASJ"}
|
package/dist/tile.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { pointToTileFraction } from "@mapbox/tilebelt";
|
|
11
11
|
const RADIANS_TO_DEGREES = 180 / Math.PI;
|
|
12
|
+
export { pointToTileFraction };
|
|
12
13
|
function tile2lon(x, z) {
|
|
13
14
|
return (x / 2 ** z) * 360 - 180;
|
|
14
15
|
}
|
|
@@ -47,6 +48,20 @@ export function llToTilePx(ll, tile, tileSize = 256) {
|
|
|
47
48
|
const y = (tf[1] - ty) * tileSize;
|
|
48
49
|
return [x, y];
|
|
49
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Convert lon/lat bounds to Web Mercator tile range for a zoom.
|
|
53
|
+
*/
|
|
54
|
+
export function bboxToTileRange(bbox, zoom) {
|
|
55
|
+
const [west, south, east, north] = bbox;
|
|
56
|
+
const [xA, yA] = pointToTileFraction(west, north, zoom);
|
|
57
|
+
const [xB, yB] = pointToTileFraction(east, south, zoom);
|
|
58
|
+
const minX = Math.min(xA, xB);
|
|
59
|
+
const maxX = Math.max(xA, xB);
|
|
60
|
+
const minY = Math.min(yA, yB);
|
|
61
|
+
const maxY = Math.max(yA, yB);
|
|
62
|
+
const count = (maxX - minX + 1) * (maxY - minY + 1);
|
|
63
|
+
return { minX, minY, maxX, maxY, count };
|
|
64
|
+
}
|
|
50
65
|
/**
|
|
51
66
|
* Convert tile pixel coordinates to geographic coordinates.
|
|
52
67
|
*/
|
package/dist/tile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile.js","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tile.js","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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"}
|
package/dist/transform-bytes.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import { bytesToStream } from "./bytes-to-stream";
|
|
9
|
-
import { streamToBytes } from "./stream-to-bytes";
|
|
8
|
+
import { bytesToStream } from "./bytes-to-stream.js";
|
|
9
|
+
import { streamToBytes } from "./stream-to-bytes.js";
|
|
10
10
|
/**
|
|
11
11
|
* Pipe a byte array through a TransformStream and return the result.
|
|
12
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-bytes.js","sourceRoot":"","sources":["../src/transform-bytes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transform-bytes.js","sourceRoot":"","sources":["../src/transform-bytes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,KAA8B,EAC9B,eAGC;IAED,OAAO,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAA;AACxE,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import type { GeoBbox2D, LonLat, OsmEntity, OsmEntityType, OsmNode, OsmRelation, OsmWay } from "./types";
|
|
9
|
+
import type { GeoBbox2D, LonLat, OsmEntity, OsmEntityType, OsmNode, OsmRelation, OsmWay } from "./types.ts";
|
|
10
10
|
/** Type guard: check if entity is a Node. */
|
|
11
11
|
export declare function isNode(entity: OsmEntity): entity is OsmNode;
|
|
12
12
|
/** Check if two nodes are equal (position, tags, and info). */
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACX,SAAS,EACT,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACX,SAAS,EACT,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,YAAY,CAAA;AASnB,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,IAAI,OAAO,CAE3D;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,WAEjD;AAED,4CAA4C;AAC5C,wBAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,IAAI,MAAM,CAEzD;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,IAAI,WAAW,CAEnE;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,WAE9C;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,WAE7D;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,WAO/D;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,CAK9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAErE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAY5D"}
|
package/dist/way-is-area.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"way-is-area.d.ts","sourceRoot":"","sources":["../src/way-is-area.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"way-is-area.d.ts","sourceRoot":"","sources":["../src/way-is-area.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAqDxC;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CA+B/C"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osmix/shared",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.13",
|
|
5
5
|
"description": "Shared utilities for Osmix",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -32,4 +32,4 @@
|
|
|
32
32
|
"dequal": "^2.0.3",
|
|
33
33
|
"lineclip": "^2.0.0"
|
|
34
34
|
}
|
|
35
|
-
}
|
|
35
|
+
}
|
package/src/bbox-intersects.ts
CHANGED
package/src/color.ts
CHANGED
package/src/coordinates.ts
CHANGED
package/src/relation-kind.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @module
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type { LonLat, OsmRelation, OsmRelationMember, OsmWay } from "./types"
|
|
13
|
+
import type { LonLat, OsmRelation, OsmRelationMember, OsmWay } from "./types.ts"
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Get way members from a relation, grouped by role (outer/inner).
|
package/src/stream-to-bytes.ts
CHANGED
package/src/tile.ts
CHANGED
|
@@ -9,10 +9,12 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { pointToTileFraction } from "@mapbox/tilebelt"
|
|
12
|
-
import type { GeoBbox2D, LonLat, Tile, TilePxBbox, XY } from "./types"
|
|
12
|
+
import type { GeoBbox2D, LonLat, Tile, TilePxBbox, XY } from "./types.ts"
|
|
13
13
|
|
|
14
14
|
const RADIANS_TO_DEGREES = 180 / Math.PI
|
|
15
15
|
|
|
16
|
+
export { pointToTileFraction }
|
|
17
|
+
|
|
16
18
|
function tile2lon(x: number, z: number): number {
|
|
17
19
|
return (x / 2 ** z) * 360 - 180
|
|
18
20
|
}
|
|
@@ -60,6 +62,21 @@ export function llToTilePx(ll: LonLat, tile: Tile, tileSize = 256): XY {
|
|
|
60
62
|
return [x, y]
|
|
61
63
|
}
|
|
62
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Convert lon/lat bounds to Web Mercator tile range for a zoom.
|
|
67
|
+
*/
|
|
68
|
+
export function bboxToTileRange(bbox: GeoBbox2D, zoom: number) {
|
|
69
|
+
const [west, south, east, north] = bbox
|
|
70
|
+
const [xA, yA] = pointToTileFraction(west, north, zoom)
|
|
71
|
+
const [xB, yB] = pointToTileFraction(east, south, zoom)
|
|
72
|
+
const minX = Math.min(xA, xB)
|
|
73
|
+
const maxX = Math.max(xA, xB)
|
|
74
|
+
const minY = Math.min(yA, yB)
|
|
75
|
+
const maxY = Math.max(yA, yB)
|
|
76
|
+
const count = (maxX - minX + 1) * (maxY - minY + 1)
|
|
77
|
+
return { minX, minY, maxX, maxY, count }
|
|
78
|
+
}
|
|
79
|
+
|
|
63
80
|
/**
|
|
64
81
|
* Convert tile pixel coordinates to geographic coordinates.
|
|
65
82
|
*/
|
package/src/transform-bytes.ts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { bytesToStream } from "./bytes-to-stream"
|
|
10
|
-
import { streamToBytes } from "./stream-to-bytes"
|
|
9
|
+
import { bytesToStream } from "./bytes-to-stream.ts"
|
|
10
|
+
import { streamToBytes } from "./stream-to-bytes.ts"
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Pipe a byte array through a TransformStream and return the result.
|
package/src/utils.ts
CHANGED
package/src/way-is-area.ts
CHANGED
package/tsconfig/base.json
CHANGED