@osmix/geojson 0.0.15 → 0.0.16

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 CHANGED
@@ -1,5 +1,29 @@
1
1
  # @osmix/geojson
2
2
 
3
+ ## 0.0.16
4
+
5
+ ### Patch Changes
6
+
7
+ - 368d103: Split shared concerns into `@osmix/types`, `@osmix/geo`, and `@osmix/test-utils`. Add `OsmReader`/`OsmWriter` contracts, curated `osmix` facade exports, and dependency guardrails.
8
+ - c7a5a35: Harden parsing, loading, changeset generation, worker orchestration, and package verification across Osmix.
9
+
10
+ - `@osmix/pbf`, `@osmix/json`, and `@osmix/load` now validate PBF framing and decompression limits, normalize every supported input form, apply timestamp granularity consistently, translate tags before filtering, remove dangling filtered references, and build every requested spatial index.
11
+ - `@osmix/core` now returns `null` for unknown node-coordinate lookups, safely handles incomplete geometry, caches relation-to-way membership, and avoids repeated ID lookups and per-entity object allocation during sorted iteration.
12
+ - `@osmix/change` now preserves relation references during deduplication, escapes OSC XML attributes, applies changesets non-destructively, allocates collision-free IDs for empty or unsorted data, and resolves pending intersection geometry safely. Its intersection runtime is now vendored and strictly typed, removing the upstream test/build dependency graph.
13
+ - `osmix` now preserves sliced typed-array views during transfer, disposes and terminates owned workers reliably, uses collision-safe worker registries, and supports all documented PBF input forms across local and remote APIs.
14
+ - `@osmix/geojson`, `@osmix/vt`, and `@osmix/shortbread` now consume nullable or read-only geometry data without aliasing or mutation hazards.
15
+ - `@osmix/gtfs` and `@osmix/router` documentation now uses the current archive, routing, transfer, and distance APIs.
16
+ - `@osmix/shared` and `@osmix/test-utils` add executable package smoke coverage for byte streams and checked-in fixtures.
17
+ - Public package examples are classified as compilable or schematic and are checked against current exports and argument types.
18
+
19
+ - Updated dependencies [368d103]
20
+ - Updated dependencies [368d103]
21
+ - Updated dependencies [c7a5a35]
22
+ - @osmix/core@0.2.0
23
+ - @osmix/shared@0.1.0
24
+ - @osmix/geo@0.1.0
25
+ - @osmix/types@0.1.0
26
+
3
27
  ## 0.0.15
4
28
 
5
29
  ### Patch Changes
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Conveyal
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -12,7 +12,7 @@ Bidirectional conversion between OSM entities and GeoJSON. Export `Osm` entities
12
12
  ## Installation
13
13
 
14
14
  ```sh
15
- bun add @osmix/geojson
15
+ pnpm add @osmix/geojson
16
16
  ```
17
17
 
18
18
  ## Usage
@@ -20,49 +20,48 @@ bun add @osmix/geojson
20
20
  ### Export entities to GeoJSON
21
21
 
22
22
  ```ts
23
- import { nodeToFeature, wayToFeature, relationToFeature } from "@osmix/geojson"
23
+ import { nodeToFeature, wayToFeature, relationToFeature } from "@osmix/geojson";
24
24
 
25
25
  // Convert individual entities
26
- const nodeFeature = nodeToFeature(osm.nodes.get({ id: 1 })!)
27
- const wayFeature = wayToFeature(
28
- osm.ways.get({ id: 10 })!,
29
- (ref) => osm.nodes.getNodeLonLat({ id: ref })
30
- )
26
+ const nodeFeature = nodeToFeature(osm.nodes.get({ id: 1 })!);
27
+ const wayFeature = wayToFeature(osm.ways.get({ id: 10 })!, (ref) =>
28
+ osm.nodes.getNodeLonLat({ id: ref }),
29
+ );
31
30
  const relationFeature = relationToFeature(
32
- osm.relations.get({ id: 50 })!,
33
- (ref) => osm.nodes.getNodeLonLat({ id: ref }),
34
- (wayId) => osm.ways.getById(wayId)
35
- )
31
+ osm.relations.get({ id: 50 })!,
32
+ (ref) => osm.nodes.getNodeLonLat({ id: ref }),
33
+ (wayId) => osm.ways.getById(wayId),
34
+ );
36
35
  ```
