Skip to content

Commit 6ec850e

Browse files
committed
feat: add map view with Haversine distance function
- Implemented a new map view in ResultsPane to visualize geographic data. - Added lazy loading for the MapView component to optimize performance. - Introduced coordinate detection logic to identify latitude and longitude columns. - Enhanced CellTable to support interaction between the map and grid views. - Added HaversineFunction to calculate great-circle distances between coordinates. - Created comprehensive tests for HaversineFunction covering various scenarios. - Updated localization files to include new map-related strings. - Modified third-party notices to include attributions for map services.
1 parent 6994c05 commit 6ec850e

11 files changed

Lines changed: 1540 additions & 11 deletions

File tree

THIRD-PARTY-NOTICES.txt

Lines changed: 151 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
DatumV THIRD-PARTY NOTICES
2-
Generated: 2026-07-04T12:41:16.258Z
2+
Generated: 2026-07-17T10:57:45.719Z
33

44
This file aggregates license and copyright notices for every
55
third-party component that ships with the DatumV installer,
@@ -830,6 +830,57 @@ Renderer SPA (ClientApp/)
830830
URL: https://github.com/jridgewell/sourcemaps
831831
Authors: Justin Ridgewell
832832

833+
@mapbox/jsonlint-lines-primitives 2.0.3
834+
License: MIT
835+
URL: https://github.com/mapbox/jsonlint
836+
Authors: Zach Carter
837+
838+
@mapbox/point-geometry 1.1.0
839+
License: ISC
840+
URL: https://github.com/mapbox/point-geometry
841+
Authors: Tom MacWright
842+
843+
@mapbox/tiny-sdf 2.2.0
844+
License: BSD-2-Clause
845+
URL: https://github.com/mapbox/tiny-sdf
846+
Authors: Vladimir Agafonkin
847+
848+
@mapbox/unitbezier 0.0.1
849+
License: BSD-2-Clause
850+
URL: https://github.com/mapbox/unitbezier
851+
852+
@mapbox/unitbezier 1.0.0
853+
License: BSD-2-Clause
854+
URL: https://github.com/mapbox/unitbezier
855+
856+
@mapbox/vector-tile 2.0.5
857+
License: BSD-3-Clause
858+
URL: https://github.com/mapbox/vector-tile-js
859+
860+
@mapbox/whoots-js 3.1.0
861+
License: ISC
862+
URL: https://github.com/mapbox/whoots-js
863+
Authors: Bryan Housel
864+
865+
@maplibre/geojson-vt 6.1.1
866+
License: ISC
867+
URL: https://github.com/maplibre/geojson-vt
868+
Authors: Vladimir Agafonkin
869+
870+
@maplibre/maplibre-gl-style-spec 24.10.0
871+
License: ISC
872+
URL: https://github.com/maplibre/maplibre-style-spec
873+
Authors: MapLibre
874+
875+
@maplibre/mlt 1.1.12
876+
License: (MIT OR Apache-2.0)
877+
URL: https://github.com/maplibre/maplibre-tile-spec
878+
879+
@maplibre/vt-pbf 4.3.2
880+
License: MIT
881+
URL: https://github.com/maplibre/vt-pbf
882+
Authors: Anand Thakker
883+
833884
@mediapipe/tasks-vision 0.10.17
834885
License: Apache-2.0
835886
Authors: mediapipe@google.com
@@ -926,6 +977,10 @@ Renderer SPA (ClientApp/)
926977
License: MIT
927978
URL: https://github.com/DefinitelyTyped/DefinitelyTyped
928979

980+
@types/geojson 7946.0.16
981+
License: MIT
982+
URL: https://github.com/DefinitelyTyped/DefinitelyTyped
983+
929984
@types/hast 3.0.4
930985
License: MIT
931986
URL: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -1358,6 +1413,11 @@ dunder-proto 1.0.1
13581413
URL: https://github.com/es-shims/dunder-proto
13591414
Authors: Jordan Harband
13601415

1416+
earcut 3.2.3
1417+
License: ISC
1418+
URL: https://github.com/mapbox/earcut
1419+
Authors: Volodymyr Agafonkin
1420+
13611421
ee-first 1.1.1
13621422
License: MIT
13631423
URL: https://github.com/jonathanong/ee-first
@@ -1603,6 +1663,10 @@ github-slugger 2.0.0
16031663
URL: https://github.com/Flet/github-slugger
16041664
Authors: Dan Flettre
16051665

1666+
gl-matrix 3.4.4
1667+
License: MIT
1668+
URL: https://github.com/toji/gl-matrix
1669+
16061670
glob-parent 5.1.2
16071671
License: ISC
16081672
URL: https://github.com/gulpjs/glob-parent
@@ -1937,6 +2001,11 @@ json-schema-typed 8.0.2
19372001
URL: https://github.com/RemyRylan/json-schema-typed
19382002
Authors: Remy Rylan
19392003

