//:
name: Alpaca Itinerary v1 GeoJSON/Tiles Reference generated: Tue Aug 30 2022
Alpaca Itinerary v1 Tileset and GeoJSON formats include geometries for plotted itineraries for locations, directions and route segments. These provide access for you to create your representation of the itinerary within your mapping platform or application.
When you publicly display maps that use Alpaca Itinerary vector tiles or geojson data, you must display proper attribution.
Each feature contains feature.id, which assists you in interacting with
features using products such as Mapbox. Also often included is
feature.properties.id which supplies you with Alpaca identifiers in order to
further select additional data about that feature from our API.
In some cases, we provide feature.properties.external_ref and
feature.properties.external_source in order for authors to attach other
external platform identifiers to assist connecting data with data that may
appear in another platform of choice.
Similarly to other vector tile products (such as Mapbox Streets v8 ❤️), we are following similar goals behind the Alpaca Itinerary v1 data set to preserve compatability with styling or other uses of data properties.
Here are our goals;
- Layers
- Preserve existing layers
- Add new layers that could contain additional features from itineraries
- Fields
- Preserve existing fields
- Add new fields where additional use cases or feature data is advantageous to be included
- Field values
- The meaning of existing values will not change
- Values of specific features may change to correct errors or other real-world updates (such as changes in underlying data provided to us)
- New values may be added
nullvalues will be noted, and fields that are optional will be marked so.nullor optional values should not replace existing fields that have not allowed it prior
The specification includes a number of feature attributes that can be common to more than one feature type.
Attributes provide a means of querying hierarchical relationships as well as ordering between sibling elements
| Value | Description |
|---|---|
lft number Example: 5 |
Left outermost value |
rgt number Example: 6 |
Right outermost value |
depth number Example: 0 |
The depth of the element, relative to ancestors |
Attributes to assist presenting position numbers assigned to locations
| Value | Description |
|---|---|
list_pref string optionalExample: "unordered" |
Any associated list presentation preference applied to this location |
location_num number optionalExample: 2 |
The location number, relative to the sibling locations |
location_num_dfs number optionalExample: 9 |
The accumulative location number for the overall itinerary |
Attributes to assist reference more information from the Alpaca GQL
| Value | Description |
|---|---|
id string Example: "itinerary/XXX/location/XXX" |
The Alpaca related node identifier |
Attributes to assist targeting another node
| Value | Description |
|---|---|
target string Example: "itinerary/XXX/location/XXX" |
The Alpaca related node identifier |
Attributes to identify this feature in a developers external platform
| Value | Description |
|---|---|
external_ref string optionalExample: "myplatform-UUID" |
Reference identifier in external platform, if any |
external_source string optionalExample: "myplatform-section-UUID" |
Reference source in external platform, if any |
Reference assignments to itinerary segment identifiers
| Value | Description |
|---|---|
segments text[] Example: ["UUID"] |
A collection of assigned segment identifiers for this feature, if any |
Reference assignments to itinerary segment identifiers
| Value | Description |
|---|---|
loc_segments_int text[] Example: ["UUID"] |
Intersection of segments between the origin and destination locations |
Attributes that describe the associated itinerary icon
| Value | Description |
|---|---|
icon text optionalExample: "itinerary/XXX/icon/YYY" |
The id of the itinerary icon |
Attributes that contain content supplied by the user
| Value | Description |
|---|---|
label text optionalExample: "Mavis the Grocer" |
The primary label associated with this feature |
tags text[] optionalExample: ["a tag","another tag"] |
Any assigned user tags |
Attributes that describe any adjustments for the camera
| Value | Description |
|---|---|
bearing number optionalExample: 270 |
Bearing, from 0-360 |
pitch number optionalExample: 60 |
Pitch, from 0-60 |
zoom number optionalExample: 17 |
Zoom, from 0-20+ |
Attributes that describe any adjustments for the camera
| Value | Description |
|---|---|
bearing number optionalExample: 270 |
Bearing, from 0-360 |
pitch number optionalExample: 60 |
Pitch, from 0-60 |
Attributes that can help describe interactions with this feature, such as omitting it from a list, map or providing further detail
| Value | Description |
|---|---|
flags text optionalExample: ["omit-list"] |
A collection of keys relating to which behaviours should be omitted when interacting with this feature |
Determines the camera type
| Value | Description |
|---|---|
type text Example: "geometry-bounds" |
Determines the camera type for a series of camera configurations availabe |
Attributes that assist contextualise the ordering of this feature with other collection results
| Value | Description |
|---|---|
index number Example: 3 |
The index of this element within the collection (0 indexed) |
length number Example: 4 |
The total length of the collection this feature is part of |
Attributes to describe progress along a feature, such as breaking up a path line string into various percentage of length
| Value | Description |
|---|---|
percentage number Example: 50 |
Percentage progress along this feature (Values: 0, 25, 50, 75, 100) |
Attributes to assist presenting the distance of the linestring feature
| Value | Description |
|---|---|
distance number Example: 400 |
Distance in meters |
Attributes relating to the expected duration to travel this feature
| Value | Description |
|---|---|
duration_min number optionalExample: 40 |
Minimum duration (in minutes) |
duration_max number optionalExample: 40 |
Maximum duration (in minutes) |
Attributes to describe the mode of transportation used in this feature
| Value | Description |
|---|---|
mode enum Example: "car" |
A series of values to describe the mode of transport (e.g. foot, car) for this feature |
Describes when multiple modes of transport are used in Itinerary Directions
| Value | Description |
|---|---|
multi_modal boolean optionalExample: true |
Whether multiple modes of transport are used to describe the itinerary directions |
Attributes to describe the aggregated route segment travel modes
| Value | Description |
|---|---|
route_segment_modes enum[] Example: ["car","foot"] |
A collection of values to describe all modes of transport used within the associated RouteSegment features |
Attributes to describe the relationship of route segments to their directions counterpart
| Value | Description |
|---|---|
directions string Example: "itinerary/XXX/directions/XXX" |
The node reference ID of the associated Itinerary Directions feature |
Attributes to describe the relationship of directions to the route segments counterpart
| Value | Description |
|---|---|
route_segment string Example: "itinerary/XXX/directions/XXX/segment/unstable.0" |
The node reference ID of the associated Route Segment feature |
Attributes to create relationships to Locations
| Value | Description |
|---|---|
origin string optionalExample: "itinerary/XXX/location/XXX" |
The origin Itinerary Location Node Reference |
dest string optionalExample: "itinerary/XXX/location/XXX" |
The destination Itinerary Location Node Reference |
Attributes to assist presenting optional locations
| Value | Description |
|---|---|
optional boolean optionalExample: true |
Whether this feature has been indicated as an optional stop on the itinerary |
Features are container within the GeoJSON FeatureCollection features array.
The bbox property often included provide a bounding box calculation for the
features.
{
type: 'FeatureCollection',
features: [...],
bbox: [1, 1, 2, 3]
}Each feature of the itinerary has a number of GeoJSON Feature objects. The
object contains a number of properties, including an id, geometry,
properties and often the bbox property.
The geometry property provides an encoding of geometry depending on the
geometry type, such as point, linestring, multilinestring or polygon. An
example of of a geometry would be { type: 'point', coordinates: [1, 1] }).
The properties property provides a number of attributes about the feature
corresponding to the type of feature (differentiated by the class attribute).
{
id: 123,
type: 'Feature',
geometry: { ... },
properties: { ... },
bbox: [1, 1, 2, 2]
}Opposed to serving the full GeoJSON features to your users, you can leverage the vector tilesets to load in details at specific map areas and zoom levels to optimise map loading.
Features are organised into several layers within the vector tilesets offered. You can selectively target features within a specific layer
The Alpaca Itinerary v1 contains the following layers in the tileset.
| Layer | Minimum zoom level | Feature Classes |
|---|---|---|
| default Default layer containing itinerary features |
0 | location_marker, location_directions_preference, directions_distance_progress, directions_path, directions_path_waypoint, directions_path_distance_progress |
| metadata Contains miscellaneous features to assist presentation of features (stripped from vector tiles) |
0 | camera |
The Alpaca Itinerary v1 features include a number of representations of the
ItineraryLocation, ItineraryDirections and RouteSegment types.
| Type | Description |
|---|---|
| location_marker | The primary marker for this location |
| location_directions_preference | The position preference to obtain directions to |
| directions_distance_progress | Point representing a percentiles of progress along the overall directions |
| directions_path | Itinerary Directions path for itinerary directions |
| directions_path_waypoint | The waypoints used for directing along the Itinerary Directions Path |
| directions_path_distance_progress | Point representing a percentiles of progress along the route segment |
| camera | Geometry to assist presenting cameras with associated target features |
Tile Layer: default Geometry: Point
The primary marker for this location
| Property | Description |
|---|---|
class string |
location_marker |
lft number |
Hierarchy lftLeft outermost value |
rgt number |
Hierarchy rgtRight outermost value |
depth number |
Hierarchy depthThe depth of the element, relative to ancestors |
id string |
Node Reference idThe Alpaca related node identifier |
external_ref string optional |
External Identifiers external_refReference identifier in external platform, if any |
external_source string optional |
External Identifiers external_sourceReference source in external platform, if any |
segments text[] |
Itinerary Segments segmentsA collection of assigned segment identifiers for this feature, if any |
icon text optional |
Icon iconThe id of the itinerary icon |
label text optional |
Content labelThe primary label associated with this feature |
tags text[] optional |
Content tagsAny assigned user tags |
flags text optional |
Feature Flags Behaviour flagsA collection of keys relating to which behaviours should be omitted when interacting with this feature |
optional boolean optional |
Optional Stop information optionalWhether this feature has been indicated as an optional stop on the itinerary |
list_pref string optional |
Location Numbering list_prefAny associated list presentation preference applied to this location |
location_num number optional |
Location Numbering location_numThe location number, relative to the sibling locations |
location_num_dfs number optional |
Location Numbering location_num_dfsThe accumulative location number for the overall itinerary |
{
"type": "Feature",
"id": 123,
"properties": {
"class": "location_marker",
"lft": 5,
"rgt": 6,
"depth": 0,
"id": "itinerary/XXX/location/XXX",
"external_ref": "myplatform-UUID",
"external_source": "myplatform-section-UUID",
"segments": ["UUID"],
"icon": "itinerary/XXX/icon/YYY",
"label": "Mavis the Grocer",
"tags": ["a tag", "another tag"],
"flags": ["omit-list"],
"optional": true,
"list_pref": "unordered",
"location_num": 2,
"location_num_dfs": 9
},
"geometry": {
"type": "Point",
"coordinates": [0, 0]
}
}Tile Layer: default Geometry: Point
The position preference to obtain directions to
| Property | Description |
|---|---|
class string |
location_directions_preference |
lft number |
Hierarchy lftLeft outermost value |
rgt number |
Hierarchy rgtRight outermost value |
depth number |
Hierarchy depthThe depth of the element, relative to ancestors |
id string |
Node Reference idThe Alpaca related node identifier |
external_ref string optional |
External Identifiers external_refReference identifier in external platform, if any |
external_source string optional |
External Identifiers external_sourceReference source in external platform, if any |
segments text[] |
Itinerary Segments segmentsA collection of assigned segment identifiers for this feature, if any |
optional boolean optional |
Optional Stop information optionalWhether this feature has been indicated as an optional stop on the itinerary |
flags text optional |
Feature Flags Behaviour flagsA collection of keys relating to which behaviours should be omitted when interacting with this feature |
list_pref string optional |
Location Numbering list_prefAny associated list presentation preference applied to this location |
location_num number optional |
Location Numbering location_numThe location number, relative to the sibling locations |
location_num_dfs number optional |
Location Numbering location_num_dfsThe accumulative location number for the overall itinerary |
{
"type": "Feature",
"id": 123,
"properties": {
"class": "location_directions_preference",
"lft": 5,
"rgt": 6,
"depth": 0,
"id": "itinerary/XXX/location/XXX",
"external_ref": "myplatform-UUID",
"external_source": "myplatform-section-UUID",
"segments": ["UUID"],
"optional": true,
"flags": ["omit-list"],
"list_pref": "unordered",
"location_num": 2,
"location_num_dfs": 9
},
"geometry": {
"type": "Point",
"coordinates": [0, 0]
}
}Tile Layer: default Geometry: Point
Point representing a percentiles of progress along the overall directions
| Property | Description |
|---|---|
class string |
directions_distance_progress |
lft number |
Hierarchy lftLeft outermost value |
rgt number |
Hierarchy rgtRight outermost value |
depth number |
Hierarchy depthThe depth of the element, relative to ancestors |
id string |
Node Reference idThe Alpaca related node identifier |
percentage number |
Progress percentagePercentage progress along this feature (Values: 0, 25, 50, 75, 100) |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modalWhether multiple modes of transport are used to describe the itinerary directions |
origin string optional |
Origin / Destination Node Reference originThe origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference destThe destination Itinerary Location Node Reference |
mode enum |
Travel Mode modeA series of values to describe the mode of transport (e.g. foot, car) for this feature |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segmentThe node reference ID of the associated Route Segment feature |
{
"type": "Feature",
"id": 123,
"properties": {
"class": "directions_distance_progress",
"lft": 5,
"rgt": 6,
"depth": 0,
"id": "itinerary/XXX/location/XXX",
"percentage": 50,
"multi_modal": true,
"origin": "itinerary/XXX/location/XXX",
"dest": "itinerary/XXX/location/XXX",
"mode": "car",
"route_segment": "itinerary/XXX/directions/XXX/segment/unstable.0"
},
"geometry": {
"type": "Point",
"coordinates": [0, 0]
}
}Tile Layer: default Geometry: LineString, MultiLineString
Itinerary Directions path for itinerary directions
| Property | Description |
|---|---|
class string |
directions_path |
lft number |
Hierarchy lftLeft outermost value |
rgt number |
Hierarchy rgtRight outermost value |
depth number |
Hierarchy depthThe depth of the element, relative to ancestors |
id string |
Node Reference idThe Alpaca related node identifier |
distance number |
Distance distanceDistance in meters |
duration_min number optional |
Duration duration_minMinimum duration (in minutes) |
duration_max number optional |
Duration duration_maxMaximum duration (in minutes) |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modalWhether multiple modes of transport are used to describe the itinerary directions |
mode enum |
Travel Mode modeA series of values to describe the mode of transport (e.g. foot, car) for this feature |
origin string optional |
Origin / Destination Node Reference originThe origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference destThe destination Itinerary Location Node Reference |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segmentThe node reference ID of the associated Route Segment feature |
index number |
Collection Position indexThe index of this element within the collection (0 indexed) |
length number |
Collection Position lengthThe total length of the collection this feature is part of |
loc_segments_int text[] |
Itinerary Directions Segment Properties loc_segments_intIntersection of segments between the origin and destination locations |
{
"type": "Feature",
"id": 123,
"properties": {
"class": "directions_path",
"lft": 5,
"rgt": 6,
"depth": 0,
"id": "itinerary/XXX/location/XXX",
"distance": 400,
"duration_min": 40,
"duration_max": 40,
"multi_modal": true,
"mode": "car",
"origin": "itinerary/XXX/location/XXX",
"dest": "itinerary/XXX/location/XXX",
"route_segment": "itinerary/XXX/directions/XXX/segment/unstable.0",
"index": 3,
"length": 4,
"loc_segments_int": ["UUID"]
},
"geometry": {
"type": "LineString",
"coordinates": [
[0, 0],
[5, 5],
[10, 10]
]
},
"bbox": [0, 0, 10, 10]
}Tile Layer: default Geometry: Point
The waypoints used for directing along the Itinerary Directions Path
| Property | Description |
|---|---|
class string |
directions_path_waypoint |
lft number |
Hierarchy lftLeft outermost value |
rgt number |
Hierarchy rgtRight outermost value |
depth number |
Hierarchy depthThe depth of the element, relative to ancestors |
id string |
Node Reference idThe Alpaca related node identifier |
origin string optional |
Origin / Destination Node Reference originThe origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference destThe destination Itinerary Location Node Reference |
index number |
Collection Position indexThe index of this element within the collection (0 indexed) |
length number |
Collection Position lengthThe total length of the collection this feature is part of |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modalWhether multiple modes of transport are used to describe the itinerary directions |
mode enum |
Travel Mode modeA series of values to describe the mode of transport (e.g. foot, car) for this feature |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segmentThe node reference ID of the associated Route Segment feature |
loc_segments_int text[] |
Itinerary Directions Segment Properties loc_segments_intIntersection of segments between the origin and destination locations |
{
"type": "Feature",
"id": 123,
"properties": {
"class": "directions_path_waypoint",
"lft": 5,
"rgt": 6,
"depth": 0,
"id": "itinerary/XXX/location/XXX",
"origin": "itinerary/XXX/location/XXX",
"dest": "itinerary/XXX/location/XXX",
"index": 3,
"length": 4,
"multi_modal": true,
"mode": "car",
"route_segment": "itinerary/XXX/directions/XXX/segment/unstable.0",
"loc_segments_int": ["UUID"]
},
"geometry": {
"type": "Point",
"coordinates": [0, 0]
}
}Tile Layer: default Geometry: Point
Point representing a percentiles of progress along the route segment
| Property | Description |
|---|---|
class string |
directions_path_distance_progress |
lft number |
Hierarchy lftLeft outermost value |
rgt number |
Hierarchy rgtRight outermost value |
depth number |
Hierarchy depthThe depth of the element, relative to ancestors |
id string |
Node Reference idThe Alpaca related node identifier |
percentage number |
Progress percentagePercentage progress along this feature (Values: 0, 25, 50, 75, 100) |
origin string optional |
Origin / Destination Node Reference originThe origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference destThe destination Itinerary Location Node Reference |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modalWhether multiple modes of transport are used to describe the itinerary directions |
index number |
Collection Position indexThe index of this element within the collection (0 indexed) |
length number |
Collection Position lengthThe total length of the collection this feature is part of |
mode enum |
Travel Mode modeA series of values to describe the mode of transport (e.g. foot, car) for this feature |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segmentThe node reference ID of the associated Route Segment feature |
loc_segments_int text[] |
Itinerary Directions Segment Properties loc_segments_intIntersection of segments between the origin and destination locations |
{
"type": "Feature",
"id": 123,
"properties": {
"class": "directions_path_distance_progress",
"lft": 5,
"rgt": 6,
"depth": 0,
"id": "itinerary/XXX/location/XXX",
"percentage": 50,
"origin": "itinerary/XXX/location/XXX",
"dest": "itinerary/XXX/location/XXX",
"multi_modal": true,
"index": 3,
"length": 4,
"mode": "car",
"route_segment": "itinerary/XXX/directions/XXX/segment/unstable.0",
"loc_segments_int": ["UUID"]
},
"geometry": {
"type": "Point",
"coordinates": [0, 0]
}
}Tile Layer: metadata Geometry: Polygon
Geometry to assist presenting cameras with associated target features
| Property | Description |
|---|---|
class string |
camera |
target string |
Target Node Reference targetThe Alpaca related node identifier |
bearing number optional |
Viewport Adjustments for Bounds bearingBearing, from 0-360 |
pitch number optional |
Viewport Adjustments for Bounds pitchPitch, from 0-60 |
{
"type": "Feature",
"id": 123,
"properties": {
"class": "camera",
"target": "itinerary/XXX/location/XXX",
"bearing": 270,
"pitch": 60,
"type": "geometry-bounds"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[0, 0],
[5, 0],
[5, 5],
[0, 5],
[0, 0]
]
]
},
"bbox": [0, 0, 10, 10]
}