osm2geojson-lite
Version:
a lightweight yet faster osm (either in xml or in json formats) to geojson convertor - 4x faster than xmldom + osmtogeojson in most situations - implemented in pure JavaScript without any 3rd party dependency
74 lines (73 loc) • 1.92 kB
TypeScript
import { Feature } from 'geojson';
import { RefElements } from './utils';
declare class OsmObject {
refCount: number;
protected refElems: RefElements;
private type;
private id;
private tags;
private props;
private hasTag;
constructor(type: string, id: string, refElems: RefElements);
addTags(tags: {
[k: string]: string;
}): void;
addTag(k: string, v: string): void;
addProp(k: string, v: any): void;
addProps(props: {
[k: string]: string;
}): void;
getCompositeId(): string;
getProps(): {
[k: string]: string;
};
toFeatureArray(): Array<Feature<any, any>>;
}
export declare class Node extends OsmObject {
private latLng;
constructor(id: string, refElems: RefElements);
setLatLng(latLng: {
lat: string;
lon: string;
}): void;
toFeatureArray(): Array<Feature<any, any>>;
getLatLng(): {
lat: string;
lon: string;
} | null;
}
export declare class Way extends OsmObject {
private latLngArray;
private isPolygon;
constructor(id: string, refElems: RefElements);
addLatLng(latLng: {
lat: string;
lon: string;
}): void;
setLatLngArray(latLngArray: Array<{
lat: string;
lon: string;
[k: string]: any;
}>): void;
addNodeRef(ref: string): void;
addTags(tags: {
[k: string]: string;
}): void;
addTag(k: string, v: string): void;
toCoordsArray(): string[][];
toFeatureArray(): Array<Feature<any, any>>;
private analyzeTag;
}
export declare class Relation extends OsmObject {
private relations;
private nodes;
private bounds;
[k: string]: any;
constructor(id: string, refElems: RefElements);
setBounds(bounds: any[]): void;
addMember(member: {
[k: string]: any;
}): void;
toFeatureArray(): Array<Feature<any, any>>;
}
export {};