s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
140 lines • 5.75 kB
TypeScript
import { type GTFSAgency } from './agency';
import { type GTFSArea } from './areas';
import { type GTFSAttribution } from './attributions';
import { type GTFSBookingRule } from './bookingRules';
import { type GTFSCalendar } from './calendar';
import { type GTFSCalendarDate } from './calendarDates';
import { type GTFSFareAttribute } from './fareAttributes';
import { type GTFSFareLegJoinRule } from './fareLegJoinRules';
import { type GTFSFareLegRule } from './fareLegRules';
import { type GTFSFareMedia } from './fareMedia';
import { type GTFSFareProduct } from './fareProducts';
import { type GTFSFareRule } from './fareRules';
import { type GTFSFareTransferRule } from './fareTransferRules';
import { type GTFSFeedInfo } from './feedInfo';
import { type GTFSFrequency } from './frequencies';
import { type GTFSLevel } from './levels';
import { type GTFSLocationGroup } from './locationGroups';
import { type GTFSLocationGroupStop } from './locationGroupStops';
import { type GTFSNetwork } from './networks';
import { type GTFSPathway } from './pathways';
import { type GTFSRoute } from './routes';
import { type GTFSRouteNetwork } from './routeNetworks';
import { GTFSShapeProperties } from './shapes';
import { type GTFSStop, type GTFSStopProperties } from './stops';
import { type GTFSStopArea } from './stopAreas';
import { type GTFSStopTime } from './stopTimes';
import { type GTFSTimeframe } from './timeframes';
import { type GTFSTransfer } from './transfers';
import { type GTFSTranslation } from './translations';
import { type GTFSTrip } from './trips';
import { BufferJSONReader } from '../../';
import type { FeatureIterator } from '../..';
import type { Feature, LineStringGeometry, MValue, MultiPolygonGeometry, PointGeometry, PolygonGeometry, Properties } from '../../../geometry';
export * from './agency';
export * from './areas';
export * from './attributions';
export * from './bookingRules';
export * from './calendar';
export * from './calendarDates';
export * from './fareAttributes';
export * from './fareLegJoinRules';
export * from './fareLegRules';
export * from './fareMedia';
export * from './fareProducts';
export * from './fareRules';
export * from './fareTransferRules';
export * from './feedInfo';
export * from './frequencies';
export * from './levels';
export * from './locationGroups';
export * from './locationGroupStops';
export * from './networks';
export * from './pathways';
export * from './routeNetworks';
export * from './routes';
export * from './shapes';
export * from './stopAreas';
export * from './stops';
export * from './stopTimes';
export * from './timeframes';
export * from './transfers';
export * from './translations';
export * from './trips';
/** A piece of the GTFS schedule */
export interface Piece {
filename: string;
data: string;
}
/**
* `locations.geojson` data properties
* Defines zones where riders can request either pickup or drop off by on-demand services.
* These zones are represented as GeoJSON polygons.
*/
export interface GTFSLocationsProperties extends Properties {
stop_name: string;
stop_desc: string;
}
/**
* # GTFS Schedule Reader
*
* ## Description
* Schedule class that pulls in all of the GTFS schedule files and parses them into a single object
* implements the {@link FeatureIterator} interface.
*
* ## Usage
* ```ts
* import { buildGTFSSchedule } from 's2-tools';
*
* const schedule = await buildGTFSSchedule(gzipData);
* ```
*/
export declare class GTFSScheduleReader implements FeatureIterator {
agencies: Record<string, GTFSAgency>;
areas?: GTFSArea[];
attributions?: Record<string, GTFSAttribution>;
bookingRules?: Record<string, GTFSBookingRule>;
calendar?: GTFSCalendar[];
calendarDates?: GTFSCalendarDate[];
fareAttributes?: Record<string, GTFSFareAttribute>;
fareLegJoinRules?: GTFSFareLegJoinRule[];
fareLegRules?: GTFSFareLegRule[];
fareMedia?: Record<string, GTFSFareMedia>;
fareProducts?: Record<string, GTFSFareProduct>;
fareRules?: GTFSFareRule[];
fareTransferRules?: GTFSFareTransferRule[];
feedInfo?: Record<string, GTFSFeedInfo>;
frequencies?: GTFSFrequency[];
levels?: Record<string, GTFSLevel>;
locationGroups?: Record<string, GTFSLocationGroup>;
locationGroupStops?: GTFSLocationGroupStop[];
networks?: Record<string, GTFSNetwork>;
pathways?: Record<string, GTFSPathway>;
routeNetworks?: GTFSRouteNetwork[];
routes: Record<string, GTFSRoute>;
shapes?: Record<string, Feature<undefined, MValue, GTFSShapeProperties, LineStringGeometry>>;
stopAreas?: GTFSStopArea[];
stops?: Record<string, GTFSStop>;
stopTimes: GTFSStopTime[];
timeframes?: Record<string, GTFSTimeframe>;
transfers?: GTFSTransfer[];
translations?: GTFSTranslation[];
trips: GTFSTrip[];
geojson?: BufferJSONReader<undefined, MValue, GTFSLocationsProperties>;
/** @param pieces - all files */
constructor(pieces: Piece[]);
/**
* TODO: Add proeprties from other files like "color"
* TODO: All features should be parsed as VectorGeometry
* Yields all of the shapes
* @yields an iterator that contains shapes, stops, location data, and routes
*/
[Symbol.asyncIterator](): AsyncGenerator<Feature<undefined, MValue, GTFSShapeProperties, LineStringGeometry> | Feature<undefined, MValue, GTFSLocationsProperties, MultiPolygonGeometry | PolygonGeometry> | Feature<undefined, MValue, GTFSStopProperties, PointGeometry>>;
}
/**
* Builds a GTFSScheduleReader from a gzip folder
* @param gzipData - the gzip folder to parse
* @returns - a Schedule class
*/
export declare function buildGTFSSchedule(gzipData: ArrayBufferLike): Promise<GTFSScheduleReader>;
//# sourceMappingURL=index.d.ts.map