-
Notifications
You must be signed in to change notification settings - Fork 13
POI specs
Daisuke Sato edited this page Dec 18, 2017
·
8 revisions
Last updated: 2017-03-22
NavCog POI is aiming to describe accessibility information that could not express in spatial pedestrian network (SPN) 2010 (*1).
SPN describe pedestrian network by nodes, links, and facilities
- node indicates just a location
- link has two nodes (start, end) and describes attributes for accessibility
- facilitiy is coupled with a node by a relation called entrance and describes information of destinations of navigation like shops, restaurants, restrooms, and so on.
-
name
: name of the facility -
long_description
: description of the facility. NavCog will read it when the user has arrived the the facility as a destination. - endtrance (doorway) has a node and a facility to mark the node is the entrance of the facility.
-
name
: name of the entrance
- incline/across incline (graduation/crossfall) of slope
- effective width of route
- step height
- road condition
- step lift
- stair lift
- accessible escalator
- accessible elevator
- tactile paving
- auditory guidance device
- Braille for elevator buttons
- handrails
- bus stop existence
- trafic light existence
*1. Spatial pedestrian network 2010 is a draft document by MLIT (Ministry of Land, Infrastructure, Transport and Tourism), Japan (PDF in Japanese). Spatial pedestrian network 2017 is planned to be published.
NavCog POI is defined as an extension of SPN facility. The following table shows extended attributes. This extension is originally for extension of facility itself to describes facility category in a shopping mall.
Extended Attribute Name | Value |
---|---|
major_category |
_nav_poi_ (required) |
sub_category |
(CATEGORY) (required) |
minor_category |
(FLAG)* |
heading |
from -180 to 180. orientation of the information (North=0,East=90,West=-90,South=180,-180), not specified = 0 |
angle |
from 0 to 180. effective angle from the heading to both side (angle=45 makes 90 degree), not specified = 180 |
height |
floor of the poi. 0 means outside. 1 means 1st floor. 2 means 2nd floor. -1 means first basement. if it is not specified, it will be applied to every floors at the location |
name |
name of the POI in default language |
long_description |
long description of the POI in default language |
name:<lang_code> |
name of the POI for the language.<lang_code> is like ja or en see ISO 639-1 |
long_description:<lang_code> |
long description of the POI for the language |
item | description |
---|---|
Purpose | Inform users that the corner is at the end of corridor. |
Required | <height> |
Optional |
<heading> , <angle>
|
Not used |
<name> , <long_description> , <minor_category>
|
Timing | Link Navigation, Link Target Approached |
Example 1 | proceed 7 meters... and make a left turn "at the end of corridor" |
Example 2 | Turn left "at the end of corridor" |
Sample | corner end usually depends on direction ![]() |
Logic |
inAngleAtTarget && inAngleLast && dLocToTarget < C.POI_TARGET_DISTANCE_THRESHOLD
|
item | description |
---|---|
Purpose | Inform users that a landmark exists at the corner |
Required |
<height> , <name>
|
Optional |
<heading> , <angle>
|
Not used |
<long_description> , <minor_category>
|
Timing | Link Navigation, Link Target Approached |
Example 1 | proceed 7 meters... and make a left turn "at the<poi.name> " |
Example 2 | Turn left "at the<poi.name> " |
Sample | if the landmark can be used from specific direction ![]() |
Sample | if the landmark can be used from any direction ![]() |
Logic |
inAngleAtTarget && inAngleLast && dLocToTarget < C.POI_TARGET_DISTANCE_THRESHOLD
|
item | description |
---|---|
Purpose | Inform users that the corner has a warning tactile indicator. |
Required | <height> |
Optional |
<heading> , <angle>
|
Not used |
<name> , <long_description> , <minor_category>
|
Timing | Link Navigation, Link Target Approached |
Example 1 | proceed 7 meters... and make a left turn "at a warning tactile" |
Example 2 | Turn left "at a warning tactile" |
Sample | warning tactile usually does not depends on direction ![]() |
Logic |
inAngleAtTarget && inAngleLast && dLocToTarget < C.POI_TARGET_DISTANCE_THRESHOLD
|
item | description |
---|---|
Purpose | Inform users existence of doors. Announce will be provided before the first door. If the next door is within 5 meters from the last door and the type of doors are the same, annouce will be combined. |
minor_category |
[_flag_auto_] if the door is an auto door set _flag_auto_
|
Required | |
Optional |
<minor_category> , <height>
|
Not used |
<name> , <long_description> , <heading> , <angle>
|
Timing | POI Approaching |
Example 1 | "there is an auto door" |
Example 2 | "there are 2 doors", "there are 3 auto doors" |
Sample | place on each door ![]() |
item | description |
---|---|
Purpose | Inform users the information about elevator call buttons at the elevator hall |
minor_category |
_button_right_|_button_left_|_button_middle_ _button_right_braille_|_button_left_braille_|_button_middle_braille_ , [_flag_plural_] , [_flag_lower_]
|
Required | <minor_category> |
Optional |
<height> , <heading> , <angle>
|
Not used |
<name> , <long_description>
|
Timing | Link Navigation |
Example 1 | "Elevator button is lower right side of the door with Braille." |
Example 2 | "Elevator button is middle of the doors with Braille." |
Sample | place at the elevator call button ![]() |
item | description |
---|---|
Purpose | Inform users the information about elevator control buttons in the elevator |
minor_category |
[_button_right_|_button_right_braille_] , [_button_left_|_button_left_braille_]
|
Required | <minor_category> |
Optional |
<height> , <heading> , <angle>
|
Not used |
<name> , <long_description>
|
Timing | On Elevator |
Example 1 | "Go to the 4th floor. Control buttons with Braille are both side of the exit." |
Sample | place at the elevator link ![]() |
- tactile paving attribute of link is converted into this poi type
- with
<name> = "on tactile paving"
item | description |
---|---|
Purpose | Inform users about the floor information of the link |
minor_category |
[_flag_caution_] |
Required | <name> |
Optional |
<heading> , <angle> , <height> , <minor_category>
|
Not used | <long_description> |
Timing |
Before Link Navigation if with _flag_caution_ otherwise Link Navigation |
Example (Before Link Navigation) |
""Watch your step, <poi.name> ", proceed 45 meters..., and turn left |
Example (Link Navigation) | proceed 45 meters... "<poi.name> ", and turn left |
Sample | TBD |
Logic | if it is on a link, the poi is associated with the link dLocToNearest < POI_FLOOR_DISTANCE_THRESHOLD && inAngleInitial
|
item | description |
---|---|
Purpose | Inform users about general info |
minor_category |
[_flag_caution_] , [_flag_welcome_]
|
Required | <name> |
Optional |
<long_description> , <heading> , <angle> , <height> , <minor_category>
|
Not used | |
Timing |
Before Navigation Start if with _flag_welcome_ Before Link Navigation if with _flag_caution_ otherwise Link Navigation |
Example | "<poi.name> . <poi.long_description> " |
Sample | TBD |
Logic |
inAngleInitial && `(dLocToSource < POI_START_INFO_DISTANCE_THRESHOLD |
- the end of tactile paving is described as this type
- with
<name> = "Tactile paving will not be available"
item | description |
---|---|
Purpose | Inform users about general info |
Required | <name> |
Optional |
<long_description> , <heading> , <angle> , <height> , <minor_category>
|
Not used | <minor_category> |
Timing | After Link Navigation |
Example 1 | turn right, "<poi.name> . <poi.long_description> "
|
Example 2 | turn left, "Tactile paving will not be available" |
Sample | TBD |
Logic |
inAngleInitial && dLocToTarget < POI_END_INFO_DISTANCE_THRESHOLD
|
- the begining of tactile paving is described as thie type for the previous link
- with
<name> = "Tactile paving will be available"
- at the end of the previous link
- it will be provided between "Link Target Approaching" and "Link Target Approached"
- with
- the begining of slope is described as thie type
- with
<name> = "There is a ramp"
- with
- entrance on a link is described as this type
- with
<name> = <entrance.facility.name> + <entrance.name>
- with
item | description |
---|---|
Purpose | Inform users about general info |
minor_category |
[_flag_caution_] |
Required | <name> |
Optional |
<long_description> , <heading> , <angle> , <height> , <minor_category>
|
Not used | |
Timing |
Before Link Navigation if with _flag_caution_ otherwise POI Approaching |
Example 1 (_flag_caution_ ) |
"Caution, <poi.name> . <poi.long_description> " |
Example 2 | "<poi.name> . <poi.long_description> " |
Sample | TBD |
Logic | inAngleInitial |
- entrance at a side of a link is described as this type
- with
<name> = <entrance.facility.name> + <entrance.name>
- with
_flag_onomastic_ flag
item | description |
---|---|
Purpose | Inform users about things around route |
minor_category |
[_flag_plural] , [_flag_onomastic_]
|
Required | <name> |
Optional |
<long_description> , <heading> , <angle> , <height> , <minor_category>
|
Not used | |
Timing | POI Approaching |
Example | "a <poi.name> is on your left side. <poi.long_description> " |
Example (_flag_plural_ ) |
"<poi.name> are on your right side. <poi.long_description> " |
Example (_flag_onomastic_ ) |
"<poi.name> is in front of you. <poi.long_description> " |
Sample | TBD |
Logic | inAngleAtNearest && dLocToNearest < POI_DISTANCE_MIN_THRESHOLD |
item | description |
---|---|
Purpose | Inform users about obstacles around the route. Announce will be provided before the first obstacle. If the next obstacle is within 5 meters from the last obstacle, annouce will be combined. |
Required | |
Optional | <height> |
Not used |
<name> , <long_description> , <minor_category> , <heading> , <angle>
|
Timing | POI Approaching |
Example 1 | "There is a obstacle in your left side" |
Example 2 | "There are obstacles in your both side" |
Sample | place at the location of obstacle |
name | description |
---|---|
poi |
target poi |
loc |
location of the target poi |
nearest |
the nearest location from poi location on a link |
poi.heading |
poi's heading |
poi.angle |
poi's angle |
_link |
the link where the system in navigating for |
_link.targetLocation |
the end point of the link |
_link.sourceLocation |
the start point of the link |
_link.initialBearingFromSource |
the initial bearing at the begining of the link |
_link.lastBearingForTarget |
the last bearing at the end of the link (link can be a polyline) |
dLocToSource |
distanceFromTo(loc, _link.sourceLocation) |
dLocToTarget |
distanceFromTo(loc, _link.targetLocation) |
dLocToNearest |
distanceFromTo(loc, nearest) |
hLocToTarget |
bearingFromTo(loc, _link.targetLocation) |
hInitial |
normalizeDegree(_link.initialBearingFromSource - 180) ; |
hLast |
normalizeDegree(_link.lastBearingForTarget - 180) |
inAngleAtTarget |
the end point of the link is in poi angle ` |
inAngleInitial |
the initial bearing of the ink is in poi angle ` |
inAngleLast |
the last bearing of the link is in poi angle ` |
name | value |
---|---|
POI_START_INFO_DISTANCE_THRESHOLD |
3 |
POI_END_INFO_DISTANCE_THRESHOLD |
3 |
POI_DISTANCE_MIN_THRESHOLD |
5 |
POI_TARGET_DISTANCE_THRESHOLD |
2 |
POI_ANNOUNCE_DISTANCE |
4 |
POI_FLOOR_DISTANCE_THRESHOLD |
2 |
Each navigation instruction is associated with a link.
Timing | example |
---|---|
Before Navigation Start | at before the begining of the navigation. You can provide welcome message for the route. |
Navigation Start | at the begining of the navigaion. The overview of the navigation route "68 meters to somewhere destination name" |
Before Link Navigation | at before link navigation |
Link Navigation | provide navigation of a link and the next action at the end of the link at the begining of the link "proceed 15 meters... and make a slight left turn" if the link is short, the next action is not provided "proceed 5 meters" |
POI Approaching | when user is approaching to the poi |
Link Target Approaching | when the user is approaching to the end of the link if the link is short, it is not provided "approaching" |
Link Target Approached | when the user is approaced at the end of the link provide the action user has to take "turn left" |
After Link Navigation | at after link target approacehd |
Navigaiton End | when the user has arrived at the destination |
After Navigation End | read "<_long_description_> " of the destination facility |
On Elevator | when the user is face to the elevator door after getting on the elevator |