@allmaps/transform
Advanced tools
Comparing version 1.0.0-beta.6 to 1.0.0-beta.7
@@ -1,2 +0,2 @@ | ||
declare type Point = { | ||
declare type XYPoint = { | ||
x: number; | ||
@@ -32,3 +32,3 @@ y: number; | ||
export declare function GDALCreateGCPTransformer(pasGCPList: GCP[], nReqOrder: number, bReversed: boolean): GCPTransformInfo; | ||
export declare function GDALGCPTransform(pTransformArg: GCPTransformInfo, bDstToSrc: boolean, points: Point[]): { | ||
export declare function GDALGCPTransform(pTransformArg: GCPTransformInfo, bDstToSrc: boolean, points: XYPoint[]): { | ||
x: number; | ||
@@ -35,0 +35,0 @@ y: number; |
const HUGE_VAL = Number.POSITIVE_INFINITY; | ||
const MAXORDER = 3; | ||
const ERRORS = ({ | ||
const ERRORS = { | ||
MPARMERR: 'PARAMETER ERROR', | ||
@@ -8,3 +8,3 @@ MINTERR: 'INTERNAL ERROR', | ||
MNPTERR: 'NOT ENOUGH POINTS' | ||
}); | ||
}; | ||
export class GCP { | ||
@@ -80,6 +80,6 @@ constructor(dfGCPPixel, dfGCPLine, dfGCPX, dfGCPY) { | ||
getM(row, col) { | ||
return this.v[(((row) - 1) * (this.n)) + (col) - 1]; | ||
return this.v[(row - 1) * this.n + col - 1]; | ||
} | ||
setM(row, col, value) { | ||
this.v[(((row) - 1) * (this.n)) + (col) - 1] = value; | ||
this.v[(row - 1) * this.n + col - 1] = value; | ||
} | ||
@@ -264,3 +264,5 @@ } | ||
for (let j = i; j <= m.n; j++) { | ||
m.setM(i, j, m.getM(i, j) + term(i, cp.e1[n] - xMean, cp.n1[n] - yMean) * term(j, cp.e1[n] - xMean, cp.n1[n] - yMean)); | ||
m.setM(i, j, m.getM(i, j) + | ||
term(i, cp.e1[n] - xMean, cp.n1[n] - yMean) * | ||
term(j, cp.e1[n] - xMean, cp.n1[n] - yMean)); | ||
} | ||
@@ -456,6 +458,4 @@ a[i - 1] += cp.e2[n] * term(i, cp.e1[n] - xMean, cp.n1[n] - yMean); | ||
en = e1 * n1; | ||
e = E[0] + E[1] * e1 + E[2] * n1 + | ||
E[3] * e2 + E[4] * en + E[5] * n2; | ||
n = N[0] + N[1] * e1 + N[2] * n1 + | ||
N[3] * e2 + N[4] * en + N[5] * n2; | ||
e = E[0] + E[1] * e1 + E[2] * n1 + E[3] * e2 + E[4] * en + E[5] * n2; | ||
n = N[0] + N[1] * e1 + N[2] * n1 + N[3] * e2 + N[4] * en + N[5] * n2; | ||
return [e, n]; | ||
@@ -471,10 +471,24 @@ } | ||
n3 = n1 * n2; | ||
e = E[0] + | ||
E[1] * e1 + E[2] * n1 + | ||
E[3] * e2 + E[4] * en + E[5] * n2 + | ||
E[6] * e3 + E[7] * e2n + E[8] * en2 + E[9] * n3; | ||
n = N[0] + | ||
N[1] * e1 + N[2] * n1 + | ||
N[3] * e2 + N[4] * en + N[5] * n2 + | ||
N[6] * e3 + N[7] * e2n + N[8] * en2 + N[9] * n3; | ||
e = | ||
E[0] + | ||
E[1] * e1 + | ||
E[2] * n1 + | ||
E[3] * e2 + | ||
E[4] * en + | ||
E[5] * n2 + | ||
E[6] * e3 + | ||
E[7] * e2n + | ||
E[8] * en2 + | ||
E[9] * n3; | ||
n = | ||
N[0] + | ||
N[1] * e1 + | ||
N[2] * n1 + | ||
N[3] * e2 + | ||
N[4] * en + | ||
N[5] * n2 + | ||
N[6] * e3 + | ||
N[7] * e2n + | ||
N[8] * en2 + | ||
N[9] * n3; | ||
return [e, n]; | ||
@@ -481,0 +495,0 @@ } |
import type { GCPTransformInfo } from './gdaltransform.js'; | ||
import type { Coord } from './transformer.js'; | ||
export declare function svgPolygonToGeoJSONPolygon(transformArgs: GCPTransformInfo, points: Coord[], maxOffsetPercentage?: number, maxDepth?: number): { | ||
type: string; | ||
coordinates: Coord[][]; | ||
}; | ||
import type { Position, Polygon } from './shared/types.js'; | ||
export declare function svgPolygonToGeoJSONPolygon(transformArgs: GCPTransformInfo, points: Position[], maxOffsetPercentage?: number, maxDepth?: number): Polygon; |
@@ -11,3 +11,5 @@ // TODO: implement these functions in module itself | ||
} | ||
export function svgPolygonToGeoJSONPolygon(transformArgs, points, maxOffsetPercentage = 0.01, maxDepth = 8) { | ||
export function svgPolygonToGeoJSONPolygon(transformArgs, points, | ||
// TODO: set default to 0 | ||
maxOffsetPercentage = 0.01, maxDepth = 8) { | ||
if (!points || points.length < 3) { | ||
@@ -14,0 +16,0 @@ throw new Error('SVG polygon should contain at least 3 points'); |
@@ -0,9 +1,5 @@ | ||
import type { Position, ImageWorldGCP } from './shared/types.js'; | ||
import type { GCPTransformInfo } from './gdaltransform.js'; | ||
export declare type Coord = [number, number]; | ||
export declare type ImageWorldGCP = { | ||
image: Coord; | ||
world: Coord; | ||
}; | ||
export declare function toWorld(transformArgs: GCPTransformInfo, point: Coord): Coord; | ||
export declare function toImage(transformArgs: GCPTransformInfo, point: Coord): Coord; | ||
export declare function toWorld(transformArgs: GCPTransformInfo, point: Position): Position; | ||
export declare function toImage(transformArgs: GCPTransformInfo, point: Position): Position; | ||
export declare function createTransformer(gcps: ImageWorldGCP[]): GCPTransformInfo; |
{ | ||
"name": "@allmaps/transform", | ||
"version": "1.0.0-beta.6", | ||
"version": "1.0.0-beta.7", | ||
"author": { | ||
@@ -47,2 +47,3 @@ "name": "Bert Spaan", | ||
"devDependencies": { | ||
"@types/geojson": "^7946.0.10", | ||
"chai": "^4.3.4", | ||
@@ -56,3 +57,3 @@ "chai-shallow-deep-equal": "^1.4.6", | ||
}, | ||
"gitHead": "acf52dd626fc0e0bc1ec35523f90d2d6ed9e42cf" | ||
"gitHead": "2124dff13cdd0828aa891bbcd617f8a06c16dea1" | ||
} |
42302
13
634
5