37
36
 
38
37
  ### Export using the helper function
39
38
 
40
39
  ```ts
41
- import { osmEntityToGeoJSONFeature } from "@osmix/geojson"
40
+ import { osmEntityToGeoJSONFeature } from "@osmix/geojson";
42
41
 
43
42
  // Convert any entity type with automatic coordinate resolution
44
- const features = []
43
+ const features = [];
45
44
  for (const way of osm.ways) {
46
- features.push(osmEntityToGeoJSONFeature(osm, way))
45
+ features.push(osmEntityToGeoJSONFeature(osm, way));
47
46
  }
48
47
 
49
48
  const featureCollection = {
50
- type: "FeatureCollection",
51
- features,
52
- }
49
+ type: "FeatureCollection",
50
+ features,
51
+ };
53
52
  ```
54
53
 
55
54
  ### Import GeoJSON to Osm
56
55
 
57
56
  ```ts
58
- import { fromGeoJSON } from "@osmix/geojson"
57
+ import { fromGeoJSON } from "@osmix/geojson";
59
58
 
60
- const geojsonFile = await Bun.file('./roads.geojson').json()
61
- const osm = await fromGeoJSON(geojsonFile, { id: "roads" })
59
+ const geojsonFile = await Bun.file("./roads.geojson").json();
60
+ const osm = await fromGeoJSON(geojsonFile, { id: "roads" });
62
61
 
63
62
  // Query imported data
64
- const highways = osm.ways.search("highway")
65
- console.log(`Imported ${osm.ways.size} ways`)
63
+ const highways = osm.ways.search("highway");
64
+ console.log(`Imported ${osm.ways.size} ways`);
66
65
  ```
67
66
 
68
67
  `fromGeoJSON` handles `Point`, `LineString`, `Polygon`, and `MultiPolygon` geometries. Polygons with holes automatically create multipolygon relations with separate ways for outer and inner rings.
@@ -71,40 +70,40 @@ console.log(`Imported ${osm.ways.size} ways`)
71
70
 
72
71
  ### Export (OSM → GeoJSON)
73
72
 
74
- | Export | Description |
75
- |--------|-------------|
76
- | `nodeToFeature(node)` | Node → Point Feature |
77
- | `wayToFeature(way, refToPosition)` | Way → LineString or Polygon Feature |
78
- | `relationToFeature(relation, refToPosition, getWay?)` | Relation → Multi* or GeometryCollection |
79
- | `osmEntityToGeoJSONFeature(osm, entity)` | Any entity → Feature with auto coordinate resolution |
73
+ | Export | Description |
74
+ | ----------------------------------------------------- | ---------------------------------------------------- |
75
+ | `nodeToFeature(node)` | Node → Point Feature |
76
+ | `wayToFeature(way, refToPosition)` | Way → LineString or Polygon Feature |
77
+ | `relationToFeature(relation, refToPosition, getWay?)` | Relation → Multi\* or GeometryCollection |
78
+ | `osmEntityToGeoJSONFeature(osm, entity)` | Any entity → Feature with auto coordinate resolution |
80
79
 
81
80
  ### Import (GeoJSON → OSM)
82
81
 
83
- | Export | Description |
84
- |--------|-------------|
85
- | `fromGeoJSON(data, options?, onProgress?)` | Create Osm index from GeoJSON |
86
- | `startCreateOsmFromGeoJSON(osm, geojson)` | Generator for custom progress handling |
82
+ | Export | Description |
83
+ | ------------------------------------------ | -------------------------------------- |
84
+ | `fromGeoJSON(data, options?, onProgress?)` | Create Osm index from GeoJSON |
85
+ | `startCreateOsmFromGeoJSON(osm, geojson)` | Generator for custom progress handling |
87
86
 
