UNPKG

s2-tools

Version:

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

581 lines 25.9 kB
import type { FeatureCollection, MValue, Properties, ValueArrayObject } from '../../..'; /** * # GBFS Geofencing Zones Schema V2.3, V2.2, V2.1, OR V2.0 * Describes geofencing zones and their associated rules and attributes (added in v2.1-RC). * * ## Links * - [GBFS Specification V2.3](https://github.com/MobilityData/gbfs/blob/v2.3/gbfs.md#geofencing_zonesjson) * - [GBFS Specification V2.2](https://github.com/MobilityData/gbfs/blob/v2.2/gbfs.md#geofencing_zonesjson) * - [GBFS Specification V2.1](https://github.com/MobilityData/gbfs/blob/v2.1/gbfs.md#geofencing_zonesjson) */ export type GBFSGeofencingZonesV2 = GBFSGeofencingZonesV23 | GBFSGeofencingZonesV22 | GBFSGeofencingZonesV21; /** * # GBFS Geofencing Zones Schema V2.3 * Describes geofencing zones and their associated rules and attributes (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v2.3/gbfs.md#geofencing_zonesjson) */ export declare const gbfsGeofencingZonesSchemaV23: { $schema: string; $id: string; description: string; type: string; properties: { last_updated: { description: string; type: string; minimum: number; }; ttl: { description: string; type: string; minimum: number; }; version: { description: string; type: string; const: string; }; data: { description: string; type: string; properties: { geofencing_zones: { type: string; description: string; properties: { type: { description: string; type: string; enum: string[]; }; features: { description: string; type: string; items: { title: string; type: string; properties: { type: { type: string; enum: string[]; }; properties: { description: string; type: string; properties: { name: { description: string; type: string; }; start: { description: string; type: string; minimum: number; }; end: { description: string; type: string; minimum: number; }; rules: { description: string; type: string; items: { type: string; properties: { vehicle_type_id: { type: string; description: string; items: { type: string; }; }; ride_allowed: { description: string; type: string; }; ride_through_allowed: { description: string; type: string; }; maximum_speed_kph: { description: string; type: string; minimum: number; }; station_parking: { description: string; type: string; }; }; required: string[]; }; }; }; }; geometry: { description: string; title: string; type: string; properties: { type: { type: string; enum: string[]; }; coordinates: { type: string; items: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; }; }; }; }; }; }; required: string[]; }; }; required: string[]; }; }; }; required: string[]; }; }; required: string[]; }; }; required: string[]; }; /** * GBFS V3: Restrictions that apply within the area of the polygon. */ export interface GBFSGeofencingZonesV2PropertiesRule extends ValueArrayObject { /** * Array of vehicle type IDs for which these restrictions apply. */ vehicle_type_id?: string[]; /** * Is the undocked ride allowed to start and end in this zone? */ ride_allowed: boolean; /** * Is the ride allowed to travel through this zone? */ ride_through_allowed: boolean; /** * Maximum speed allowed, in kilometers per hour. * **Minimum**: 0 */ maximum_speed_kph?: number; /** * Vehicle MUST be parked at stations defined in station_information.json within this geofence zone. */ station_parking?: boolean; } /** Properties of a geofencing zone */ export interface GBFSGeofencingZonesV2Properties extends Properties { /** Public name of the geofencing zone. */ name: string; /** * Start time of the geofencing zone in RFC3339 format. * **format** date-time */ start?: string; /** * End time of the geofencing zone in RFC3339 format. * **format** date-time */ end?: string; /** Array of rules defining restrictions within the geofence. */ rules?: GBFSGeofencingZonesV2PropertiesRule[]; } /** * # GBFS Geofencing Zones V2.3 * Describes geofencing zones and their associated rules and attributes (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v2.3/gbfs.md#geofencing_zonesjson) */ export interface GBFSGeofencingZonesV23 { /** * Last time the data in the feed was updated in POSIX time. * **Minimum**: 1450155600 */ last_updated: number; /** * Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed). * **Minimum**: 0 */ ttl: number; /** * GBFS version number to which the feed conforms, according to the versioning framework. * **Const**: 2.3 */ version: '2.3'; /** * Contains geofencing information for the system. */ data: { geofencing_zones: FeatureCollection<undefined, MValue, GBFSGeofencingZonesV2Properties>; }; } /** * # GBFS Geofencing Zones Schema V2.2 * Describes geofencing zones and their associated rules and attributes (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v2.2/gbfs.md#geofencing_zonesjson) */ export declare const gbfsGeofencingZonesSchemaV22: { $schema: string; $id: string; description: string; type: string; properties: { last_updated: { description: string; type: string; minimum: number; }; ttl: { description: string; type: string; minimum: number; }; version: { description: string; type: string; const: string; }; data: { description: string; type: string; properties: { geofencing_zones: { type: string; description: string; properties: { type: { description: string; type: string; enum: string[]; }; features: { description: string; type: string; items: { title: string; type: string; properties: { type: { type: string; enum: string[]; }; properties: { description: string; type: string; properties: { name: { description: string; type: string; }; start: { description: string; type: string; minimum: number; }; end: { description: string; type: string; minimum: number; }; rules: { description: string; type: string; items: { type: string; properties: { vehicle_type_id: { type: string; description: string; items: { type: string; }; }; ride_allowed: { description: string; type: string; }; ride_through_allowed: { description: string; type: string; }; maximum_speed_kph: { description: string; type: string; minimum: number; }; }; required: string[]; }; }; }; }; geometry: { description: string; title: string; type: string; properties: { type: { type: string; enum: string[]; }; coordinates: { type: string; items: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; }; }; }; }; }; }; required: string[]; }; }; required: string[]; }; }; }; required: string[]; }; }; required: string[]; }; }; required: string[]; }; /** * # GBFS Geofencing Zones V2.2 * Describes geofencing zones and their associated rules and attributes (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v2.2/gbfs.md#geofencing_zonesjson) */ export interface GBFSGeofencingZonesV22 { /** * Last time the data in the feed was updated in POSIX time. * **Minimum**: 1450155600 */ last_updated: number; /** * Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed). * **Minimum**: 0 */ ttl: number; /** * GBFS version number to which the feed conforms, according to the versioning framework. * **Const**: 2.2 */ version: '2.2'; /** * Contains geofencing information for the system. */ data: { geofencing_zones: FeatureCollection<undefined, MValue, GBFSGeofencingZonesV2Properties>; }; } /** * # GBFS Geofencing Zones Schema V2.1 * Describes geofencing zones and their associated rules and attributes (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v2.1/gbfs.md#geofencing_zonesjson) */ export declare const gbfsGeofencingZonesSchemaV21: { $schema: string; $id: string; description: string; type: string; properties: { last_updated: { description: string; type: string; minimum: number; }; ttl: { description: string; type: string; minimum: number; }; version: { description: string; type: string; const: string; }; data: { description: string; type: string; properties: { geofencing_zones: { type: string; description: string; properties: { type: { description: string; type: string; enum: string[]; }; features: { description: string; type: string; items: { title: string; type: string; properties: { type: { type: string; enum: string[]; }; properties: { description: string; type: string; properties: { name: { description: string; type: string; }; start: { description: string; type: string; minimum: number; }; end: { description: string; type: string; minimum: number; }; rules: { description: string; type: string; items: { type: string; properties: { vehicle_type_id: { type: string; description: string; items: { type: string; }; }; ride_allowed: { description: string; type: string; }; ride_through_allowed: { description: string; type: string; }; maximum_speed_kph: { description: string; type: string; minimum: number; }; }; required: string[]; }; }; }; }; geometry: { description: string; title: string; type: string; properties: { type: { type: string; enum: string[]; }; coordinates: { type: string; items: { type: string; items: { type: string; minItems: number; items: { type: string; minItems: number; items: { type: string; }; }; }; }; }; }; required: string[]; }; }; required: string[]; }; }; }; required: string[]; }; }; required: string[]; }; }; required: string[]; }; /** * # GBFS Geofencing Zones V2.1 * Describes geofencing zones and their associated rules and attributes (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v2.1/gbfs.md#geofencing_zonesjson) */ export interface GBFSGeofencingZonesV21 { /** * Last time the data in the feed was updated in POSIX time. * **Minimum**: 1450155600 */ last_updated: number; /** * Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed). * **Minimum**: 0 */ ttl: number; /** * GBFS version number to which the feed conforms, according to the versioning framework. * **Const**: 2.1 */ version: '2.1'; /** * Contains geofencing information for the system. */ data: { geofencing_zones: FeatureCollection<undefined, MValue, GBFSGeofencingZonesV2Properties>; }; } //# sourceMappingURL=geofencingZones.d.ts.map