https://github.com/offenesdresden/dvbjs
🚊 Query Dresden's public transport system (www.dvb.de) for current bus- and tramstop data using nodejs
https://github.com/offenesdresden/dvbjs
dresden dvb javascript nodejs opendata public-transportation vvo
Last synced: 6 months ago
JSON representation
🚊 Query Dresden's public transport system (www.dvb.de) for current bus- and tramstop data using nodejs
- Host: GitHub
- URL: https://github.com/offenesdresden/dvbjs
- Owner: offenesdresden
- License: other
- Created: 2014-03-11T14:31:06.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-12T15:10:40.000Z (12 months ago)
- Last Synced: 2024-10-15T05:01:50.382Z (12 months ago)
- Topics: dresden, dvb, javascript, nodejs, opendata, public-transportation, vvo
- Language: TypeScript
- Homepage:
- Size: 3.05 MB
- Stars: 47
- Watchers: 5
- Forks: 11
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# dvbjs
[](https://coveralls.io/github/offenesdresden/dvbjs?branch=master)
[](https://github.com/prettier/prettier)
[](https://www.npmjs.org/package/dvbjs)
[](https://www.npmjs.com/package/dvbjs)[](https://nodei.co/npm/dvbjs/)
This is an unofficial node module, giving you a few options to query Dresden's public transport system for current bus- and tramstop data.
Want something like this for another language, look [no further](https://github.com/kiliankoe/vvo#libraries) 🙂
## Getting Started
Install the module using npm or yarn
```sh
$ npm install dvbjs
or
$ yarn add dvbjs
```and require it in your project
```js
import * as dvb from "dvbjs";
```HTTP request are handled by [axios](https://github.com/axios/axios) that supports all modern browsers.
See [packages/react-example](packages/react-example/README.md) for a browser departure monitor example.## Example Usage
### Find stops by name
```js
import * as dvb from "dvbjs"; // OR const dvb = require("dvbjs");dvb.findStop("zellesch").then((data) => {
console.dir({ data }, { depth: 7, maxArrayLength: 2 });
});
``````yml
{
data: [
{
city: 'Dresden',
coords: [ 13.745859050200034, 51.0283698098441 ],
name: 'Zellescher Weg',
id: '33000312',
type: 'Stop'
},
{
city: 'Clausthal-Zellerfeld',
coords: [ 10.347333308428196, 51.80899839555576 ],
name: 'Eschenbacher Straße',
id: '26005221',
type: 'Stop'
}
]
}
```### Monitor a single stop
```js
import * as dvb from "dvbjs"; // OR const dvb = require("dvbjs");const stopID = "33000037"; // Postplatz
const timeOffset = 5;
const numResults = 2;dvb.monitor(stopID, timeOffset, numResults).then((data) => {
console.dir(data, { depth: 7, maxArrayLength: 2 });
});
``````yml
[
{
arrivalTime: 2020-08-28T17:47:00.000Z,
scheduledTime: 2020-08-28T17:47:00.000Z,
id: 'voe:11012: :R:j20',
line: '12',
direction: 'Striesen',
platform: { name: '3', type: 'Platform' },
arrivalTimeRelative: 5,
scheduledTimeRelative: 5,
delayTime: 0,
state: 'InTime',
mode: {
title: 'Straßenbahn',
name: 'Tram',
iconUrl: 'https://www.dvb.de/assets/img/trans-icon/transport-tram.svg'
},
diva: { number: 11012, network: 'voe' }
},
{
arrivalTime: 2020-08-28T17:48:00.000Z,
scheduledTime: 2020-08-28T17:48:00.000Z,
id: 'voe:11002: :H:j20',
line: '2',
direction: 'Gorbitz',
platform: { name: '2', type: 'Platform' },
arrivalTimeRelative: 6,
scheduledTimeRelative: 6,
delayTime: 0,
state: 'InTime',
mode: {
title: 'Straßenbahn',
name: 'Tram',
iconUrl: 'https://www.dvb.de/assets/img/trans-icon/transport-tram.svg'
},
diva: { number: 11002, network: 'voe' }
}
]
```### Find routes
```js
import * as dvb from "dvbjs"; // OR const dvb = require("dvbjs");const origin = "33000742"; // Helmholtzstraße
const destination = "33000037"; // Postplatz
const startTime = new Date();
const isArrivalTime = false;dvb.route(origin, destination, startTime, isArrivalTime).then((data) => {
console.dir(data, { depth: 7, maxArrayLength: 2 });
});
``````yml
{
origin: {
id: '33000742',
name: 'Helmholtzstraße',
city: 'Dresden',
coords: [ 13.725468471273134, 51.0255443264448 ]
},
destination: {
id: '33000037',
name: 'Postplatz',
city: 'Dresden',
coords: [ 13.733543221907427, 51.05055101347277 ]
},
trips: [
{
nodes: [
{
stops: [
{
id: '33000742',
name: 'Helmholtzstraße',
city: 'Dresden',
type: 'Stop',
platform: { name: '1', type: 'Platform' },
coords: [ 13.725468471273134, 51.0255443264448 ],
arrival: 2020-08-28T18:05:00.000Z,
departure: 2020-08-28T18:05:00.000Z
},
{
id: '33000512',
name: 'Stadtgutstraße',
city: 'Dresden',
type: 'Stop',
platform: { name: '1', type: 'Platform' },
coords: [ 13.736249024095288, 51.02412604112871 ],
arrival: 2020-08-28T18:07:00.000Z,
departure: 2020-08-28T18:07:00.000Z
},
... 1 more item
],
departure: {
id: '33000742',
name: 'Helmholtzstraße',
city: 'Dresden',
platform: { name: '1', type: 'Platform' },
time: 2020-08-28T18:05:00.000Z,
coords: [ 13.725468471273134, 51.0255443264448 ],
type: 'Stop'
},
arrival: {
id: '33000313',
name: 'Räcknitzhöhe',
city: 'Dresden',
platform: { name: '1', type: 'Platform' },
time: 2020-08-28T18:08:00.000Z,
coords: [ 13.742469696952984, 51.02352100754019 ],
type: 'Stop'
},
mode: {
title: 'Bus',
name: 'CityBus',
iconUrl: 'https://www.dvb.de/assets/img/trans-icon/transport-bus.svg'
},
line: '85',
direction: 'Striesen',
diva: { number: 21085, network: 'voe' },
duration: 3,
path: [
[ 13.725453890767993, 51.025535552078374 ],
[ 13.725722912293, 51.02548662985169 ],
... 18 more items
]
},
{
stops: [
{
id: '33000313',
name: 'Räcknitzhöhe',
city: 'Dresden',
type: 'Stop',
platform: { name: '1', type: 'Platform' },
coords: [ 13.742469696952984, 51.02352100754019 ],
arrival: 2020-08-28T18:13:00.000Z,
departure: 2020-08-28T18:13:00.000Z
},
{
id: '33000312',
name: 'Zellescher Weg',
city: 'Dresden',
type: 'Stop',
platform: { name: '1', type: 'Platform' },
coords: [ 13.7457515521668, 51.02816465242123 ],
arrival: 2020-08-28T18:15:00.000Z,
departure: 2020-08-28T18:15:00.000Z
},
... 8 more items
],
departure: {
id: '33000313',
name: 'Räcknitzhöhe',
city: 'Dresden',
platform: { name: '1', type: 'Platform' },
time: 2020-08-28T18:13:00.000Z,
coords: [ 13.742469696952984, 51.02352100754019 ],
type: 'Stop'
},
arrival: {
id: '33000037',
name: 'Postplatz',
city: 'Dresden',
platform: { name: '4', type: 'Platform' },
time: 2020-08-28T18:28:00.000Z,
coords: [ 13.733543221907427, 51.05055101347277 ],
type: 'Stop'
},
mode: {
title: 'Straßenbahn',
name: 'Tram',
iconUrl: 'https://www.dvb.de/assets/img/trans-icon/transport-tram.svg'
},
line: '11',
direction: 'Bühlau',
diva: { number: 11011, network: 'voe' },
duration: 15,
path: [
[ 13.742470033873689, 51.023529992249884 ],
[ 13.742485627673174, 51.023565718598725 ],
... 122 more items
]
}
],
departure: {
id: '33000742',
name: 'Helmholtzstraße',
city: 'Dresden',
platform: { name: '1', type: 'Platform' },
time: 2020-08-28T18:05:00.000Z,
coords: [ 13.725468471273134, 51.0255443264448 ],
type: 'Stop'
},
arrival: {
id: '33000037',
name: 'Postplatz',
city: 'Dresden',
platform: { name: '4', type: 'Platform' },
time: 2020-08-28T18:28:00.000Z,
coords: [ 13.733543221907427, 51.05055101347277 ],
type: 'Stop'
},
duration: 23,
interchanges: 1
},
{
nodes: [
{
stops: [
{
id: '33000742',
name: 'Helmholtzstraße',
city: 'Dresden',
type: 'Stop',
platform: { name: '2', type: 'Platform' },
coords: [ 13.725468471273134, 51.0255443264448 ],
arrival: 2020-08-28T18:09:00.000Z,
departure: 2020-08-28T18:09:00.000Z
},
{
id: '33000513',
name: 'Regensburger Straße',
city: 'Dresden',
type: 'Stop',
platform: { name: '2', type: 'Platform' },
coords: [ 13.720554082747958, 51.02640790159258 ],
arrival: 2020-08-28T18:10:00.000Z,
departure: 2020-08-28T18:10:00.000Z
},
... 1 more item
],
departure: {
id: '33000742',
name: 'Helmholtzstraße',
city: 'Dresden',
platform: { name: '2', type: 'Platform' },
time: 2020-08-28T18:09:00.000Z,
coords: [ 13.725468471273134, 51.0255443264448 ],
type: 'Stop'
},
arrival: {
id: '33000135',
name: 'Plauen Nöthnitzer Straße',
city: 'Dresden',
platform: { name: '6', type: 'Platform' },
time: 2020-08-28T18:10:00.000Z,
coords: [ 13.716530789023206, 51.02708737506858 ],
type: 'Stop'
},
mode: {
title: 'Bus',
name: 'CityBus',
iconUrl: 'https://www.dvb.de/assets/img/trans-icon/transport-bus.svg'
},
line: '85',
direction: 'Löbtau Süd',
diva: { number: 21085, network: 'voe' },
duration: 1,
path: [
[ 13.725453890767993, 51.025535552078374 ],
[ 13.72528426308308, 51.02557401614769 ],
... 9 more items
]
},
{
stops: [],
departure: undefined,
arrival: undefined,
mode: {
title: 'Fussweg',
name: 'Footpath',
iconUrl: 'https://m.dvb.de/img/walk.svg'
},
line: '',
direction: '',
diva: undefined,
duration: 2,
path: [
[ 13.716530789023206, 51.02708737506858 ],
[ 13.716516209687736, 51.02707859957728 ],
... 14 more items
]
},
... 3 more items
],
departure: {
id: '33000742',
name: 'Helmholtzstraße',
city: 'Dresden',
platform: { name: '2', type: 'Platform' },
time: 2020-08-28T18:09:00.000Z,
coords: [ 13.725468471273134, 51.0255443264448 ],
type: 'Stop'
},
arrival: {
id: '33000037',
name: 'Postplatz',
city: 'Dresden',
platform: { name: '2', type: 'Platform' },
time: 2020-08-28T18:39:00.000Z,
coords: [ 13.733966669186017, 51.05081442107084 ],
type: 'Stop'
},
duration: 30,
interchanges: 2
},
... 2 more items
]
}
```## API Documentation
### Table of contents
* [index.ts][SourceFile-0]
* Functions
* [coords][FunctionDeclaration-0]
* [findAddress][FunctionDeclaration-1]
* [findPOI][FunctionDeclaration-2]
* [findStop][FunctionDeclaration-3]
* [lines][FunctionDeclaration-4]
* [monitor][FunctionDeclaration-5]
* [pins][FunctionDeclaration-6]
* [route][FunctionDeclaration-7]
* Interfaces
* [IDiva][InterfaceDeclaration-11]
* [IPlatform][InterfaceDeclaration-12]
* [IPin][InterfaceDeclaration-5]
* [IConnection][InterfaceDeclaration-6]
* [IMode][InterfaceDeclaration-13]
* [IAddress][InterfaceDeclaration-0]
* [ILine][InterfaceDeclaration-3]
* [IMonitor][InterfaceDeclaration-4]
* [ILocation][InterfaceDeclaration-2]
* [IPoint][InterfaceDeclaration-1]
* [IStop][InterfaceDeclaration-10]
* [IStopLocation][InterfaceDeclaration-14]
* [INode][InterfaceDeclaration-9]
* [ITrip][InterfaceDeclaration-8]
* [IRoute][InterfaceDeclaration-7]
* Types
* [coord][TypeAliasDeclaration-0]
* Enums
* [POI_TYPE][EnumDeclaration-0]
* [PIN_TYPE][EnumDeclaration-1]### index.ts
#### Functions
##### coords
Find the coordinates for a given POI id.
```typescript
function coords(id: string, timeout: number = 5000): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| ------- | ------ | ------------- | -------------------------- |
| id | string | | the POI ID |
| timeout | number | 5000 | the timeout of the request |**Return type**
Promise
----------
##### findAddress
Lookup address and nearby stops by coordinate.
```typescript
function findAddress(lng: number, lat: number, timeout: number = 5000): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| ------- | ------ | ------------- | --------------------------- |
| lng | number | | longitude of the coordinate |
| lat | number | | latitude of the coordinate |
| timeout | number | 5000 | the timeout of the request |**Return type**
Promise<[IAddress][InterfaceDeclaration-0] | undefined>
----------
##### findPOI
Search for POI in the network of the DVB.
```typescript
function findPOI(searchString: string, timeout: number = 5000): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| ------------ | ------ | ------------- | -------------------------- |
| searchString | string | | the name of the stop |
| timeout | number | 5000 | the timeout of the request |**Return type**
Promise<[IPoint][InterfaceDeclaration-1][]>
----------
##### findStop
Search for a single stop in the network of the DVB.
```typescript
function findStop(searchString: string, timeout: number = 5000): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| ------------ | ------ | ------------- | -------------------------- |
| searchString | string | | the name of the stop |
| timeout | number | 5000 | the timeout of the request |**Return type**
Promise<[IPoint][InterfaceDeclaration-1][]>
----------
##### lines
get a list of availible tram/bus lines for a stop.
```typescript
function lines(stopID: string, timeout: number = 5000): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| ------- | ------ | ------------- | -------------------------- |
| stopID | string | | the stop ID |
| timeout | number | 5000 | the timeout of the request |**Return type**
Promise<[ILine][InterfaceDeclaration-3][]>
----------
##### monitor
Monitor a single stop to see every bus or tram leaving this stop after the specified time offset.
```typescript
function monitor(stopID: string, offset: number = 0, amount: number = 0, timeout: number = 5000): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| ------- | ------ | ------------- | ----------------------------------------- |
| stopID | string | | ID of the stop |
| offset | number | 0 | how many minutes in the future, 0 for now |
| amount | number | 0 | number of results |
| timeout | number | 5000 | the timeout of the request |**Return type**
Promise<[IMonitor][InterfaceDeclaration-4][]>
----------
##### pins
Search for different kinds of POIs inside a given bounding box.
```typescript
function pins(swlng: number, swlat: number, nelng: number, nelat: number, pinTypes: PIN_TYPE[] = [PIN_TYPE.stop], timeout: number = 5000): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| -------- | ------------------------------- | --------------- | ------------------------------------------ |
| swlng | number | | the longitude of the south west coordinate |
| swlat | number | | the latitude of the south west coordinate |
| nelng | number | | the longitude of the north east coordinate |
| nelat | number | | the latitude of the north east coordinate |
| pinTypes | [PIN_TYPE][EnumDeclaration-1][] | [PIN_TYPE.stop] | array of pin types |
| timeout | number | 5000 | the timeout of the request |**Return type**
Promise<[IPin][InterfaceDeclaration-5][]>
----------
##### route
Query the server for possible routes from one stop to another.
```typescript
function route(originID: string, destinationID: string, time: Date = new Date(), isArrivalTime: boolean = true, timeout: number = 15000, via?: string): Promise;
```**Parameters**
| Name | Type | Default value | Description |
| ------------- | ----------------------- | ------------- | ------------------------------ |
| originID | string | | the id of the origin stop |
| destinationID | string | | the id of the destination stop |
| time | Date | new Date() | starting at what time |
| isArrivalTime | boolean | true | is time the arrival time |
| timeout | number | 15000 | the timeout of the request |
| via | string | | the id of a third stop |**Return type**
Promise<[IRoute][InterfaceDeclaration-7]>
#### Interfaces
##### IDiva
```typescript
interface IDiva {
number: number;
network?: string;
}
```**Properties**
| Name | Type | Optional |
| ------- | ----------------------- | -------- |
| number | number | false |
| network | string | true |----------
##### IPlatform
```typescript
interface IPlatform {
name: string;
type: string;
}
```**Properties**
| Name | Type | Optional |
| ---- | ------ | -------- |
| name | string | false |
| type | string | false |----------
##### IPin
- The id for PIN_TYPE.platform is always an empty string.
- PIN_TYPE.platform conatins platform_nr.
- PIN_TYPE.stop contains connections.
- PIN_TYPE.parkandride contains info.```typescript
interface IPin {
id: string;
type: PIN_TYPE;
name: string;
coords: Array;
platformNr?: string;
connections?: IConnection[];
info?: string;
}
```**Properties**
| Name | Type | Optional |
| ----------- | --------------------------------------- | -------- |
| id | string | false |
| type | [PIN_TYPE][EnumDeclaration-1] | false |
| name | string | false |
| coords | Array | false |
| platformNr | string | true |
| connections | [IConnection][InterfaceDeclaration-6][] | true |
| info | string | true |----------
##### IConnection
```typescript
interface IConnection {
line: string;
mode?: IMode;
}
```**Properties**
| Name | Type | Optional |
| ---- | ---------------------- | -------- |
| line | string | false |
| mode | [IMode][InterfaceDeclaration-13] | true |----------
##### IMode
```typescript
interface IMode {
title: string;
name: string;
iconUrl?: string;
}
```**Properties**
| Name | Type | Optional |
| ------- | ----------------------- | -------- |
| title | string | false |
| name | string | false |
| iconUrl | string | true |----------
##### IAddress
```typescript
interface IAddress extends IPoint {
stops: IPoint[];
}
```**Extends**
[IPoint][InterfaceDeclaration-1]
**Properties**
| Name | Type | Optional |
| ----- | ---------------------------------- | -------- |
| stops | [IPoint][InterfaceDeclaration-1][] | false |----------
##### ILine
```typescript
interface ILine {
name: string;
mode?: IMode;
diva?: IDiva;
directions: string[];
}
```**Properties**
| Name | Type | Optional |
| ---------- | ---------------------- | -------- |
| name | string | false |
| mode | [IMode][InterfaceDeclaration-13] | true |
| diva | [IDiva][InterfaceDeclaration-11] | true |
| directions | string[] | false |----------
##### IMonitor
```typescript
interface IMonitor {
arrivalTime: Date;
scheduledTime: Date;
id: string;
line: string;
direction: string;
platform?: IPlatform;
arrivalTimeRelative: number;
scheduledTimeRelative: number;
delayTime: number;
state: string;
mode?: IMode;
diva?: IDiva;
}
```**Properties**
| Name | Type | Optional |
| --------------------- | -------------------------- | -------- |
| arrivalTime | Date | false |
| scheduledTime | Date | false |
| id | string | false |
| line | string | false |
| direction | string | false |
| platform | [IPlatform][InterfaceDeclaration-12] | true |
| arrivalTimeRelative | number | false |
| scheduledTimeRelative | number | false |
| delayTime | number | false |
| state | string | false |
| mode | [IMode][InterfaceDeclaration-13] | true |
| diva | [IDiva][InterfaceDeclaration-11] | true |----------
##### ILocation
```typescript
interface ILocation {
id: string;
name: string;
city: string;
coords: Array;
}
```**Properties**
| Name | Type | Optional |
| ------ | ------------- | -------- |
| id | string | false |
| name | string | false |
| city | string | false |
| coords | Array | false |----------
##### IPoint
```typescript
interface IPoint extends ILocation {
type: POI_TYPE;
}
```**Extends**
[ILocation][InterfaceDeclaration-2]
**Properties**
| Name | Type | Optional |
| ---- | ----------------------------- | -------- |
| type | [POI_TYPE][EnumDeclaration-0] | false |----------
##### IStop
```typescript
interface IStop extends ILocation {
type: string;
platform?: IPlatform;
arrival: Date;
departure: Date;
}
```**Extends**
[ILocation][InterfaceDeclaration-2]
**Properties**
| Name | Type | Optional |
| --------- | -------------------------- | -------- |
| type | string | false |
| platform | [IPlatform][InterfaceDeclaration-12] | true |
| arrival | Date | false |
| departure | Date | false |----------
##### IStopLocation
```typescript
interface IStopLocation extends ILocation {
platform?: IPlatform;
time: Date;
type: string;
}
```**Extends**
[ILocation][InterfaceDeclaration-2]
**Properties**
| Name | Type | Optional |
| -------- | -------------------------- | -------- |
| platform | [IPlatform][InterfaceDeclaration-12] | true |
| time | Date | false |
| type | string | false |----------
##### INode
```typescript
interface INode {
stops: IStop[];
departure?: IStopLocation;
arrival?: IStopLocation;
mode?: IMode;
line: string;
direction: string;
diva?: IDiva;
duration: number;
path: Array[];
}
```**Properties**
| Name | Type | Optional |
| --------- | ---------------------------------- | -------- |
| stops | [IStop][InterfaceDeclaration-10][] | false |
| departure | [IStopLocation][InterfaceDeclaration-14] | true |
| arrival | [IStopLocation][InterfaceDeclaration-14] | true |
| mode | [IMode][InterfaceDeclaration-13] | true |
| line | string | false |
| direction | string | false |
| diva | [IDiva][InterfaceDeclaration-11] | true |
| duration | number | false |
| path | Array[] | false |----------
##### ITrip
```typescript
interface ITrip {
departure?: IStopLocation;
arrival?: IStopLocation;
duration: number;
interchanges: number;
nodes: INode[];
}
```**Properties**
| Name | Type | Optional |
| ------------ | --------------------------------- | -------- |
| departure | [IStopLocation][InterfaceDeclaration-14] | true |
| arrival | [IStopLocation][InterfaceDeclaration-14] | true |
| duration | number | false |
| interchanges | number | false |
| nodes | [INode][InterfaceDeclaration-9][] | false |----------
##### IRoute
```typescript
interface IRoute {
origin?: ILocation;
destination?: ILocation;
trips: ITrip[];
}
```**Properties**
| Name | Type | Optional |
| ----------- | --------------------------------- | -------- |
| origin | [ILocation][InterfaceDeclaration-2] | true |
| destination | [ILocation][InterfaceDeclaration-2] | true |
| trips | [ITrip][InterfaceDeclaration-8][] | false |#### Types
##### coord
WGS84 coordinates [lng, lat]
```typescript
type coord = number[];
```**Type**
number[]
#### Enums
##### POI_TYPE
```typescript
enum POI_TYPE {
Address = "Address",
Coords = "Coords",
POI = "POI",
Stop = "Stop"
}
```**Members**
| Name | Value |
| ------- | --------- |
| Address | "Address" |
| Coords | "Coords" |
| POI | "POI" |
| Stop | "Stop" |----------
##### PIN_TYPE
```typescript
enum PIN_TYPE {
stop = "stop",
platform = "platform",
poi = "poi",
rentabike = "rentabike",
ticketmachine = "ticketmachine",
carsharing = "carsharing",
parkandride = "parkandride",
unknown = "unknown"
}
```**Members**
| Name | Value |
| ------------- | --------------- |
| stop | "stop" |
| platform | "platform" |
| poi | "poi" |
| rentabike | "rentabike" |
| ticketmachine | "ticketmachine" |
| carsharing | "carsharing" |
| parkandride | "parkandride" |
| unknown | "unknown" |[SourceFile-0]: README.md#indexts
[FunctionDeclaration-0]: README.md#coords
[FunctionDeclaration-1]: README.md#findaddress
[InterfaceDeclaration-0]: README.md#iaddress
[FunctionDeclaration-2]: README.md#findpoi
[InterfaceDeclaration-1]: README.md#ipoint
[FunctionDeclaration-3]: README.md#findstop
[InterfaceDeclaration-1]: README.md#ipoint
[FunctionDeclaration-4]: README.md#lines
[InterfaceDeclaration-3]: README.md#iline
[FunctionDeclaration-5]: README.md#monitor
[InterfaceDeclaration-4]: README.md#imonitor
[FunctionDeclaration-6]: README.md#pins
[EnumDeclaration-1]: README.md#pin_type
[InterfaceDeclaration-5]: README.md#ipin
[FunctionDeclaration-7]: README.md#route
[InterfaceDeclaration-7]: README.md#iroute
[InterfaceDeclaration-11]: README.md#idiva
[InterfaceDeclaration-12]: README.md#iplatform
[InterfaceDeclaration-5]: README.md#ipin
[EnumDeclaration-1]: README.md#pin_type
[InterfaceDeclaration-6]: README.md#iconnection
[InterfaceDeclaration-6]: README.md#iconnection
[InterfaceDeclaration-13]: README.md#imode
[InterfaceDeclaration-0]: README.md#iaddress
[InterfaceDeclaration-1]: README.md#ipoint
[InterfaceDeclaration-1]: README.md#ipoint
[InterfaceDeclaration-3]: README.md#iline
[InterfaceDeclaration-4]: README.md#imonitor
[InterfaceDeclaration-2]: README.md#ilocation
[InterfaceDeclaration-1]: README.md#ipoint
[InterfaceDeclaration-2]: README.md#ilocation
[EnumDeclaration-0]: README.md#poi_type
[InterfaceDeclaration-10]: README.md#istop
[InterfaceDeclaration-2]: README.md#ilocation
[InterfaceDeclaration-14]: README.md#istoplocation
[InterfaceDeclaration-2]: README.md#ilocation
[InterfaceDeclaration-9]: README.md#inode
[InterfaceDeclaration-10]: README.md#istop
[InterfaceDeclaration-8]: README.md#itrip
[InterfaceDeclaration-9]: README.md#inode
[InterfaceDeclaration-7]: README.md#iroute
[InterfaceDeclaration-8]: README.md#itrip
[TypeAliasDeclaration-0]: README.md#coord
[EnumDeclaration-0]: README.md#poi_type
[EnumDeclaration-1]: README.md#pin_type