88
87
  ### Types
89
88
 
90
- | Export | Description |
91
- |--------|-------------|
92
- | `OsmGeoJSONFeature<T>` | GeoJSON Feature with OSM properties |
93
- | `OsmGeoJSONProperties` | Properties type (id, type, tags, info) |
94
- | `ImportableGeoJSON` | FeatureCollection types supported for import |
95
- | `ReadOsmDataTypes` | Input types for `fromGeoJSON` |
89
+ | Export | Description |
90
+ | ---------------------- | -------------------------------------------- |
91
+ | `OsmGeoJSONFeature<T>` | GeoJSON Feature with OSM properties |
92
+ | `OsmGeoJSONProperties` | Properties type (id, type, tags, info) |
93
+ | `ImportableGeoJSON` | FeatureCollection types supported for import |
94
+ | `ReadOsmDataTypes` | Input types for `fromGeoJSON` |
96
95
 
97
96
  ## Geometry Mapping
98
97
 
99
- | OSM Entity | GeoJSON Geometry |
100
- |------------|------------------|
101
- | Node | Point |
102
- | Way (linear) | LineString |
103
- | Way (area) | Polygon |
104
- | Relation (multipolygon) | MultiPolygon or Polygon |
105
- | Relation (route) | MultiLineString or LineString |
106
- | Relation (site) | MultiPoint or Point |
107
- | Relation (other) | GeometryCollection |
98
+ | OSM Entity | GeoJSON Geometry |
99
+ | ----------------------- | ----------------------------- |
100
+ | Node | Point |
101
+ | Way (linear) | LineString |
102
+ | Way (area) | Polygon |
103
+ | Relation (multipolygon) | MultiPolygon or Polygon |
104
+ | Relation (route) | MultiLineString or LineString |
105
+ | Relation (site) | MultiPoint or Point |
106
+ | Relation (other) | GeometryCollection |
108
107
 
109
108
  ## Related Packages
110
109
 
@@ -121,9 +120,9 @@ console.log(`Imported ${osm.ways.size} ways`)
121
120
  ## Development
122
121
 
123
122
  ```sh
124
- bun run test packages/geojson
125
- bun run lint packages/geojson
126
- bun run typecheck packages/geojson
123
+ pnpm run test packages/geojson
124
+ pnpm run lint packages/geojson
125
+ pnpm run typecheck packages/geojson
127
126
  ```
128
127
 
129
- Run `bun run check` at the repo root before publishing.
128
+ Run `pnpm run check` at the repo root before publishing.
@@ -6,8 +6,8 @@
6
6
  *
7
7
  * @module
8
8
  */
9
- import type { Osm } from "@osmix/core";
10
- import type { OsmEntity, OsmNode, OsmRelation, OsmWay } from "@osmix/shared/types";
9
+ import type { OsmReader } from "@osmix/core/contracts";
10
+ import type { OsmEntity, OsmNode, OsmRelation, OsmWay } from "@osmix/types";
11
11
  import type { GeometryCollection, LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon } from "geojson";
12
12
  import type { OsmGeoJSONFeature } from "./types.ts";
13
13
  /**
@@ -30,7 +30,7 @@ export declare function nodeToFeature(node: OsmNode): OsmGeoJSONFeature<Point>;
30
30
  * area-indicating tags (building, landuse, etc.) and ring closure.
31
31
  *
32
32
  * @param way - OSM way with id, refs, and optional tags.
33
- * @param refToPosition - Function to resolve node ID to [lon, lat] coordinates.
33
+ * @param refToPosition - Function to resolve node ID to coordinates, or null for a missing node.
34
34
  * @returns GeoJSON LineString or Polygon Feature with OSM properties.
35
35
  *
36
36
  * @example
@@ -38,7 +38,7 @@ export declare function nodeToFeature(node: OsmNode): OsmGeoJSONFeature<Point>;
38
38
  * const feature = wayToFeature(way, (ref) => osm.nodes.getNodeLonLat({ id: ref }))
39
39
  * ```
40
40
  */
