s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
581 lines • 25.9 kB
TypeScript
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