UNPKG

s2-tools

Version:

A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.

140 lines 5.75 kB
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