41
- export declare function wayToFeature(way: OsmWay, refToPosition: (id: number) => [number, number]): OsmGeoJSONFeature<LineString | Polygon>;
41
+ export declare function wayToFeature(way: OsmWay, refToPosition: (id: number) => [number, number] | null | undefined): OsmGeoJSONFeature<LineString | Polygon>;
42
42
  /**
43
43
  * Convert an OSM relation to a GeoJSON feature.
44
44
  *
@@ -49,7 +49,7 @@ export declare function wayToFeature(way: OsmWay, refToPosition: (id: number) =>
49
49
  * - **Other**: GeometryCollection (empty for logical relations)
50
50
  *
51
51
  * @param relation - OSM relation with id, members, and optional tags.
52
- * @param refToPosition - Function to resolve node ID to [lon, lat] coordinates.
52
+ * @param refToPosition - Function to resolve node ID to coordinates, or null for a missing node.
53
53
  * @param getWay - Optional function to resolve way ID to OsmWay (required for polygons/lines).
54
54
  * @returns GeoJSON Feature with appropriate geometry type.
55
55
  *
@@ -62,7 +62,7 @@ export declare function wayToFeature(way: OsmWay, refToPosition: (id: number) =>
62
62
  * )
63
63
  * ```
64
64
  */
65
- export declare function relationToFeature(relation: OsmRelation, refToPosition: (id: number) => [number, number], getWay?: (wayId: number) => OsmWay | null): OsmGeoJSONFeature<Polygon | MultiPolygon | LineString | MultiLineString | Point | MultiPoint | GeometryCollection>;
65
+ export declare function relationToFeature(relation: OsmRelation, refToPosition: (id: number) => [number, number] | null | undefined, getWay?: (wayId: number) => OsmWay | null): OsmGeoJSONFeature<Polygon | MultiPolygon | LineString | MultiLineString | Point | MultiPoint | GeometryCollection>;
66
66
  /**
67
67
  * Convert any OSM entity to a GeoJSON feature using an Osm index.
68
68
  *
@@ -82,5 +82,5 @@ export declare function relationToFeature(relation: OsmRelation, refToPosition:
82
82
  * }
83
83
  * ```
84
84
  */
85
- export declare function osmEntityToGeoJSONFeature(osm: Osm, entity: OsmEntity): OsmGeoJSONFeature<GeoJSON.Point | GeoJSON.LineString | GeoJSON.Polygon | GeoJSON.MultiPolygon | GeoJSON.MultiLineString | GeoJSON.MultiPoint | GeoJSON.GeometryCollection>;
85
+ export declare function osmEntityToGeoJSONFeature(osm: OsmReader, entity: OsmEntity): OsmGeoJSONFeature<GeoJSON.Point | GeoJSON.LineString | GeoJSON.Polygon | GeoJSON.MultiPolygon | GeoJSON.MultiLineString | GeoJSON.MultiPoint | GeoJSON.GeometryCollection>;
86
86
  //# sourceMappingURL=entity-to-feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-to-feature.d.ts","sourceRoot":"","sources":["../src/entity-to-feature.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAWtC,OAAO,KAAK,EAEX,SAAS,EACT,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EACX,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,KAAK,EACL,OAAO,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAerE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7C,iBAAiB,CAAC,UAAU,GAAG,OAAO,CAAC,CAoBzC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACvC,iBAAiB,CACjB,OAAO,GACP,YAAY,GACZ,UAAU,GACV,eAAe,GACf,KAAK,GACL,UAAU,GACV,kBAAkB,CACpB,CA2OA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACxC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,SAAS,GACf,iBAAiB,CACjB,OAAO,CAAC,KAAK,GACb,OAAO,CAAC,UAAU,GAClB,OAAO,CAAC,OAAO,GACf,OAAO,CAAC,YAAY,GACpB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,UAAU,GAClB,OAAO,CAAC,kBAAkB,CAC5B,CAeA"}
