You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+18-3Lines changed: 18 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
5
5
6
6
## [Unreleased][unreleased]
7
7
8
-
## [1.0.0] - 2026-03-29
8
+
## [1.0.0] - 2026-04-12
9
9
10
10
### Breaking change
11
11
12
-
- arc.js is now a [pure](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) ESM package.
12
+
- arc.js is now a [pure](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) ESM package (from @jgravois).
13
13
14
14
If you need to `require()` arc.js as CJS (CommonJS), or have a runtime older than Node.js 18, please use `0.1.4`.
15
15
@@ -27,7 +27,22 @@ const gc = new GreatCircle(/* */);
27
27
28
28
### Fixed
29
29
30
-
- antimeridian splitting in GreatCircle.Arc (From @copilot)
30
+
- Antimeridian splitting in GreatCircle.Arc (from @thomas-hervey)
31
+
32
+
### Changed
33
+
34
+
-`GreatCircle.Arc()` now defaults to `npoints = 100` — calling `gc.Arc()` with no arguments produces a smooth 100-point arc instead of a 2-point stub
35
+
- Antimeridian splitting now uses analytical bisection (binary search on `interpolate()`) instead of the GDAL-ported linear heuristic. This approach is more accurate, especially at high latitudes and low `npoints` values
36
+
-`ArcOptions.offset` is now a no-op (kept for backwards compatibility); antimeridian handling is fully automatic
37
+
38
+
### Removed
39
+
40
+
- GDAL license file (`GDAL-LICENSE.md`). No GDAL-derived code remains in the codebase
41
+
42
+
### Added
43
+
44
+
-`scripts/benchmark.mjs` benchmarks bisection vs. prior linear approach across npoints and route types
45
+
-`scripts/dump-fixtures.mjs` exports all test routes as GeoJSON for use in visual verification (such as [https://geojson.io](https://geojson.io) or the index.html demo page)
const properties:RouteProperties= { name: 'Seattle to DC', color: 'blue' };
88
88
89
89
const gc =newGreatCircle(start, end, properties);
90
-
const options:ArcOptions= { offset: 10 };
91
-
const line =gc.Arc(100, options);
90
+
const line =gc.Arc(); // npoints is optional, defaults to 100
92
91
93
92
// Fully typed return values
94
93
const geojson =line.json(); // GeoJSONFeature
@@ -144,7 +143,7 @@ const wkt = line.wkt();
144
143
145
144
### Dateline Crossing
146
145
147
-
The library automatically handles routes that cross the international dateline. The `offset` option (default: 10) controls how close to the dateline a route must be before it gets split into multiple segments. For routes near the poles, you may need a higher offset value.
146
+
Routes that cross the international dateline are automatically detected and split into a `MultiLineString` with exact `±180°` boundary points. No configuration is needed.
148
147
149
148
## Examples
150
149
@@ -157,7 +156,3 @@ arc.js powers the [`greatCircle`](https://turfjs.org/docs/api/greatCircle) funct
157
156
## License
158
157
159
158
This project is licensed under the BSD license. See [LICENSE.md](LICENSE) for details.
160
-
161
-
### Third-Party Licenses
162
-
163
-
This project includes code ported from GDAL (Geospatial Data Abstraction Library), which is licensed under the MIT/X11 license. See [GDAL-LICENSE.md](GDAL-LICENSE.md) for the full GDAL license text and attribution details.
0 commit comments