@osmix/geoparquet 0.1.0

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +47 -0
  3. package/dist/src/from-geoparquet.d.ts +68 -0
  4. package/dist/src/from-geoparquet.d.ts.map +1 -0
  5. package/dist/src/from-geoparquet.js +455 -0
  6. package/dist/src/from-geoparquet.js.map +1 -0
  7. package/dist/src/index.d.ts +27 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +27 -0
  10. package/dist/src/index.js.map +1 -0
  11. package/dist/src/types.d.ts +47 -0
  12. package/dist/src/types.d.ts.map +1 -0
  13. package/dist/src/types.js +6 -0
  14. package/dist/src/types.js.map +1 -0
  15. package/dist/src/wkb.d.ts +22 -0
  16. package/dist/src/wkb.d.ts.map +1 -0
  17. package/dist/src/wkb.js +181 -0
  18. package/dist/src/wkb.js.map +1 -0
  19. package/dist/test/from-geoparquet.test.d.ts +2 -0
  20. package/dist/test/from-geoparquet.test.d.ts.map +1 -0
  21. package/dist/test/from-geoparquet.test.js +445 -0
  22. package/dist/test/from-geoparquet.test.js.map +1 -0
  23. package/dist/test/monaco-parquet.test.d.ts +2 -0
  24. package/dist/test/monaco-parquet.test.d.ts.map +1 -0
  25. package/dist/test/monaco-parquet.test.js +200 -0
  26. package/dist/test/monaco-parquet.test.js.map +1 -0
  27. package/dist/test/wkb.test.d.ts +2 -0
  28. package/dist/test/wkb.test.d.ts.map +1 -0
  29. package/dist/test/wkb.test.js +234 -0
  30. package/dist/test/wkb.test.js.map +1 -0
  31. package/package.json +53 -0
  32. package/src/from-geoparquet.ts +565 -0
  33. package/src/index.ts +27 -0
  34. package/src/types.ts +51 -0
  35. package/src/wkb.ts +218 -0
  36. package/test/download-monaco-highways.sh +40 -0
  37. package/test/from-geoparquet.test.ts +520 -0
  38. package/test/monaco-parquet.test.ts +249 -0
  39. package/test/wkb.test.ts +296 -0
  40. package/tsconfig.json +9 -0
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @osmix/geoparquet - Import OSM data from GeoParquet files.
3
+ *
4
+ * Provides import functionality for GeoParquet files including OpenStreetMap US Layercake,
5
+ * converting geometry data to Osmix's in-memory format.
6
+ *
7
+ * Handles geometry mapping:
8
+ * - Point → Node
9
+ * - LineString → Way with nodes
10
+ * - Polygon → Way (simple) or Relation (with holes)
11
+ * - MultiPolygon → Multipolygon relation
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * // Import GeoParquet data to Osm index
16
+ * import { fromGeoParquet } from "@osmix/geoparquet"
17
+ *
18
+ * const osm = await fromGeoParquet("./data.parquet")
19
+ * const highways = osm.ways.search("highway")
20
+ * ```
21
+ *
22
+ * @module @osmix/geoparquet
23
+ */
24
+ export * from "./from-geoparquet";
25
+ export * from "./types";
26
+ export { parseWkb } from "./wkb";
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Type definitions for GeoParquet data.
3
+ *
4
+ * @module
5
+ */
6
+ import type { GeoBbox2D, OsmTags } from "@osmix/shared/types";
7
+ import type { AsyncBuffer, ParquetReadOptions } from "hyparquet";
8
+ /**
9
+ * Source types that can be used to read GeoParquet data by hyparquet.
10
+ * - string: File path (Node.js/Bun) or URL (browser)
11
+ * - URL: URL object
12
+ * - ArrayBuffer: Raw parquet data
13
+ * - AsyncBuffer: hyparquet async buffer for streaming
14
+ */
15
+ export type GeoParquetSource = string | URL | ArrayBuffer | AsyncBuffer;
16
+ /**
17
+ * Raw row from GeoParquet file.
18
+ * The geometry field is WKB-encoded.
19
+ */
20
+ export interface GeoParquetRow {
21
+ /** OSM entity type */
22
+ type: "node" | "way" | "relation";
23
+ /** OSM entity ID */
24
+ id: bigint | number;
25
+ /** OSM tags as string or key-value pairs */
26
+ tags: OsmTags | string;
27
+ /** the xmin, ymin, xmax, and ymax of the element’s geometry */
28
+ bbox: GeoBbox2D;
29
+ /** WKB-encoded geometry or GeoJSON */
30
+ geometry: Uint8Array | GeoJSON.Geometry | string;
31
+ }
32
+ /**
33
+ * Options for reading GeoParquet files.
34
+ */
35
+ export interface GeoParquetReadOptions extends Omit<ParquetReadOptions, "onComplete" | "file" | "columns"> {
36
+ /** Column name for the entity type (default: "type") */
37
+ typeColumn?: string;
38
+ /** Column name for the entity ID (default: "id") */
39
+ idColumn?: string;
40
+ /** Column name for the entity tags (default: "tags") */
41
+ tagsColumn?: string;
42
+ /** Column name for the entity bbox (default: "bbox") */
43
+ bboxColumn?: string;
44
+ /** Column name for the entity geometry (default: "geometry") */
45
+ geometryColumn?: string;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEhE;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,GAAG,GAAG,WAAW,GAAG,WAAW,CAAA;AAEvE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,sBAAsB;IACtB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAA;IACjC,oBAAoB;IACpB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,4CAA4C;IAC5C,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;IACtB,+DAA+D;IAC/D,IAAI,EAAE,SAAS,CAAA;IACf,sCAAsC;IACtC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAA;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,qBAChB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IACnE,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type definitions for GeoParquet data.
3
+ *
4
+ * @module
5
+ */
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * WKB (Well-Known Binary) geometry parsing utilities.
3
+ *
4
+ * Browser-compatible WKB parser using DataView instead of Node.js Buffer.
5
+ * Supports standard WKB and EWKB (with SRID) formats.
6
+ *
7
+ * @module
8
+ */
9
+ import type { Geometry } from "geojson";
10
+ /**
11
+ * Parse a WKB geometry into a GeoJSON Geometry object.
12
+ *
13
+ * Browser-compatible implementation using DataView.
14
+ * Supports Point, LineString, Polygon, MultiPoint, MultiLineString,
15
+ * MultiPolygon, and GeometryCollection. Also handles EWKB with SRID.
16
+ *
17
+ * @param wkb - WKB-encoded geometry as Uint8Array
18
+ * @returns Parsed GeoJSON Geometry
19
+ * @throws Error if geometry type is unsupported
20
+ */
21
+ export declare function parseWkb(wkb: Uint8Array): Geometry;
22
+ //# sourceMappingURL=wkb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb.d.ts","sourceRoot":"","sources":["../../src/wkb.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACX,QAAQ,EASR,MAAM,SAAS,CAAA;AAoDhB;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,CAGlD"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * WKB (Well-Known Binary) geometry parsing utilities.
3
+ *
4
+ * Browser-compatible WKB parser using DataView instead of Node.js Buffer.
5
+ * Supports standard WKB and EWKB (with SRID) formats.
6
+ *
7
+ * @module
8
+ */
9
+ /** WKB geometry type codes */
10
+ const WKB_POINT = 1;
11
+ const WKB_LINESTRING = 2;
12
+ const WKB_POLYGON = 3;
13
+ const WKB_MULTIPOINT = 4;
14
+ const WKB_MULTILINESTRING = 5;
15
+ const WKB_MULTIPOLYGON = 6;
16
+ const WKB_GEOMETRYCOLLECTION = 7;
17
+ /** EWKB flags */
18
+ const EWKB_SRID_FLAG = 0x20000000;
19
+ const EWKB_Z_FLAG = 0x80000000;
20
+ const EWKB_M_FLAG = 0x40000000;
21
+ /**
22
+ * Binary reader using DataView for browser compatibility.
23
+ */
24
+ class WkbReader {
25
+ view;
26
+ offset = 0;
27
+ littleEndian = true;
28
+ constructor(data) {
29
+ // Create DataView from the Uint8Array's underlying buffer with correct offset
30
+ this.view = new DataView(data.buffer, data.byteOffset, data.byteLength);
31
+ }
32
+ readByte() {
33
+ const value = this.view.getUint8(this.offset);
34
+ this.offset += 1;
35
+ return value;
36
+ }
37
+ readUint32() {
38
+ const value = this.view.getUint32(this.offset, this.littleEndian);
39
+ this.offset += 4;
40
+ return value;
41
+ }
42
+ readDouble() {
43
+ const value = this.view.getFloat64(this.offset, this.littleEndian);
44
+ this.offset += 8;
45
+ return value;
46
+ }
47
+ setLittleEndian(littleEndian) {
48
+ this.littleEndian = littleEndian;
49
+ }
50
+ }
51
+ /**
52
+ * Parse a WKB geometry into a GeoJSON Geometry object.
53
+ *
54
+ * Browser-compatible implementation using DataView.
55
+ * Supports Point, LineString, Polygon, MultiPoint, MultiLineString,
56
+ * MultiPolygon, and GeometryCollection. Also handles EWKB with SRID.
57
+ *
58
+ * @param wkb - WKB-encoded geometry as Uint8Array
59
+ * @returns Parsed GeoJSON Geometry
60
+ * @throws Error if geometry type is unsupported
61
+ */
62
+ export function parseWkb(wkb) {
63
+ const reader = new WkbReader(wkb);
64
+ return parseGeometry(reader);
65
+ }
66
+ /**
67
+ * Parse a geometry from the reader at current position.
68
+ */
69
+ function parseGeometry(reader) {
70
+ // Read byte order
71
+ const byteOrder = reader.readByte();
72
+ reader.setLittleEndian(byteOrder === 1);
73
+ // Read geometry type (may include EWKB flags)
74
+ let geometryType = reader.readUint32();
75
+ // Handle EWKB SRID flag
76
+ if (geometryType & EWKB_SRID_FLAG) {
77
+ // Skip SRID (4 bytes)
78
+ reader.readUint32();
79
+ geometryType &= ~EWKB_SRID_FLAG;
80
+ }
81
+ // Check for Z/M flags and mask them out
82
+ const hasZ = (geometryType & EWKB_Z_FLAG) !== 0;
83
+ const hasM = (geometryType & EWKB_M_FLAG) !== 0;
84
+ geometryType &= 0x0000ffff; // Keep only the base type
85
+ // Determine coordinate dimensions
86
+ const dimensions = 2 + (hasZ ? 1 : 0) + (hasM ? 1 : 0);
87
+ switch (geometryType) {
88
+ case WKB_POINT:
89
+ return parsePoint(reader, dimensions);
90
+ case WKB_LINESTRING:
91
+ return parseLineString(reader, dimensions);
92
+ case WKB_POLYGON:
93
+ return parsePolygon(reader, dimensions);
94
+ case WKB_MULTIPOINT:
95
+ return parseMultiPoint(reader);
96
+ case WKB_MULTILINESTRING:
97
+ return parseMultiLineString(reader);
98
+ case WKB_MULTIPOLYGON:
99
+ return parseMultiPolygon(reader);
100
+ case WKB_GEOMETRYCOLLECTION:
101
+ return parseGeometryCollection(reader);
102
+ default:
103
+ throw new Error(`Unsupported WKB geometry type: ${geometryType}`);
104
+ }
105
+ }
106
+ /**
107
+ * Read a coordinate (lon, lat, and optionally z/m).
108
+ * Only returns [lon, lat] for GeoJSON compatibility.
109
+ */
110
+ function readCoordinate(reader, dimensions) {
111
+ const x = reader.readDouble();
112
+ const y = reader.readDouble();
113
+ // Read and discard extra dimensions (Z, M)
114
+ for (let i = 2; i < dimensions; i++) {
115
+ reader.readDouble();
116
+ }
117
+ return [x, y];
118
+ }
119
+ /**
120
+ * Read an array of coordinates.
121
+ */
122
+ function readCoordinates(reader, dimensions) {
123
+ const count = reader.readUint32();
124
+ const coords = [];
125
+ for (let i = 0; i < count; i++) {
126
+ coords.push(readCoordinate(reader, dimensions));
127
+ }
128
+ return coords;
129
+ }
130
+ function parsePoint(reader, dimensions) {
131
+ const coordinates = readCoordinate(reader, dimensions);
132
+ return { type: "Point", coordinates };
133
+ }
134
+ function parseLineString(reader, dimensions) {
135
+ const coordinates = readCoordinates(reader, dimensions);
136
+ return { type: "LineString", coordinates };
137
+ }
138
+ function parsePolygon(reader, dimensions) {
139
+ const numRings = reader.readUint32();
140
+ const coordinates = [];
141
+ for (let i = 0; i < numRings; i++) {
142
+ coordinates.push(readCoordinates(reader, dimensions));
143
+ }
144
+ return { type: "Polygon", coordinates };
145
+ }
146
+ function parseMultiPoint(reader) {
147
+ const numPoints = reader.readUint32();
148
+ const coordinates = [];
149
+ for (let i = 0; i < numPoints; i++) {
150
+ const point = parseGeometry(reader);
151
+ coordinates.push(point.coordinates);
152
+ }
153
+ return { type: "MultiPoint", coordinates };
154
+ }
155
+ function parseMultiLineString(reader) {
156
+ const numLineStrings = reader.readUint32();
157
+ const coordinates = [];
158
+ for (let i = 0; i < numLineStrings; i++) {
159
+ const lineString = parseGeometry(reader);
160
+ coordinates.push(lineString.coordinates);
161
+ }
162
+ return { type: "MultiLineString", coordinates };
163
+ }
164
+ function parseMultiPolygon(reader) {
165
+ const numPolygons = reader.readUint32();
166
+ const coordinates = [];
167
+ for (let i = 0; i < numPolygons; i++) {
168
+ const polygon = parseGeometry(reader);
169
+ coordinates.push(polygon.coordinates);
170
+ }
171
+ return { type: "MultiPolygon", coordinates };
172
+ }
173
+ function parseGeometryCollection(reader) {
174
+ const numGeometries = reader.readUint32();
175
+ const geometries = [];
176
+ for (let i = 0; i < numGeometries; i++) {
177
+ geometries.push(parseGeometry(reader));
178
+ }
179
+ return { type: "GeometryCollection", geometries };
180
+ }
181
+ //# sourceMappingURL=wkb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkb.js","sourceRoot":"","sources":["../../src/wkb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=from-geoparquet.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-geoparquet.test.d.ts","sourceRoot":"","sources":["../../test/from-geoparquet.test.ts"],"names":[],"mappings":""}