//:
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
null
values will be noted, and fields that are optional will be marked so.null
or 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 lft Left outermost value |
rgt number |
Hierarchy rgt Right outermost value |
depth number |
Hierarchy depth The depth of the element, relative to ancestors |
id string |
Node Reference id The Alpaca related node identifier |
external_ref string optional |
External Identifiers external_ref Reference identifier in external platform, if any |
external_source string optional |
External Identifiers external_source Reference source in external platform, if any |
segments text[] |
Itinerary Segments segments A collection of assigned segment identifiers for this feature, if any |
icon text optional |
Icon icon The id of the itinerary icon |
label text optional |
Content label The primary label associated with this feature |
tags text[] optional |
Content tags Any assigned user tags |
flags text optional |
Feature Flags Behaviour flags A collection of keys relating to which behaviours should be omitted when interacting with this feature |
optional boolean optional |
Optional Stop information optional Whether this feature has been indicated as an optional stop on the itinerary |
list_pref string optional |
Location Numbering list_pref Any associated list presentation preference applied to this location |
location_num number optional |
Location Numbering location_num The location number, relative to the sibling locations |
location_num_dfs number optional |
Location Numbering location_num_dfs The 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 lft Left outermost value |
rgt number |
Hierarchy rgt Right outermost value |
depth number |
Hierarchy depth The depth of the element, relative to ancestors |
id string |
Node Reference id The Alpaca related node identifier |
external_ref string optional |
External Identifiers external_ref Reference identifier in external platform, if any |
external_source string optional |
External Identifiers external_source Reference source in external platform, if any |
segments text[] |
Itinerary Segments segments A collection of assigned segment identifiers for this feature, if any |
optional boolean optional |
Optional Stop information optional Whether this feature has been indicated as an optional stop on the itinerary |
flags text optional |
Feature Flags Behaviour flags A collection of keys relating to which behaviours should be omitted when interacting with this feature |
list_pref string optional |
Location Numbering list_pref Any associated list presentation preference applied to this location |
location_num number optional |
Location Numbering location_num The location number, relative to the sibling locations |
location_num_dfs number optional |
Location Numbering location_num_dfs The 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 lft Left outermost value |
rgt number |
Hierarchy rgt Right outermost value |
depth number |
Hierarchy depth The depth of the element, relative to ancestors |
id string |
Node Reference id The Alpaca related node identifier |
percentage number |
Progress percentage Percentage progress along this feature (Values: 0, 25, 50, 75, 100) |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modal Whether multiple modes of transport are used to describe the itinerary directions |
origin string optional |
Origin / Destination Node Reference origin The origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference dest The destination Itinerary Location Node Reference |
mode enum |
Travel Mode mode A series of values to describe the mode of transport (e.g. foot, car) for this feature |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segment The 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 lft Left outermost value |
rgt number |
Hierarchy rgt Right outermost value |
depth number |
Hierarchy depth The depth of the element, relative to ancestors |
id string |
Node Reference id The Alpaca related node identifier |
distance number |
Distance distance Distance in meters |
duration_min number optional |
Duration duration_min Minimum duration (in minutes) |
duration_max number optional |
Duration duration_max Maximum duration (in minutes) |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modal Whether multiple modes of transport are used to describe the itinerary directions |
mode enum |
Travel Mode mode A series of values to describe the mode of transport (e.g. foot, car) for this feature |
origin string optional |
Origin / Destination Node Reference origin The origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference dest The destination Itinerary Location Node Reference |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segment The node reference ID of the associated Route Segment feature |
index number |
Collection Position index The index of this element within the collection (0 indexed) |
length number |
Collection Position length The total length of the collection this feature is part of |
loc_segments_int text[] |
Itinerary Directions Segment Properties loc_segments_int Intersection 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 lft Left outermost value |
rgt number |
Hierarchy rgt Right outermost value |
depth number |
Hierarchy depth The depth of the element, relative to ancestors |
id string |
Node Reference id The Alpaca related node identifier |
origin string optional |
Origin / Destination Node Reference origin The origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference dest The destination Itinerary Location Node Reference |
index number |
Collection Position index The index of this element within the collection (0 indexed) |
length number |
Collection Position length The total length of the collection this feature is part of |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modal Whether multiple modes of transport are used to describe the itinerary directions |
mode enum |
Travel Mode mode A series of values to describe the mode of transport (e.g. foot, car) for this feature |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segment The node reference ID of the associated Route Segment feature |
loc_segments_int text[] |
Itinerary Directions Segment Properties loc_segments_int Intersection 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 lft Left outermost value |
rgt number |
Hierarchy rgt Right outermost value |
depth number |
Hierarchy depth The depth of the element, relative to ancestors |
id string |
Node Reference id The Alpaca related node identifier |
percentage number |
Progress percentage Percentage progress along this feature (Values: 0, 25, 50, 75, 100) |
origin string optional |
Origin / Destination Node Reference origin The origin Itinerary Location Node Reference |
dest string optional |
Origin / Destination Node Reference dest The destination Itinerary Location Node Reference |
multi_modal boolean optional |
Multi-modal Travel Properties multi_modal Whether multiple modes of transport are used to describe the itinerary directions |
index number |
Collection Position index The index of this element within the collection (0 indexed) |
length number |
Collection Position length The total length of the collection this feature is part of |
mode enum |
Travel Mode mode A series of values to describe the mode of transport (e.g. foot, car) for this feature |
route_segment string |
ItineraryDirections / RouteSegment Relationship route_segment The node reference ID of the associated Route Segment feature |
loc_segments_int text[] |
Itinerary Directions Segment Properties loc_segments_int Intersection 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 target The Alpaca related node identifier |
bearing number optional |
Viewport Adjustments for Bounds bearing Bearing, from 0-360 |
pitch number optional |
Viewport Adjustments for Bounds pitch Pitch, 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]
}