2004+
json-stringify-pretty-compact 4.0.0
2005+
License: MIT
2006+
URL: https://github.com/lydell/json-stringify-pretty-compact
2007+
Authors: Simon Lydell
2008+
19402009
json5 2.2.3
19412010
License: MIT
19422011
URL: https://github.com/json5/json5
@@ -1947,6 +2016,11 @@ jsonfile 6.2.1
19472016
URL: https://github.com/jprichardson/node-jsonfile
19482017
Authors: JP Richardson
19492018

2019+
kdbush 4.1.0
2020+
License: ISC
2021+
URL: https://github.com/mourner/kdbush
2022+
Authors: Vladimir Agafonkin
2023+
19502024
kleur 3.0.3
19512025
License: MIT
19522026
URL: https://github.com/lukeed/kleur
@@ -1999,6 +2073,10 @@ lucide-react 1.23.0
19992073
maath 0.10.8
20002074
License: MIT
20012075

2076+
maplibre-gl 5.24.0
2077+
License: BSD-3-Clause
2078+
URL: https://github.com/maplibre/maplibre-gl-js
2079+
20022080
markdown-table 3.0.4
20032081
License: MIT
20042082
URL: https://github.com/wooorm/markdown-table
@@ -2308,6 +2386,11 @@ ms 2.1.3
23082386
License: MIT
23092387
URL: https://github.com/vercel/ms
23102388

2389+
murmurhash-js 1.0.0
2390+
License: MIT
2391+
URL: https://github.com/mikolalysenko/murmurhash-js
2392+
Authors: Gary Court
2393+
23112394
nanoid 3.3.15
23122395
License: MIT
23132396
URL: https://github.com/ai/nanoid
@@ -2449,6 +2532,16 @@ path-to-regexp 8.4.2
24492532
License: MIT
24502533
URL: https://github.com/pillarjs/path-to-regexp
24512534

2535+
pbf 4.0.2
2536+
License: BSD-3-Clause
2537+
URL: https://github.com/mapbox/pbf
2538+
Authors: Konstantin Kaefer
2539+
2540+
pbf 5.1.2
2541+
License: BSD-3-Clause
2542+
URL: https://github.com/mapbox/pbf
2543+
Authors: Konstantin Kaefer
2544+
24522545
picocolors 1.1.1
24532546
License: ISC
24542547
URL: https://github.com/alexeyraspopov/picocolors
@@ -2488,6 +2581,11 @@ potpack 1.0.2
24882581
URL: https://github.com/mapbox/potpack
24892582
Authors: Vladimir Agafonkin
24902583

2584+
potpack 2.1.0
2585+
License: ISC
2586+
URL: https://github.com/mapbox/potpack
2587+
Authors: Vladimir Agafonkin
2588+
24912589
powershell-utils 0.1.0
24922590
License: MIT
24932591
URL: https://github.com/sindresorhus/powershell-utils
@@ -2513,6 +2611,11 @@ property-information 7.2.0
25132611
URL: https://github.com/wooorm/property-information
25142612
Authors: Titus Wormer
25152613

2614+
protocol-buffers-schema 3.6.1
2615+
License: MIT
2616+
URL: https://github.com/mafintosh/protocol-buffers-schema
2617+
Authors: Mathias Buus
2618+
25162619
proxy-addr 2.0.7
25172620
License: MIT
25182621
URL: https://github.com/jshttp/proxy-addr
@@ -2547,6 +2650,11 @@ queue-microtask 1.2.3
25472650
URL: https://github.com/feross/queue-microtask
25482651
Authors: Feross Aboukhadijeh
25492652

2653+
quickselect 3.0.0
2654+
License: ISC
2655+
URL: https://github.com/mourner/quickselect
2656+
Authors: Vladimir Agafonkin
2657+
25502658
range-parser 1.3.0
25512659
License: MIT
25522660
URL: https://github.com/jshttp/range-parser
@@ -2639,6 +2747,11 @@ resolve-from 4.0.0
26392747
URL: https://github.com/sindresorhus/resolve-from
26402748
Authors: Sindre Sorhus
26412749

2750+
resolve-protobuf-schema 2.1.0
2751+
License: MIT
2752+
URL: https://github.com/mafintosh/resolve-protobuf-schema
2753+
Authors: Mathias Buus
2754+
26422755
restore-cursor 5.1.0
26432756
License: MIT
26442757
URL: https://github.com/sindresorhus/restore-cursor
@@ -2703,7 +2816,7 @@ setprototypeof 1.2.0
27032816
URL: https://github.com/wesleytodd/setprototypeof
27042817
Authors: Wes Todd
27052818

