@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 +24 -0
- package/LICENSE +21 -0
- package/README.md +50 -51
- package/dist/entity-to-feature.d.ts +7 -7
- package/dist/entity-to-feature.d.ts.map +1 -1
- package/dist/entity-to-feature.js +27 -11
- package/dist/entity-to-feature.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/osm-from-geojson.d.ts +2 -2
- package/dist/osm-from-geojson.d.ts.map +1 -1
- package/dist/osm-from-geojson.js +6 -6
- package/dist/osm-from-geojson.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/osmix-geojson-0.0.16.tgz +0 -0
- package/package.json +31 -31
- package/src/entity-to-feature.ts +309 -314
- package/src/index.ts +3 -3
- package/src/osm-from-geojson.ts +266 -287
- package/src/types.ts +31 -35
- package/src/utils.ts +25 -27
- package/test/entity-to-feature.test.ts +56 -59
- package/test/osm-from-geojson.test.ts +855 -866
- package/tsconfig.build.json +6 -6
- package/tsconfig.json +7 -7
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
|
-
|
|
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
|
-
|
|
29
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
45
|
+
features.push(osmEntityToGeoJSONFeature(osm, way));
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
const featureCollection = {
|
|
50
|
-
|
|
51
|
-
|
|
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(
|
|
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
|
|
75
|
-
|
|
76
|
-
| `nodeToFeature(node)`
|
|
77
|
-
| `wayToFeature(way, refToPosition)`
|
|
78
|
-
| `relationToFeature(relation, refToPosition, getWay?)` | Relation → Multi
|
|
79
|
-
| `osmEntityToGeoJSONFeature(osm, entity)`
|
|
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
|
|
84
|
-
|
|
85
|
-
| `fromGeoJSON(data, options?, onProgress?)` | Create Osm index from GeoJSON
|
|
86
|
-
| `startCreateOsmFromGeoJSON(osm, geojson)`
|
|
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
|
|
91
|
-
|
|
92
|
-
| `OsmGeoJSONFeature<T>` | GeoJSON Feature with OSM properties
|
|
93
|
-
| `OsmGeoJSONProperties` | Properties type (id, type, tags, info)
|
|
94
|
-
| `ImportableGeoJSON`
|
|
95
|
-
| `ReadOsmDataTypes`
|
|
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
|
|
100
|
-
|
|
101
|
-
| Node
|
|
102
|
-
| Way (linear)
|
|
103
|
-
| Way (area)
|
|
104
|
-
| Relation (multipolygon) | MultiPolygon or Polygon
|
|
105
|
-
| Relation (route)
|
|
106
|
-
| Relation (site)
|
|
107
|
-
| Relation (other)
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
123
|
+
pnpm run test packages/geojson
|
|
124
|
+
pnpm run lint packages/geojson
|
|
125
|
+
pnpm run typecheck packages/geojson
|
|
127
126
|
```
|
|
128
127
|
|
|
129
|
-
Run `
|
|
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 {
|
|
10
|
-
import type { OsmEntity, OsmNode, OsmRelation, OsmWay } from "@osmix/
|
|
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
|
|
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
|
|
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:
|
|
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,
|
|
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 {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
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
|
|
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: [
|
|
70
|
+
coordinates: [resolvedCoordinates],
|
|
64
71
|
}
|
|
65
72
|
: {
|
|
66
73
|
type: "LineString",
|
|
67
|
-
coordinates:
|
|
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
|
|
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
|
-
|
|
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) =>
|
|
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":"AAAA;;;;;;;GAOG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"entity-to-feature.js","sourceRoot":"","sources":["../src/entity-to-feature.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,cAAc,wBAAwB,
|
|
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,
|
|
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:
|
|
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,
|
|
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"}
|
package/dist/osm-from-geojson.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
import { Osm } from "@osmix/core";
|
|
10
|
-
import { logProgress, progressEvent
|
|
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
|
|
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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,
|
|
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/
|
|
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.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|