@developmentseed/raster-reproject 0.1.0-beta.5 → 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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affine.d.ts","sourceRoot":"","sources":["../../src/affine/affine.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,YAAY,CAgBjE;AAWD;;GAEG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACnD,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlB"}
@@ -19,7 +19,7 @@ export function invertGeoTransform(gt) {
19
19
  const rb = -sb * idet;
20
20
  const rd = -sd * idet;
21
21
  const re = sa * idet;
22
- // prettier-ignore
22
+ // biome-ignore format: array
23
23
  return [
24
24
  ra, rb, -sc * ra - sf * rb,
25
25
  rd, re, -sc * rd - sf * re,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affine.js","sourceRoot":"","sources":["../../src/affine/affine.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAgB;IACjD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,6BAA6B;IAC7B,OAAO;QACH,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1B,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAgB;IACpC,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,EAAgB;IACnC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,CAAS,EACT,CAAS,EACT,EAAoD;IAEpD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { GeoTransform } from "./affine.js";
2
+ export { applyAffine, invertGeoTransform } from "./affine.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/affine/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { applyAffine, invertGeoTransform } from "./affine.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/affine/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
package/dist/delatin.d.ts CHANGED
@@ -17,13 +17,13 @@ export interface ReprojectionFns {
17
17
  *
18
18
  * This is the affine geotransform from the input image.
19
19
  */
20
- pixelToInputCRS(x: number, y: number): [number, number];
20
+ forwardTransform(x: number, y: number): [number, number];
21
21
  /**
22
22
  * Convert from input CRS coordinates back to UV coordinates.
23
23
  *
24
24
  * Inverse of the affine geotransform from the input image.
25
25
  */
26
- inputCRSToPixel(x: number, y: number): [number, number];
26
+ inverseTransform(x: number, y: number): [number, number];
27
27
  /**
28
28
  * Apply the forward projection from input CRS to output CRS.
29
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"delatin.d.ts","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D;AAED,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,UAAU,CAAW;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAG1B,YAAY,EAAE,eAAe,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAc;IAoCxB,GAAG,CAAC,QAAQ,GAAE,MAAU,GAAG,IAAI;IAO/B,MAAM,IAAI,IAAI;IAMd,WAAW,IAAI,MAAM;IAKrB,OAAO,CAAC,MAAM;IA4Gd;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA6HlC,OAAO,CAAC,KAAK;IA6Cb,OAAO,CAAC,SAAS;IAqBjB,YAAY,CACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,GAAE,MAA8B;IAqCnC,OAAO,CAAC,SAAS;IAiEjB,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,UAAU;CAoBnB"}
1
+ {"version":3,"file":"delatin.d.ts","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D;AAED,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,UAAU,CAAW;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAG1B,YAAY,EAAE,eAAe,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAc;IAoCxB,GAAG,CAAC,QAAQ,GAAE,MAA0B,GAAG,IAAI;IAW/C,MAAM,IAAI,IAAI;IAMd,WAAW,IAAI,MAAM;IAKrB,OAAO,CAAC,MAAM;IAQd;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA6HlC,OAAO,CAAC,KAAK;IA6Cb,OAAO,CAAC,SAAS;IAqBjB,YAAY,CACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,GAAE,MAA8B;IAqCnC,OAAO,CAAC,SAAS;IAiEjB,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,UAAU;CAoBnB"}
package/dist/delatin.js CHANGED
@@ -25,6 +25,7 @@ const SAMPLE_POINTS = [
25
25
  [0.5, 0, 0.5], // edge 0–2
26
26
  [0, 0.5, 0.5], // edge 1–2
27
27
  ];
28
+ const DEFAULT_MAX_ERROR = 0.125;
28
29
  export class RasterReprojector {
29
30
  reprojectors;
30
31
  width;
@@ -87,7 +88,10 @@ export class RasterReprojector {
87
88
  this._flush();
88
89
  }
89
90
  // refine the mesh until its maximum error gets below the given one
90
- run(maxError = 1) {
91
+ run(maxError = DEFAULT_MAX_ERROR) {
92
+ if (maxError <= 0) {
93
+ throw new Error("maxError must be positive");
94
+ }
91
95
  while (this.getMaxError() > maxError) {
92
96
  this.refine();
93
97
  }
@@ -109,93 +113,6 @@ export class RasterReprojector {
109
113
  }
110
114
  this._pendingLen = 0;
111
115
  }
112
- // Original, upstream implementation of FindCandidate:
113
- // // rasterize a triangle, find its max error, and queue it for processing
114
- // private _findCandidate(
115
- // p0x: number,
116
- // p0y: number,
117
- // p1x: number,
118
- // p1y: number,
119
- // p2x: number,
120
- // p2y: number,
121
- // t: number,
122
- // ) {
123
- // // triangle bounding box
124
- // const minX = Math.min(p0x, p1x, p2x);
125
- // const minY = Math.min(p0y, p1y, p2y);
126
- // const maxX = Math.max(p0x, p1x, p2x);
127
- // const maxY = Math.max(p0y, p1y, p2y);
128
- // // forward differencing variables
129
- // let w00 = orient(p1x, p1y, p2x, p2y, minX, minY);
130
- // let w01 = orient(p2x, p2y, p0x, p0y, minX, minY);
131
- // let w02 = orient(p0x, p0y, p1x, p1y, minX, minY);
132
- // const a01 = p1y - p0y;
133
- // const b01 = p0x - p1x;
134
- // const a12 = p2y - p1y;
135
- // const b12 = p1x - p2x;
136
- // const a20 = p0y - p2y;
137
- // const b20 = p2x - p0x;
138
- // // pre-multiplied z values at vertices
139
- // const a = orient(p0x, p0y, p1x, p1y, p2x, p2y);
140
- // const z0 = this.heightAt(p0x, p0y) / a;
141
- // const z1 = this.heightAt(p1x, p1y) / a;
142
- // const z2 = this.heightAt(p2x, p2y) / a;
143
- // // iterate over pixels in bounding box
144
- // let maxError = 0;
145
- // let mx = 0;
146
- // let my = 0;
147
- // for (let y = minY; y <= maxY; y++) {
148
- // // compute starting offset
149
- // let dx = 0;
150
- // if (w00 < 0 && a12 !== 0) {
151
- // dx = Math.max(dx, Math.floor(-w00 / a12));
152
- // }
153
- // if (w01 < 0 && a20 !== 0) {
154
- // dx = Math.max(dx, Math.floor(-w01 / a20));
155
- // }
156
- // if (w02 < 0 && a01 !== 0) {
157
- // dx = Math.max(dx, Math.floor(-w02 / a01));
158
- // }
159
- // let w0 = w00 + a12 * dx;
160
- // let w1 = w01 + a20 * dx;
161
- // let w2 = w02 + a01 * dx;
162
- // let wasInside = false;
163
- // for (let x = minX + dx; x <= maxX; x++) {
164
- // // check if inside triangle
165
- // if (w0 >= 0 && w1 >= 0 && w2 >= 0) {
166
- // wasInside = true;
167
- // // compute z using barycentric coordinates
168
- // const z = z0 * w0 + z1 * w1 + z2 * w2;
169
- // const dz = Math.abs(z - this.heightAt(x, y));
170
- // if (dz > maxError) {
171
- // maxError = dz;
172
- // mx = x;
173
- // my = y;
174
- // }
175
- // } else if (wasInside) {
176
- // break;
177
- // }
178
- // w0 += a12;
179
- // w1 += a20;
180
- // w2 += a01;
181
- // }
182
- // w00 += b12;
183
- // w01 += b20;
184
- // w02 += b01;
185
- // }
186
- // if (
187
- // (mx === p0x && my === p0y) ||
188
- // (mx === p1x && my === p1y) ||
189
- // (mx === p2x && my === p2y)
190
- // ) {
191
- // maxError = 0;
192
- // }
193
- // // update triangle metadata
194
- // this._candidatesUV[2 * t] = mx;
195
- // this._candidatesUV[2 * t + 1] = my;
196
- // // add triangle to priority queue
197
- // this._queuePush(t, maxError);
198
- // }
199
116
  /**
200
117
  * Conversion of upstream's `_findCandidate` for reprojection error handling.
201
118
  *
@@ -247,7 +164,7 @@ export class RasterReprojector {
247
164
  const inputCRSSampled = this.reprojectors.inverseReproject(outSampleX, outSampleY);
248
165
  // Find the pixel coordinates of the sampled point by using the inverse
249
166
  // geotransform.
250
- const pixelSampled = this.reprojectors.inputCRSToPixel(inputCRSSampled[0], inputCRSSampled[1]);
167
+ const pixelSampled = this.reprojectors.inverseTransform(inputCRSSampled[0], inputCRSSampled[1]);
251
168
  // 4. error in pixel space
252
169
  const dx = pixelExactX - pixelSampled[0];
253
170
  const dy = pixelExactY - pixelSampled[1];
@@ -322,7 +239,7 @@ export class RasterReprojector {
322
239
  // compute and store exact output position via reprojection
323
240
  const pixelX = u * (this.width - 1);
324
241
  const pixelY = v * (this.height - 1);
325
- const inputPosition = this.reprojectors.pixelToInputCRS(pixelX, pixelY);
242
+ const inputPosition = this.reprojectors.forwardTransform(pixelX, pixelY);
326
243
  const exactOutputPosition = this.reprojectors.forwardReproject(inputPosition[0], inputPosition[1]);
327
244
  this.exactOutputPositions.push(exactOutputPosition[0], exactOutputPosition[1]);
328
245
  return i;
@@ -1 +1 @@
1
- {"version":3,"file":"delatin.js","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delatin.js","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- export { applyAffine, invertGeoTransform } from "./affine.js";
2
- export type { GeoTransform } from "./affine.js";
3
- export { RasterReprojector } from "./delatin.js";
4
1
  export type { ReprojectionFns } from "./delatin.js";
2
+ export { RasterReprojector } from "./delatin.js";
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,2 @@
1
- export { applyAffine, invertGeoTransform } from "./affine.js";
2
1
  export { RasterReprojector } from "./delatin.js";
3
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@developmentseed/raster-reproject",
3
- "version": "0.1.0-beta.5",
3
+ "version": "0.1.0",
4
4
  "description": "Mesh generation for client-side raster reprojection.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -9,8 +9,13 @@
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "default": "./dist/index.js"
12
+ },
13
+ "./affine": {
14
+ "types": "./dist/affine/index.d.ts",
15
+ "default": "./dist/affine/index.js"
12
16
  }
13
17
  },
18
+ "sideEffects": false,
14
19
  "files": [
15
20
  "dist"
16
21
  ],
@@ -32,15 +37,11 @@
32
37
  "url": "git+https://github.com/developmentseed/deck.gl-raster.git"
33
38
  },
34
39
  "devDependencies": {
35
- "@types/node": "^25.0.1",
36
- "@typescript-eslint/eslint-plugin": "^8.16.0",
37
- "@typescript-eslint/parser": "^8.16.0",
38
- "eslint": "^9.15.0",
39
- "jsdom": "^27.2.0",
40
- "prettier": "^3.3.3",
40
+ "@types/node": "^25.0.3",
41
+ "jsdom": "^27.4.0",
41
42
  "proj4": "^2.20.2",
42
- "typescript": "^5.7.2",
43
- "vitest": "^4.0.15"
43
+ "typescript": "^5.9.3",
44
+ "vitest": "^4.0.16"
44
45
  },
45
46
  "volta": {
46
47
  "extends": "../../package.json"
@@ -49,9 +50,6 @@
49
50
  "build": "tsc --build tsconfig.build.json",
50
51
  "test": "vitest run",
51
52
  "test:watch": "vitest",
52
- "lint": "eslint src --ext .ts,.tsx",
53
- "format": "prettier --write \"src/**/*.{ts,tsx,json}\"",
54
- "format:check": "prettier --check \"src/**/*.{ts,tsx,json}\"",
55
53
  "typecheck": "tsc --noEmit"
56
54
  }
57
55
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"affine.d.ts","sourceRoot":"","sources":["../src/affine.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,YAAY,CAgBjE;AAWD;;GAEG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACnD,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"affine.js","sourceRoot":"","sources":["../src/affine.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAgB;IACjD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,kBAAkB;IAClB,OAAO;QACH,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1B,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAgB;IACpC,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,EAAgB;IACnC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,CAAS,EACT,CAAS,EACT,EAAoD;IAEpD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -1,18 +0,0 @@
1
- export type GeoTransform = [number, number, number, number, number, number];
2
- /**
3
- * Find the inverse of this GeoTransform.
4
- *
5
- * Ported from rasterio/affine:
6
- * https://github.com/rasterio/affine/blob/a7a916fc7012f8afeb6489246ada61a76ccb8bc7/src/affine.py#L671-L692
7
- * under the BSD-3-Clause License.
8
- *
9
- * @param {GeoTransform} gt Geotransform.
10
- *
11
- * @return {GeoTransform} Inverse of the geotransform.
12
- */
13
- export declare function invertGeoTransform(gt: GeoTransform): GeoTransform;
14
- /**
15
- * Apply a GeoTransform to a coordinate.
16
- */
17
- export declare function applyAffine(x: number, y: number, gt: [number, number, number, number, number, number]): [number, number];
18
- //# sourceMappingURL=affine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"affine.d.ts","sourceRoot":"","sources":["../../src/affine.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,YAAY,CAgBjE;AAWD;;GAEG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACnD,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlB"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Find the inverse of this GeoTransform.
3
- *
4
- * Ported from rasterio/affine:
5
- * https://github.com/rasterio/affine/blob/a7a916fc7012f8afeb6489246ada61a76ccb8bc7/src/affine.py#L671-L692
6
- * under the BSD-3-Clause License.
7
- *
8
- * @param {GeoTransform} gt Geotransform.
9
- *
10
- * @return {GeoTransform} Inverse of the geotransform.
11
- */
12
- export function invertGeoTransform(gt) {
13
- if (isDegenerate(gt)) {
14
- throw new Error("Cannot invert degenerate transform");
15
- }
16
- const idet = 1.0 / determinant(gt);
17
- const [sa, sb, sc, sd, se, sf] = gt;
18
- const ra = se * idet;
19
- const rb = -sb * idet;
20
- const rd = -sd * idet;
21
- const re = sa * idet;
22
- // prettier-ignore
23
- return [
24
- ra, rb, -sc * ra - sf * rb,
25
- rd, re, -sc * rd - sf * re,
26
- ];
27
- }
28
- function isDegenerate(gt) {
29
- return determinant(gt) === 0;
30
- }
31
- function determinant(gt) {
32
- const [a, b, _c, d, e, _f] = gt;
33
- return a * e - b * d;
34
- }
35
- /**
36
- * Apply a GeoTransform to a coordinate.
37
- */
38
- export function applyAffine(x, y, gt) {
39
- const [a, b, c, d, e, f] = gt;
40
- return [a * x + b * y + c, d * x + e * y + f];
41
- }
42
- //# sourceMappingURL=affine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"affine.js","sourceRoot":"","sources":["../../src/affine.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAgB;IACjD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,kBAAkB;IAClB,OAAO;QACH,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QAC1B,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAgB;IACpC,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,EAAgB;IACnC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,CAAS,EACT,CAAS,EACT,EAAoD;IAEpD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -1,96 +0,0 @@
1
- /**
2
- * Define [**uv coordinates**](https://en.wikipedia.org/wiki/UV_mapping) as a float-valued image-local coordinate space where the top left is `(0, 0)` and the bottom right is `(1, 1)`.
3
- *
4
- * Define [**Barycentric coordinates**](https://en.wikipedia.org/wiki/Barycentric_coordinate_system) as float-valued triangle-local coordinates, represented as a 3-tuple of floats, where the tuple must add up to 1. The coordinate represents "how close to each vertex" a point in the interior of a triangle is. I.e. `(0, 0, 1)`, `(0, 1, 0)`, and `(1, 0, 0)` are all valid barycentric coordinates that define one of the three vertices. `(1/3, 1/3, 1/3)` represents the centroid of a triangle. `(1/2, 1/2, 0)` represents a point that is halfway between vertices `a` and `b` and has "none" of vertex `c`.
5
- *
6
- *
7
- * ## Changes
8
- *
9
- * - Delatin coordinates are in terms of pixel space whereas here we use uv space.
10
- *
11
- * Originally copied from https://github.com/mapbox/delatin under the ISC
12
- * license, then subject to further modifications.
13
- */
14
- export interface ReprojectionFns {
15
- /**
16
- * Convert from UV coordinates to input CRS coordinates.
17
- *
18
- * This is the affine geotransform from the input image.
19
- */
20
- pixelToInputCRS(x: number, y: number): [number, number];
21
- /**
22
- * Convert from input CRS coordinates back to UV coordinates.
23
- *
24
- * Inverse of the affine geotransform from the input image.
25
- */
26
- inputCRSToPixel(x: number, y: number): [number, number];
27
- /**
28
- * Apply the forward projection from input CRS to output CRS.
29
- */
30
- forwardReproject(x: number, y: number): [number, number];
31
- /**
32
- * Apply the inverse projection from output CRS back to input CRS.
33
- */
34
- inverseReproject(x: number, y: number): [number, number];
35
- }
36
- export declare class RasterReprojector {
37
- reprojectors: ReprojectionFns;
38
- width: number;
39
- height: number;
40
- /**
41
- * UV vertex coordinates (x, y), i.e.
42
- * [x0, y0, x1, y1, ...]
43
- *
44
- * These coordinates are floats that range from [0, 1] in both X and Y.
45
- */
46
- uvs: number[];
47
- /**
48
- * XY Positions in output CRS, computed via exact forward reprojection.
49
- */
50
- exactOutputPositions: number[];
51
- /**
52
- * triangle vertex indices
53
- */
54
- triangles: number[];
55
- private _halfedges;
56
- /**
57
- * The UV texture coordinates of candidates found from
58
- * `findReprojectionCandidate`.
59
- *
60
- * Maybe in the future we'll want to store the barycentric coordinates instead
61
- * of just the uv coordinates?
62
- */
63
- private _candidatesUV;
64
- private _queueIndices;
65
- private _queue;
66
- private _errors;
67
- private _pending;
68
- private _pendingLen;
69
- constructor(reprojectors: ReprojectionFns, width: number, height?: number);
70
- run(maxError?: number): void;
71
- refine(): void;
72
- getMaxError(): number;
73
- private _flush;
74
- /**
75
- * Conversion of upstream's `_findCandidate` for reprojection error handling.
76
- *
77
- * @param {number} t The index (into `this.triangles`) of the pending triangle to process.
78
- *
79
- * @return {void} Doesn't return; instead modifies internal state.
80
- */
81
- private _findReprojectionCandidate;
82
- private _step;
83
- private _addPoint;
84
- _addTriangle(a: number, b: number, c: number, ab: number, bc: number, ca: number, e?: number): number;
85
- private _legalize;
86
- private _handleCollinear;
87
- private _queuePush;
88
- private _queuePop;
89
- private _queuePopBack;
90
- private _queueRemove;
91
- private _queueLess;
92
- private _queueSwap;
93
- private _queueUp;
94
- private _queueDown;
95
- }
96
- //# sourceMappingURL=delatin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delatin.d.ts","sourceRoot":"","sources":["../../src/delatin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D;AAED,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,UAAU,CAAW;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAG1B,YAAY,EAAE,eAAe,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAc;IAoCxB,GAAG,CAAC,QAAQ,GAAE,MAAU,GAAG,IAAI;IAO/B,MAAM,IAAI,IAAI;IAMd,WAAW,IAAI,MAAM;IAKrB,OAAO,CAAC,MAAM;IA4Gd;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA6HlC,OAAO,CAAC,KAAK;IA6Cb,OAAO,CAAC,SAAS;IAqBjB,YAAY,CACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,GAAE,MAA8B;IAqCnC,OAAO,CAAC,SAAS;IAiEjB,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,UAAU;CAoBnB"}