2706-
shadcn 4.12.0
2819+
shadcn 4.13.0
27072820
License: MIT
27082821
URL: https://github.com/shadcn-ui/ui
27092822
Authors: shadcn
@@ -2862,7 +2975,7 @@ three 0.170.0
28622975
URL: https://github.com/mrdoob/three.js
28632976
Authors: mrdoob
28642977

2865-
three 0.184.0
2978+
three 0.185.1
28662979
License: MIT
28672980
URL: https://github.com/mrdoob/three.js
28682981
Authors: mrdoob
@@ -2882,6 +2995,10 @@ tiny-invariant 1.3.3
28822995
URL: https://github.com/alexreardon/tiny-invariant
28832996
Authors: Alex Reardon
28842997

2998+
tinyqueue 3.0.0
2999+
License: ISC
3000+
URL: https://github.com/mourner/tinyqueue
3001+
28853002
to-regex-range 5.0.1
28863003
License: MIT
28873004
URL: https://github.com/micromatch/to-regex-range
@@ -3158,7 +3275,37 @@ zwitch 2.0.4
31583275
URL: https://github.com/wooorm/zwitch
31593276
Authors: Titus Wormer
31603277
============================================================================
3161-
SECTION 6 — STANDARD LICENSE TEXTS
3278+
SECTION 6 — MAP TILE SERVICES AND MAP DATA
3279+
============================================================================
3280+
3281+
The map view renders basemap tiles fetched at runtime from CARTO's
3282+
public basemap service; the underlying cartography is OpenStreetMap
3283+
data. Neither ships in the installer — tiles are fetched on demand —
3284+
but both carry attribution requirements, which the map satisfies
3285+
on-screen via its attribution control ("© OpenStreetMap contributors
3286+
© CARTO").
3287+
3288+
3289+
------------------------------------------------------------
3290+
OpenStreetMap data
3291+
------------------------------------------------------------
3292+
3293+
Map data © OpenStreetMap contributors, available under the Open
3294+
Database License (ODbL) 1.0.
3295+
https://www.openstreetmap.org/copyright
3296+
https://opendatacommons.org/licenses/odbl/1-0/
3297+
3298+
3299+
------------------------------------------------------------
3300+
CARTO basemaps
3301+
------------------------------------------------------------
3302+
3303+
Basemap tiles and glyph fonts are served by CARTO's free basemap
3304+
endpoints, used with attribution per CARTO's basemap terms.
3305+
https://carto.com/attribution
3306+
3307+
============================================================================
3308+
SECTION 7 — STANDARD LICENSE TEXTS
31623309
============================================================================
31633310

31643311
Per-package licenses above identify the license family. The full

docs/sql/spatial.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,25 @@ SELECT point2d(latitude, longitude) FROM cities
7373
| `point_z(p)` | `Float32` | Z component. **`Point3D` only**`Point2D` has no Z. |
7474
| `distance(a, b)` | `Float32` | Euclidean distance between two same-dimension points. |
7575
| `distance_sq(a, b)` | `Float32` | Squared distance — skips the square root for KNN-ranking / threshold checks where absolute distance isn't needed. |
76+
| `haversine(lat1, lon1, lat2, lon2)` | `Float64` | Great-circle distance in **meters** between two WGS-84 coordinates (decimal degrees — the shape geocoders produce). Spherical earth model matching PostGIS `ST_DistanceSphere`; null in any argument propagates. |
7677

7778
```sql
7879
-- Find points within a radius
7980
SELECT id, distance(pt, point3d(0, 0, 0)) AS r
8081
FROM cloud
8182
WHERE distance_sq(pt, point3d(0, 0, 0)) < 100.0
8283
ORDER BY r
84+
85+
-- Geographic: companies within 10 miles (16,093 m) of a point
86+
SELECT name, haversine(lat, lon, 39.9612, -82.9988) / 1609.34 AS miles
87+
FROM company_geo
88+
WHERE haversine(lat, lon, 39.9612, -82.9988) < 16093.4
89+
ORDER BY miles
8390
```
8491

8592
Mixing `Point2D` with `Point3D` in `distance` / `distance_sq` is a
86-
function-argument error.
93+
function-argument error. `haversine` is for geographic degrees; use
94+
`distance` for planar/projected coordinates.
8795

8896
Both kinds also participate in `typeof()`, `IS Type`, and `CAST` like
8997
any other DataKind. Field access via `.x` / `.y` / `.z` is sugar for the

0 commit comments

Comments
 (0)