1
+ {"version":3,"file":"entity-to-feature.d.ts","sourceRoot":"","sources":["../src/entity-to-feature.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAU,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQpF,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,KAAK,EACL,OAAO,EACR,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAerE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GACjE,iBAAiB,CAAC,UAAU,GAAG,OAAO,CAAC,CA0BzC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EAClE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACxC,iBAAiB,CAClB,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,eAAe,GAAG,KAAK,GAAG,UAAU,GAAG,kBAAkB,CAChG,CA0OA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,SAAS,GAChB,iBAAiB,CAChB,OAAO,CAAC,KAAK,GACb,OAAO,CAAC,UAAU,GAClB,OAAO,CAAC,OAAO,GACf,OAAO,CAAC,YAAY,GACpB,OAAO,CAAC,eAAe,GACvB,OAAO,CAAC,UAAU,GAClB,OAAO,CAAC,kBAAkB,CAC7B,CAmBA"}
@@ -6,10 +6,10 @@
6
6
  *
7
7
  * @module
8
8
  */
9
- import { buildRelationLineStrings, collectRelationPoints, getRelationKind, isAreaRelation, } from "@osmix/shared/relation-kind";
10
- import { buildRelationRings, getWayMembersByRole, } from "@osmix/shared/relation-multipolygon";
11
- import { isNode, isRelation, isWay } from "@osmix/shared/utils";
12
- import { wayIsArea } from "@osmix/shared/way-is-area";
9
+ import { buildRelationRings, getWayMembersByRole } from "@osmix/geo/relation-multipolygon";
10
+ import { wayIsArea } from "@osmix/geo/way-is-area";
11
+ import { buildRelationLineStrings, collectRelationPoints, getRelationKind, isAreaRelation, } from "@osmix/types/relation-kind";
12
+ import { isNode, isRelation, isWay } from "@osmix/types/utils";
13
13
  /**
14
14
  * Convert an OSM node to a GeoJSON Point feature.
15
15
  *
@@ -45,7 +45,7 @@ export function nodeToFeature(node) {
45
45
  * area-indicating tags (building, landuse, etc.) and ring closure.
46
46
  *
47
47
  * @param way - OSM way with id, refs, and optional tags.
48
- * @param refToPosition - Function to resolve node ID to [lon, lat] coordinates.
48
+ * @param refToPosition - Function to resolve node ID to coordinates, or null for a missing node.
49
49
  * @returns GeoJSON LineString or Polygon Feature with OSM properties.
50
50
  *
51
51
  * @example
@@ -54,17 +54,24 @@ export function nodeToFeature(node) {
54
54
  * ```
55
55
  */
56
56
  export function wayToFeature(way, refToPosition) {
57
+ const resolvedCoordinates = [];
58
+ for (const ref of way.refs) {
59
+ const position = refToPosition(ref);
60
+ if (!position)
61
+ throw Error(`Node reference missing for way ${way.id}`);
62
+ resolvedCoordinates.push(position);
63
+ }
57
64
  return {
58
65
  type: "Feature",
59
66
  id: way.id,
60
67
  geometry: wayIsArea(way)
61
68
  ? {
62
69
  type: "Polygon",
63
- coordinates: [way.refs.map((r) => refToPosition(r))],
70
+ coordinates: [resolvedCoordinates],
64
71
  }
65
72
  : {
66
73
  type: "LineString",
67
- coordinates: way.refs.map((r) => refToPosition(r)),
74
+ coordinates: resolvedCoordinates,
68
75
  },
69
76
  properties: {
70
77
  id: way.id,
@@ -84,7 +91,7 @@ export function wayToFeature(way, refToPosition) {
84
91
  * - **Other**: GeometryCollection (empty for logical relations)
85
92
  *
86
93
  * @param relation - OSM relation with id, members, and optional tags.
87
- * @param refToPosition - Function to resolve node ID to [lon, lat] coordinates.
94
+ * @param refToPosition - Function to resolve node ID to coordinates, or null for a missing node.
88
95
  * @param getWay - Optional function to resolve way ID to OsmWay (required for polygons/lines).
89
96
  * @returns GeoJSON Feature with appropriate geometry type.
90
97
  *
@@ -278,7 +285,11 @@ export function relationToFeature(relation, refToPosition, getWay) {
278
285
  const { outer } = getWayMembersByRole(relation);
279
286
  const coordinates = [];
280
287
  if (outer.length > 0) {
281
- coordinates.push([outer.map((member) => refToPosition(member.ref))]);
288
+ const outerCoordinates = outer
289
+ .map((member) => refToPosition(member.ref))
290
+ .filter((position) => position != null);
291
+ if (outerCoordinates.length > 0)
292
+ coordinates.push([outerCoordinates]);
282
293
  }
283
294
  return {
284
295
  type: "Feature",
@@ -335,10 +346,15 @@ export function osmEntityToGeoJSONFeature(osm, entity) {
335
346
  return nodeToFeature(entity);
336
347
  }
337
348
  if (isWay(entity)) {
338
- return wayToFeature(entity, (ref) => osm.nodes.getNodeLonLat({ id: ref }));
349
+ return wayToFeature(entity, (ref) => {
350
+ const coordinate = osm.nodes.getNodeLonLat({ id: ref });
351
+ if (!coordinate)
352
+ throw Error(`Node ${ref} not found for way geometry`);
353
+ return coordinate;
354
+ });
339
355
  }
340
356
  if (isRelation(entity)) {
341
- return relationToFeature(entity, (ref) => osm.nodes.getNodeLonLat({ id: ref }), (ref) => osm.ways.getById(ref));
357
+ return relationToFeature(entity, (ref) => osm.nodes.getNodeLonLat({ id: ref }) ?? undefined, (ref) => osm.ways.getById(ref));
342
358
  }
343
359
  throw new Error("Unknown entity type");
344
360
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entity-to-feature.js","sourceRoot":"","sources":["../src/entity-to-feature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-to-feature.js","sourceRoot":"","sources":["../src/entity-to-feature.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module
8
8
  */
9
- import { Osm, type OsmOptions } from "@osmix/core";
9
+ import { Osm, type OsmOptions, type OsmWriter } from "@osmix/core";
10
10
  import { type ProgressEvent } from "@osmix/shared/progress";
11
11
  import type { FeatureCollection, LineString, MultiPolygon, Point, Polygon } from "geojson";
12
12
  import type { ReadOsmDataTypes } from "./types.ts";
@@ -61,5 +61,5 @@ export declare function fromGeoJSON(data: ReadOsmDataTypes, options?: Partial<Os
61
61
  * @param geojson - Parsed GeoJSON FeatureCollection.
62
62
  * @yields Progress events during conversion.
63
63
  */
64
- export declare function startCreateOsmFromGeoJSON(osm: Osm, geojson: FeatureCollection<Point | LineString | Polygon | MultiPolygon>): Generator<ProgressEvent>;
64
+ export declare function startCreateOsmFromGeoJSON(osm: OsmWriter, geojson: FeatureCollection<Point | LineString | Polygon | MultiPolygon>): Generator<ProgressEvent>;
65
65
  //# sourceMappingURL=osm-from-geojson.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"osm-from-geojson.d.ts","sourceRoot":"","sources":["../src/osm-from-geojson.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAEN,KAAK,aAAa,EAElB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,KAAK,EACL,OAAO,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,WAAW,CAChC,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,EACjC,UAAU,GAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAkB,GACzD,OAAO,CAAC,GAAG,CAAC,CASd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAiB,yBAAyB,CACzC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,iBAAiB,CAAC,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC,GACrE,SAAS,CAAC,aAAa,CAAC,CAsO1B"}
1
+ {"version":3,"file":"osm-from-geojson.d.ts","sourceRoot":"","sources":["../src/osm-from-geojson.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAe,KAAK,aAAa,EAAiB,MAAM,wBAAwB,CAAC;AAGxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,EACjC,UAAU,GAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAkB,GAC1D,OAAO,CAAC,GAAG,CAAC,CAMd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAiB,yBAAyB,CACxC,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,iBAAiB,CAAC,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC,GACtE,SAAS,CAAC,aAAa,CAAC,CAgO1B"}
@@ -7,7 +7,7 @@
7
7
  * @module
8
8
  */
9
9
  import { Osm } from "@osmix/core";
10
- import { logProgress, progressEvent, } from "@osmix/shared/progress";
10
+ import { logProgress, progressEvent } from "@osmix/shared/progress";
11
11
  import { rewindFeature } from "@placemarkio/geojson-rewind";
12
12
  import { readDataAsGeoJSON } from "./utils.js";
13
13
  /**
@@ -152,9 +152,7 @@ export function* startCreateOsmFromGeoJSON(osm, geojson) {
152
152
  if (outerNodeRefs[0] !== outerNodeRefs[outerNodeRefs.length - 1])
153
153
  throw Error("Outer ring of Polygon is not closed.");
154
154
  // Create way for outer ring with area tags
155
- const outerWayId = createRelation
156
- ? nextWayId--
157
- : (featureId ?? nextWayId--);
155
+ const outerWayId = createRelation ? nextWayId-- : (featureId ?? nextWayId--);
158
156
  osm.ways.addWay({
159
157
  id: outerWayId,
160
158
  refs: outerNodeRefs,
@@ -280,10 +278,12 @@ function propertiesToTags(properties) {
280
278
  if (typeof value === "string" || typeof value === "number") {
281
279
  tags[key] = value;
282
280
  }
283
- else if (value != null) {
284
- // Convert other types to string
281
+ else if (typeof value === "boolean") {
285
282
  tags[key] = String(value);
286
283
  }
284
+ else if (value != null && typeof value === "object") {
285
+ tags[key] = JSON.stringify(value);
286
+ }
287
287
  }
288
288
  return Object.keys(tags).length > 0 ? tags : undefined;
289
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"osm-from-geojson.js","sourceRoot":"","sources":["../src/osm-from-geojson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"osm-from-geojson.js","sourceRoot":"","sources":["../src/osm-from-geojson.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Type definitions for OSM-GeoJSON conversion.
3
3
  * @module
4
4
  */
5
- import type { OsmEntityType, OsmInfoParsed, OsmTags } from "@osmix/shared/types";
5
+ import type { OsmEntityType, OsmInfoParsed, OsmTags } from "@osmix/types";
6
6
  import type { Feature, GeometryCollection, LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon } from "geojson";
7
7
  /**
8
8
  * GeoJSON Feature properties for OSM entities.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,EACX,OAAO,EACP,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,KAAK,EACL,OAAO,EACP,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,IAAI,EAAE,aAAa,CAAA;IACnB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wDAAwD;IACxD,IAAI,CAAC,EAAE,aAAa,CAAA;CACpB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CAC5B,CAAC,SACE,KAAK,GACL,UAAU,GACV,OAAO,GACP,YAAY,GACZ,eAAe,GACf,UAAU,GACV,kBAAkB,IAClB,OAAO,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CACxD,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAC3E,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GACzB,eAAe,GACf,cAAc,GACd,MAAM,GACN,iBAAiB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,KAAK,EACL,OAAO,EACR,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,IAAI,EAAE,aAAa,CAAC;IACpB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SACG,KAAK,GACL,UAAU,GACV,OAAO,GACP,YAAY,GACZ,eAAe,GACf,UAAU,GACV,kBAAkB,IACpB,OAAO,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CACvD,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAC5E,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,gBAAgB,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAyB5B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyB1F"}
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,IAAsB;IAEtB,IAAI,IAAI,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAA;IAE1E,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;QACpE,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAK;YACf,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAA;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAA;IAC/C,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAA;IAC7C,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACtE,OAAO,IAAyB,CAAA;IACjC,CAAC;IACD,MAAM,IAAI,KAAK,CACd,mGAAmG,CACnG,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAsB;IAC5D,IAAI,IAAI,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAC;IAE3E,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACrE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAC;IACjD,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACrE,OAAO,IAAyB,CAAC;IACnC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;AACJ,CAAC"}
Binary file