Initial commit

This commit is contained in:
2026-04-15 17:08:39 +02:00
parent ae164c47a8
commit 47fd1c2b7a
1819 changed files with 685388 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
import type { GeoJSONVTInternalFeature, GeoJSONVTOptions } from './definitions';
export declare const enum AxisType {
X = 0,
Y = 1
}
/**
* clip features between two vertical or horizontal axis-parallel lines:
* | |
* ___|___ | /
* / | \____|____/
* | |
*
* @param features - the features to clip
* @param scale - the scale to divide start and end inputs
* @param start - the start of the clip range
* @param end - the end of the clip range
* @param axis - which axis to clip against
* @param minAll - the minimum for all features in the relevant axis
* @param maxAll - the maximum for all features in the relevant axis
*/
export declare function clip(features: GeoJSONVTInternalFeature[], scale: number, start: number, end: number, axis: AxisType, minAll: number, maxAll: number, options: GeoJSONVTOptions): GeoJSONVTInternalFeature[] | null;
//# sourceMappingURL=clip.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"clip.d.ts","sourceRoot":"","sources":["../src/clip.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAyN,gBAAgB,EAAqB,MAAM,eAAe,CAAC;AAE1T,0BAAkB,QAAQ;IACtB,CAAC,IAAI;IACL,CAAC,IAAI;CACR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,EAAE,GAAG,IAAI,CA2DlN"}
+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=clip.test.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"clip.test.d.ts","sourceRoot":"","sources":["../src/clip.test.ts"],"names":[],"mappings":""}
+76
View File
@@ -0,0 +1,76 @@
import KDBush from 'kdbush';
import type { ClusterOrPointFeature, GeoJSONVTTileIndex, GeoJSONVTInternalFeature, GeoJSONVTInternalPointFeature, GeoJSONVTOptions, GeoJSONVTTile, SuperclusterOptions } from './definitions';
/** @internal */
export type KDBushWithData = KDBush & {
flatData: number[];
};
export declare const defaultClusterOptions: Required<SuperclusterOptions>;
/**
* This class allow clustering of geojson points.
*/
export declare class ClusterTileIndex implements GeoJSONVTTileIndex {
options: Required<SuperclusterOptions>;
trees: KDBushWithData[];
stride: number;
clusterProps: Record<string, unknown>[];
points: GeoJSONVTInternalPointFeature[];
constructor(options?: SuperclusterOptions);
/**
* Loads GeoJSON point features and builds the internal clustering index.
* @param points - GeoJSON point features to cluster.
*/
load(points: GeoJSON.Feature<GeoJSON.Point>[]): void;
/**
* @internal
* Loads internal GeoJSONVT point features from a data source and builds the clustering index.
* @param features - {@link GeoJSONVTInternalFeature} data source features to filter and cluster.
*/
initialize(features: GeoJSONVTInternalFeature[]): void;
/**
* @internal
* Updates the cluster data by rebuilding.
* @param features
*/
updateIndex(features: GeoJSONVTInternalFeature[], _affected: GeoJSONVTInternalFeature[], options: GeoJSONVTOptions): void;
private createIndex;
/**
* Returns clusters and/or points within a bounding box at a given zoom level.
* @param bbox - Bounding box in `[westLng, southLat, eastLng, northLat]` order.
* @param zoom - Zoom level to query.
*/
getClusters(bbox: [number, number, number, number], zoom: number): ClusterOrPointFeature[];
private getClustersInternal;
/**
* Returns the immediate children (clusters or points) of a cluster as GeoJSON.
* @param clusterId - The target cluster id.
*/
getChildren(clusterId: number): ClusterOrPointFeature[];
/**
* Returns leaf point features under a cluster, paginated by `limit` and `offset`.
* @param clusterId - The target cluster id.
* @param limit - Maximum number of points to return (defaults to `10`).
* @param offset - Number of points to skip before collecting results (defaults to `0`).
*/
getLeaves(clusterId: number, limit?: number, offset?: number): GeoJSON.Feature<GeoJSON.Point>[];
/**
* Generates a vector-tile-like representation of a single tile.
* @param z - Tile zoom.
* @param x - Tile x coordinate.
* @param y - Tile y coordinate.
*/
getTile(z: number, x: number, y: number): GeoJSONVTTile | null;
/**
* Returns the zoom level at which a cluster expands into multiple children.
* @param clusterId - The target cluster id.
*/
getClusterExpansionZoom(clusterId: number): number;
private appendLeaves;
private createTree;
private addTileFeatures;
private limitZoom;
private cluster;
private getOriginId;
private getOriginZoom;
private map;
}
//# sourceMappingURL=cluster-tile-index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"cluster-tile-index.d.ts","sourceRoot":"","sources":["../src/cluster-tile-index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAAiB,qBAAqB,EAAqB,kBAAkB,EAAoB,wBAAwB,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAQjP,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,mBAAmB,CAW/D,CAAC;AAQF;;GAEG;AACH,qBAAa,gBAAiB,YAAW,kBAAkB;IACvD,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACvC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACxC,MAAM,EAAE,6BAA6B,EAAE,CAAC;gBAE5B,OAAO,CAAC,EAAE,mBAAmB;IAQzC;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI;IAyBpD;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,wBAAwB,EAAE,GAAG,IAAI;IAWtD;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,gBAAgB;IAKlH,OAAO,CAAC,WAAW;IAiDnB;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAKjG,OAAO,CAAC,mBAAmB;IA0B3B;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,EAAE;IA4BvD;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IAU/F;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAsC9D;;;OAGG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,OAAO;IAmFf,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,GAAG;CASd"}
+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=cluster-tile-index.test.d.ts.map
@@ -0,0 +1 @@
{"version":3,"file":"cluster-tile-index.test.d.ts","sourceRoot":"","sources":["../src/cluster-tile-index.test.ts"],"names":[],"mappings":""}
+17
View File
@@ -0,0 +1,17 @@
import type { GeoJSONVTInternalFeature, GeoJSONVTOptions } from './definitions';
/**
* converts GeoJSON to internal source features (an intermediate projected JSON vector format with simplification data)
* @param data
* @param options
* @returns
*/
export declare function convertToInternal(data: GeoJSON.GeoJSON, options: GeoJSONVTOptions): GeoJSONVTInternalFeature[];
/**
* Convert longitude to spherical mercator in [0..1] range
*/
export declare function projectX(x: number): number;
/**
* Convert latitude to spherical mercator in [0..1] range
*/
export declare function projectY(y: number): number;
//# sourceMappingURL=convert.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,wBAAwB,EAAE,gBAAgB,EAAoB,MAAM,eAAe,CAAC;AAEjG;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,EAAE,CAiB9G;AA6JD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,UAEjC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,UAIjC"}
+19
View File
@@ -0,0 +1,19 @@
import type { GeoJSONVTInternalFeature } from './definitions';
/**
* Converts internal source features back to GeoJSON format.
*/
export declare function convertToGeoJSON(source: GeoJSONVTInternalFeature[]): GeoJSON.GeoJSON;
/**
* Converts a single internal feature to GeoJSON format.
*/
export declare function featureToGeoJSON(feature: GeoJSONVTInternalFeature): GeoJSON.Feature;
export declare function unprojectPoints(coords: number[]): GeoJSON.Position[];
/**
* Convert spherical mercator in [0..1] range to longitude
*/
export declare function unprojectX(x: number): number;
/**
* Convert spherical mercator in [0..1] range to latitude
*/
export declare function unprojectY(y: number): number;
//# sourceMappingURL=deconvert.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"deconvert.d.ts","sourceRoot":"","sources":["../src/deconvert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,eAAe,CAAC;AAE5D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,OAAO,CAOpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAWnF;AAoCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAQpE;AAMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5C"}
+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=deconvert.test.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"deconvert.test.d.ts","sourceRoot":"","sources":["../src/deconvert.test.ts"],"names":[],"mappings":""}
+241
View File
@@ -0,0 +1,241 @@
export type GeoJSONVTOptions = {
/**
* Max zoom to preserve detail on
* @default 14
*/
maxZoom?: number;
/**
* Max zoom in the tile index
* @default 5
*/
indexMaxZoom?: number;
/**
* Max number of points per tile in the tile index
* @default 100000
*/
indexMaxPoints?: number;
/**
* Simplification tolerance (higher means simpler)
* @default 3
*/
tolerance?: number;
/**
* Tile extent
* @default 4096
*/
extent?: number;
/**
* Tile buffer on each side
* @default 64
*/
buffer?: number;
/**
* Whether to calculate line metrics
* @default false
*/
lineMetrics?: boolean;
/**
* Name of a feature property to be promoted to feature.id
*/
promoteId?: string | null;
/**
* Whether to generate feature ids. Cannot be used with promoteId
* @default false
*/
generateId?: boolean;
/**
* Whether geojson can be updated (with caveat of a stored simplified copy)
* @default false
*/
updateable?: boolean;
/**
* Logging level (0, 1 or 2)
* @default 0
*/
debug?: number;
/**
* Enable Supercluster for point features.
* @default false
*/
cluster?: boolean;
/**
* Options for the Supercluster point clustering algorithm.
* @see {@link SuperclusterOptions}
*/
clusterOptions?: SuperclusterOptions;
};
export type GeoJSONToTileOptions = GeoJSONVTOptions & {
/**
* Whether to wrap features around the antimeridian
* @default false
*/
wrap?: boolean;
/**
* Whether to clip features to the tile boundary
* @default false
*/
clip?: boolean;
};
export type StartEndSizeArray = number[] & {
start?: number;
end?: number;
size?: number;
};
export type PartialGeoJSONVTFeature = {
id?: number | string | undefined;
tags: GeoJSON.GeoJsonProperties;
minX?: number;
minY?: number;
maxX?: number;
maxY?: number;
};
export type GeoJSONVTInternalPointFeature = PartialGeoJSONVTFeature & {
type: 'Point';
geometry: number[];
};
export type GeoJSONVTInternalMultiPointFeature = PartialGeoJSONVTFeature & {
type: 'MultiPoint';
geometry: number[];
};
export type GeoJSONVTInternalLineStringFeature = PartialGeoJSONVTFeature & {
type: 'LineString';
geometry: StartEndSizeArray;
};
export type GeoJSONVTInternalMultiLineStringFeature = PartialGeoJSONVTFeature & {
type: 'MultiLineString';
geometry: StartEndSizeArray[];
};
export type GeoJSONVTInternalPolygonFeature = PartialGeoJSONVTFeature & {
type: 'Polygon';
geometry: StartEndSizeArray[];
};
export type GeoJSONVTInternalMultiPolygonFeature = PartialGeoJSONVTFeature & {
type: 'MultiPolygon';
geometry: StartEndSizeArray[][];
};
export type GeoJSONVTInternalFeature = GeoJSONVTInternalPointFeature | GeoJSONVTInternalMultiPointFeature | GeoJSONVTInternalLineStringFeature | GeoJSONVTInternalMultiLineStringFeature | GeoJSONVTInternalPolygonFeature | GeoJSONVTInternalMultiPolygonFeature;
/**
* The geojson properies related to a cluster.
*/
export type ClusterProperties = {
cluster: true;
cluster_id: number;
point_count: number;
point_count_abbreviated: string | number;
[key: string]: unknown;
};
/**
* A geojson point with cluster properties, see {@link ClusterProperties}.
*/
export type ClusterFeature = GeoJSON.Feature<GeoJSON.Point, ClusterProperties>;
/**
* A geojson point that is either a regular point or a cluster, which is a point with cluster properties.
* See {@link ClusterFeature} for more information
*/
export type ClusterOrPointFeature = ClusterFeature | GeoJSON.Feature<GeoJSON.Point>;
export type GeoJSONVTInternalTileFeaturePoint = {
id?: number | string | undefined;
type: 1;
tags: GeoJSON.GeoJsonProperties | null;
geometry: number[];
};
export type GeoJSONVTInternalTileFeatureNonPoint = {
id?: number | string | undefined;
type: 2 | 3;
tags: GeoJSON.GeoJsonProperties | null;
geometry: number[][];
};
export type GeoJSONVTInternalTileFeature = GeoJSONVTInternalTileFeaturePoint | GeoJSONVTInternalTileFeatureNonPoint;
export type GeoJSONVTInternalTile = {
transformed: boolean;
features: GeoJSONVTInternalTileFeature[];
source: GeoJSONVTInternalFeature[] | null;
x: number;
y: number;
z: number;
minX?: number;
minY?: number;
maxX?: number;
maxY?: number;
numPoints?: number;
numSimplified?: number;
numFeatures?: number;
};
export type GeoJSONVTFeaturePoint = {
id?: number | string | undefined;
type: 1;
tags: GeoJSON.GeoJsonProperties | null;
geometry: [number, number][];
};
export type GeoJSONVTFeatureNonPoint = {
id?: number | string | undefined;
type: 2 | 3;
tags: GeoJSON.GeoJsonProperties | null;
geometry: [number, number][][];
};
export type GeoJSONVTFeature = GeoJSONVTFeaturePoint | GeoJSONVTFeatureNonPoint;
export type GeoJSONVTTile = GeoJSONVTInternalTile & {
transformed: true;
features: GeoJSONVTFeature[];
};
export interface GeoJSONVTTileIndex {
initialize(features: GeoJSONVTInternalFeature[]): void;
updateIndex(source: GeoJSONVTInternalFeature[], affected: GeoJSONVTInternalFeature[], options: GeoJSONVTOptions): void;
getClusterExpansionZoom(clusterId: number): number | null;
getChildren(clusterId: number): ClusterOrPointFeature[] | null;
getLeaves(clusterId: number, limit?: number, offset?: number): GeoJSON.Feature<GeoJSON.Point>[] | null;
getTile(z: number, x: number, y: number): GeoJSONVTTile | null;
}
export type SuperclusterOptions = {
/**
* Min zoom to generate clusters on
* @default 0
*/
minZoom?: number;
/**
* Max zoom level to cluster the points on
* @default 16
*/
maxZoom?: number;
/**
* Minimum points to form a cluster
* @default 2
*/
minPoints?: number;
/**
* Cluster radius in pixels
* @default 40
*/
radius?: number;
/**
* Tile extent (radius is calculated relative to it)
* @default 512
*/
extent?: number;
/**
* Size of the KD-tree leaf node, affects performance
* @default 64
*/
nodeSize?: number;
/**
* Whether to log timing info
* @default false
*/
log?: boolean;
/**
* Whether to generate numeric ids for input features (in vector tiles)
* @default false
*/
generateId?: boolean;
/**
* A reduce function for calculating custom cluster properties
* @default null
*/
reduce?: ((accumulated: Record<string, unknown>, props: Record<string, unknown>) => void) | null;
/**
* Properties to use for individual points when running the reducer
* @default props => props
*/
map?: (props: GeoJSON.GeoJsonProperties) => Record<string, unknown>;
};
//# sourceMappingURL=definitions.d.ts.map
File diff suppressed because one or more lines are too long
+74
View File
@@ -0,0 +1,74 @@
import type { GeoJSONVTInternalFeature, GeoJSONVTOptions } from './definitions';
export type GeoJSONVTSourceDiff = {
/**
* If true, clear all existing features
*/
removeAll?: boolean;
/**
* Array of feature IDs to remove
*/
remove?: (string | number)[];
/**
* Array of GeoJSON features to add
*/
add?: GeoJSON.Feature[];
/**
* Array of per-feature updates
*/
update?: GeoJSONVTFeatureDiff[];
};
export type GeoJSONVTFeatureDiff = {
/**
* ID of the feature being updated
*/
id: string | number;
/**
* Optional new geometry
*/
newGeometry?: GeoJSON.Geometry;
/**
* Remove all properties if true
*/
removeAllProperties?: boolean;
/**
* Specific properties to delete
*/
removeProperties?: string[];
/**
* Properties to add or update
*/
addOrUpdateProperties?: {
key: string;
value: unknown;
}[];
};
export type ApplySourceDiffResult = {
/**
* The features affected by this update, which should be used to invalidate tiles
*/
affected: GeoJSONVTInternalFeature[];
/**
* The updated source data, which should replace the existing source data in the index
*/
source: GeoJSONVTInternalFeature[];
};
type HashedGeoJSONVTSourceDiff = {
removeAll?: boolean | undefined;
remove: Set<string | number>;
add: Map<string | number | undefined, GeoJSON.Feature>;
update: Map<string | number, GeoJSONVTFeatureDiff>;
};
/**
* Applies a GeoJSON Source Diff to an existing set of simplified features
* @param source
* @param dataDiff
* @param options
* @returns
*/
export declare function applySourceDiff(source: GeoJSONVTInternalFeature[], dataDiff: GeoJSONVTSourceDiff, options: GeoJSONVTOptions): ApplySourceDiffResult;
/**
* Convert a GeoJSON Source Diff to an idempotent hashed representation using Sets and Maps
*/
export declare function diffToHashed(diff: GeoJSONVTSourceDiff): HashedGeoJSONVTSourceDiff;
export {};
//# sourceMappingURL=difference.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"difference.d.ts","sourceRoot":"","sources":["../src/difference.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC/B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;OAEG;IACH,qBAAqB,CAAC,EAAE;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC;KAClB,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC;;OAEG;IACH,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACtC,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC7B,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACtD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,GAAG,qBAAqB,CA6DnJ;AAqED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,yBAAyB,CAejF"}
+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=difference.test.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"difference.test.d.ts","sourceRoot":"","sources":["../src/difference.test.ts"],"names":[],"mappings":""}
+20
View File
@@ -0,0 +1,20 @@
import type { GeoJSONVTInternalFeature, GeoJSONVTInternalLineStringFeature, GeoJSONVTInternalMultiLineStringFeature, GeoJSONVTInternalMultiPointFeature, GeoJSONVTInternalMultiPolygonFeature, GeoJSONVTInternalPointFeature, GeoJSONVTInternalPolygonFeature } from "./definitions";
type FeatureTypeMap = {
Point: GeoJSONVTInternalPointFeature["geometry"];
MultiPoint: GeoJSONVTInternalMultiPointFeature["geometry"];
LineString: GeoJSONVTInternalLineStringFeature["geometry"];
MultiLineString: GeoJSONVTInternalMultiLineStringFeature["geometry"];
Polygon: GeoJSONVTInternalPolygonFeature["geometry"];
MultiPolygon: GeoJSONVTInternalMultiPolygonFeature["geometry"];
};
/**
*
* @param id - the feature's ID
* @param type - the feature's type
* @param geom - the feature's geometry
* @param tags - the feature's properties
* @returns the created feature
*/
export declare function createFeature<T extends GeoJSONVTInternalFeature["type"]>(id: number | string | undefined, type: T, geom: FeatureTypeMap[T], tags: GeoJSON.GeoJsonProperties): GeoJSONVTInternalFeature;
export {};
//# sourceMappingURL=feature.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../src/feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,kCAAkC,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAErR,KAAK,cAAc,GAAG;IAClB,KAAK,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACjD,UAAU,EAAE,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAC3D,UAAU,EAAE,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAC3D,eAAe,EAAE,uCAAuC,CAAC,UAAU,CAAC,CAAC;IACrE,OAAO,EAAE,+BAA+B,CAAC,UAAU,CAAC,CAAC;IACrD,YAAY,EAAE,oCAAoC,CAAC,UAAU,CAAC,CAAC;CAClE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CA0CtM"}
+35
View File
@@ -0,0 +1,35 @@
import type { GeoJSONToTileOptions, GeoJSONVTTile } from './definitions';
/**
* Converts GeoJSON data directly to a single vector tile without building a tile index.
*
* Unlike the {@link GeoJSONVT} class which builds a hierarchical tile index for efficient
* repeated tile access, this function generates a single tile on-demand. This is useful when:
* - You only need one specific tile and don't need to query multiple tiles
* - The source data is already spatially filtered to the tile's bounding box
* - You want to avoid the overhead of building a full tile index
*
* @example
* ```ts
* import {geoJSONToTile} from '@maplibre/geojson-vt';
*
* const geojson = {
* type: 'FeatureCollection',
* features: [{
* type: 'Feature',
* geometry: { type: 'Point', coordinates: [-77.03, 38.90] },
* properties: { name: 'Washington, D.C.' }
* }]
* };
*
* const tile = geoJSONToTile(geojson, 10, 292, 391, { extent: 4096 });
* ```
*
* @param data - GeoJSON data (Feature, FeatureCollection, or Geometry)
* @param z - Tile zoom level
* @param x - Tile x coordinate
* @param y - Tile y coordinate
* @param options - Optional configuration for tile generation
* @returns The generated tile with geometries in tile coordinates, or null if no features
*/
export declare function geoJSONToTile(data: GeoJSON.GeoJSON, z: number, x: number, y: number, options?: GeoJSONToTileOptions): GeoJSONVTTile;
//# sourceMappingURL=geojson-to-tile.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"geojson-to-tile.d.ts","sourceRoot":"","sources":["../src/geojson-to-tile.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAgBvI"}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+76
View File
@@ -0,0 +1,76 @@
import { type GeoJSONVTSourceDiff } from './difference';
import type { ClusterOrPointFeature, GeoJSONVTOptions, GeoJSONVTTile, SuperclusterOptions } from './definitions';
export declare const defaultOptions: GeoJSONVTOptions;
/**
* Main class for creating and managing a vector tile index from GeoJSON data.
*/
export declare class GeoJSONVT {
/**
* @internal
* This is for the tests
*/
get tiles(): any;
/**
* @internal
* This is for the tests
*/
get stats(): any;
/**
* @internal
* This is for the tests
*/
get total(): any;
private options;
private source?;
private tileIndex;
constructor(data: GeoJSON.GeoJSON, options?: GeoJSONVTOptions);
private initializeIndex;
/**
* Given z, x, and y tile coordinates, returns the corresponding tile with geometries in tile coordinates, much like MVT data is stored.
* @param z - tile zoom level
* @param x - tile x coordinate
* @param y - tile y coordinate
* @returns the transformed tile or null if not found
*/
getTile(z: number | string, x: number | string, y: number | string): GeoJSONVTTile | null;
/**
* Updates the source data feature set using a {@link GeoJSONVTSourceDiff}
* @param diff - the source diff object
*/
updateData(diff: GeoJSONVTSourceDiff, filter?: (feature: GeoJSON.Feature) => boolean): void;
/**
* Filter an update using a predicate function. Returns the affected and updated source features.
*/
private filterUpdate;
/**
* Returns source data as GeoJSON - only available when `updateable` option is set to true.
*/
getData(): GeoJSON.GeoJSON;
/**
* Update supercluster options and regenerate the index.
* @param cluster - whether to enable clustering
* @param clusterOptions - {@link SuperclusterOptions}
*/
updateClusterOptions(cluster: boolean, clusterOptions: SuperclusterOptions): void;
/**
* Returns the zoom level at which a cluster expands into multiple children.
* @param clusterId - The target cluster id.
* @returns the expansion zoom or null in case of non-clustered source
*/
getClusterExpansionZoom(clusterId: number): number | null;
/**
* Returns the immediate children (clusters or points) of a cluster as GeoJSON.
* @param clusterId - The target cluster id.
* @returns the immediate children or null in case of non-clustered source
*/
getClusterChildren(clusterId: number): ClusterOrPointFeature[] | null;
/**
* Returns leaf point features under a cluster, paginated by `limit` and `offset`.
* @param clusterId - The target cluster id.
* @param limit - Maximum number of points to return (defaults to `10`).
* @param offset - Number of points to skip before collecting results (defaults to `0`).
* @returns leaf point features under a cluster or null in case of non-clustered source
*/
getClusterLeaves(clusterId: number, limit: number, offset: number): GeoJSON.Feature<GeoJSON.Point>[] | null;
}
//# sourceMappingURL=geojsonvt.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"geojsonvt.d.ts","sourceRoot":"","sources":["../src/geojsonvt.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAGvE,OAAO,KAAK,EAAC,qBAAqB,EAAgD,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAE7J,eAAO,MAAM,cAAc,EAAE,gBAc5B,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAS;IAElB;;;OAGG;IACH,IAAW,KAAK,QAGf;IACD;;;OAGG;IACH,IAAW,KAAK,QAGf;IACA;;;MAGE;IACH,IAAW,KAAK,QAGf;IAED,OAAO,CAAC,OAAO,CAAmB;IAElC,OAAO,CAAC,MAAM,CAAC,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAqB;gBAE1B,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB;IA8B7D,OAAO,CAAC,eAAe;IAMvB;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,IAAI;IAUzF;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO;IAqBpF;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO;IAK1B;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB;IAa1E;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIzD;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,EAAE,GAAG,IAAI;IAIrE;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI;CAG9G"}
+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=geojsonvt.test.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"geojsonvt.test.d.ts","sourceRoot":"","sources":["../src/geojsonvt.test.ts"],"names":[],"mappings":""}
+10
View File
@@ -0,0 +1,10 @@
import type { GeoJSONVTFeatureDiff, GeoJSONVTSourceDiff } from './difference';
import type { GeoJSONVTInternalFeature, GeoJSONVTInternalLineStringFeature, GeoJSONVTInternalMultiLineStringFeature, GeoJSONVTInternalMultiPointFeature, GeoJSONVTInternalMultiPolygonFeature, GeoJSONVTInternalPointFeature, GeoJSONVTInternalPolygonFeature, GeoJSONVTOptions, GeoJSONToTileOptions, PartialGeoJSONVTFeature, StartEndSizeArray, ClusterProperties, ClusterFeature, ClusterOrPointFeature, GeoJSONVTTile, GeoJSONVTFeature, GeoJSONVTFeaturePoint, GeoJSONVTFeatureNonPoint, GeoJSONVTInternalTileFeaturePoint, GeoJSONVTInternalTileFeatureNonPoint, GeoJSONVTInternalTile, GeoJSONVTInternalTileFeature, GeoJSONVTTileIndex, SuperclusterOptions } from './definitions';
import type { KDBushWithData } from './cluster-tile-index';
import { GeoJSONVT } from './geojsonvt';
import { ClusterTileIndex } from './cluster-tile-index';
import { geoJSONToTile } from './geojson-to-tile';
import { GEOJSONVT_CLIP_START, GEOJSONVT_CLIP_END } from './tile';
export { GeoJSONVT, ClusterTileIndex as Supercluster, geoJSONToTile, GEOJSONVT_CLIP_START, GEOJSONVT_CLIP_END };
export type { GeoJSONVTInternalFeature, GeoJSONVTOptions, GeoJSONToTileOptions, GeoJSONVTInternalTile, GeoJSONVTInternalTileFeature, PartialGeoJSONVTFeature, StartEndSizeArray, GeoJSONVTTile, GeoJSONVTFeature, GeoJSONVTSourceDiff, GeoJSONVTFeatureDiff, GeoJSONVTFeaturePoint, GeoJSONVTFeatureNonPoint, GeoJSONVTInternalTileFeaturePoint, GeoJSONVTInternalTileFeatureNonPoint, GeoJSONVTInternalPointFeature, GeoJSONVTInternalMultiPointFeature, GeoJSONVTInternalLineStringFeature, GeoJSONVTInternalMultiLineStringFeature, GeoJSONVTInternalPolygonFeature, GeoJSONVTInternalMultiPolygonFeature, SuperclusterOptions, ClusterProperties, ClusterFeature, ClusterOrPointFeature, KDBushWithData, GeoJSONVTTileIndex };
//# sourceMappingURL=index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAC,wBAAwB,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,kCAAkC,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,oCAAoC,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAC1pB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,QAAQ,CAAC;AAEhE,OAAO,EACH,SAAS,EACT,gBAAgB,IAAI,YAAY,EAChC,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EACrB,CAAA;AAED,YAAY,EACR,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,iCAAiC,EACjC,oCAAoC,EACpC,6BAA6B,EAC7B,kCAAkC,EAClC,kCAAkC,EAClC,uCAAuC,EACvC,+BAA+B,EAC/B,oCAAoC,EACpC,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EACrB,CAAC"}
+9
View File
@@ -0,0 +1,9 @@
/**
* calculate simplification data using optimized Douglas-Peucker algorithm
* @param coords - flat array of coordinates
* @param first - index of the first coordinate in the segment
* @param last - index of the last coordinate in the segment
* @param sqTolerance - square tolerance value
*/
export declare function simplify(coords: number[], first: number, last: number, sqTolerance: number): void;
//# sourceMappingURL=simplify.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"simplify.d.ts","sourceRoot":"","sources":["../src/simplify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAqC1F"}
+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=simplify.test.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"simplify.test.d.ts","sourceRoot":"","sources":["../src/simplify.test.ts"],"names":[],"mappings":""}
+51
View File
@@ -0,0 +1,51 @@
import type { GeoJSONVTInternalFeature, GeoJSONVTOptions, ClusterOrPointFeature, GeoJSONVTTileIndex, GeoJSONVTInternalTile, GeoJSONVTTile } from "./definitions";
export declare class TileIndex implements GeoJSONVTTileIndex {
private options;
private tileCoords;
/** @internal */
tiles: {
[key: string]: GeoJSONVTInternalTile;
};
/** @internal */
stats: {
[key: string]: number;
};
/** @internal */
total: number;
constructor(options: GeoJSONVTOptions);
initialize(features: GeoJSONVTInternalFeature[]): void;
/** {@inheritdoc} */
updateIndex(source: GeoJSONVTInternalFeature[], affected: GeoJSONVTInternalFeature[], options: GeoJSONVTOptions): void;
/** {@inheritdoc} */
getClusterExpansionZoom(_clusterId: number): number | null;
/** {@inheritdoc} */
getChildren(_clusterId: number): ClusterOrPointFeature[] | null;
/** {@inheritdoc} */
getLeaves(_clusterId: number, _limit?: number, _offset?: number): GeoJSON.Feature<GeoJSON.Point>[] | null;
/** {@inheritdoc} */
getTile(z: number, x: number, y: number): GeoJSONVTTile | null;
/**
* splits features from a parent tile to sub-tiles.
* z, x, and y are the coordinates of the parent tile
* cz, cx, and cy are the coordinates of the target tile
*
* If no target tile is specified, splitting stops when we reach the maximum
* zoom or the number of points is low as specified in the options.
* @internal
* @param features - features to split
* @param z - tile zoom level
* @param x - tile x coordinate
* @param y - tile y coordinate
* @param cz - target tile zoom level
* @param cx - target tile x coordinate
* @param cy - target tile y coordinate
*/
private splitTile;
/**
* Invalidates (removes) tiles affected by the provided features
* @internal
* @param features
*/
private invalidateTiles;
}
//# sourceMappingURL=tile-index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"tile-index.d.ts","sourceRoot":"","sources":["../src/tile-index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjK,qBAAa,SAAU,YAAW,kBAAkB;IAWpC,OAAO,CAAC,OAAO;IAT3B,OAAO,CAAC,UAAU,CAAkD;IAEpE,gBAAgB;IACT,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAC,CAAC;IACrD,gBAAgB;IACT,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAM;IAC3C,gBAAgB;IACT,KAAK,EAAE,MAAM,CAAK;gBAEL,OAAO,EAAE,gBAAgB;IAO7C,UAAU,CAAC,QAAQ,EAAE,wBAAwB,EAAE,GAAG,IAAI;IAWtD,oBAAoB;IACpB,WAAW,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IA2BtH,oBAAoB;IAEpB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI1D,oBAAoB;IAEpB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,EAAE,GAAG,IAAI;IAI/D,oBAAoB;IAEpB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI;IAIzG,oBAAoB;IACpB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAwC9D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,SAAS;IA4FjB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CAuE1B"}
+14
View File
@@ -0,0 +1,14 @@
import type { GeoJSONVTInternalFeature, GeoJSONVTInternalTile, GeoJSONVTOptions } from "./definitions";
export declare const GEOJSONVT_CLIP_START = "geojsonvt_clip_start";
export declare const GEOJSONVT_CLIP_END = "geojsonvt_clip_end";
/**
* Creates a tile object from the given features
* @param features - the features to include in the tile
* @param z
* @param tx
* @param ty
* @param options - the options object
* @returns the created tile
*/
export declare function createTile(features: GeoJSONVTInternalFeature[], z: number, tx: number, ty: number, options: GeoJSONVTOptions): GeoJSONVTInternalTile;
//# sourceMappingURL=tile.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAyN,qBAAqB,EAAgC,gBAAgB,EAAqB,MAAM,eAAe,CAAC;AAE/W,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,qBAAqB,CAwBpJ"}
+10
View File
@@ -0,0 +1,10 @@
import type { GeoJSONVTInternalTile, GeoJSONVTTile } from "./definitions";
/**
* Transforms the coordinates of each feature in the given tile from
* mercator-projected space into (extent x extent) tile space.
* @param tile - the tile to transform, this gets modified in place
* @param extent - the tile extent (usually 4096)
* @returns the transformed tile
*/
export declare function transformTile(tile: GeoJSONVTInternalTile, extent: number): GeoJSONVTTile;
//# sourceMappingURL=transform.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmD,qBAAqB,EAA2E,aAAa,EAAE,MAAM,eAAe,CAAC;AAEpM;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAmBxF"}
+3
View File
@@ -0,0 +1,3 @@
import type { GeoJSONVTInternalFeature, GeoJSONVTOptions } from './definitions';
export declare function wrap(features: GeoJSONVTInternalFeature[], options: GeoJSONVTOptions): GeoJSONVTInternalFeature[];
//# sourceMappingURL=wrap.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAqB,MAAM,eAAe,CAAC;AAGnG,wBAAgB,IAAI,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,EAAE,CAehH"}