Embodiments of the present invention relates to an information processing apparatus, a method, and a program.
In recent years, there has been an active development of technologies such as vehicle safety driving support or car navigation. For these technologies, it is important to provide width information of an object, which indicates whether there is a road has a width which allows a vehicle to move, whether a road has a width which allows a vehicle to pass another vehicle parked on the road, and the like.
Conventionally, there is a method of calculating the width of a road using road centerline vector data and block line vector data (see patent literature 1, for example).
Patent literature 1: Jpn. Pat. Appln. KOKAI Publication No. 2001-084357
However, the technology disclosed in patent literature 1 requires road center line data to calculate the width of a road. Though the technology makes it possible to calculate the width of a road, it has the problem that a roadway width necessary for the navigation of automobiles or pedestrians and a sidewalk width which allows pedestrians to pass cannot be calculated individually.
This invention has been made in consideration of the above situation and its object is to provide an information processing apparatus, a method, and a program capable of obtaining information suitable to calculate the width of an object without using data of the center line of the object.
To attain the above object, according to one aspect of the present invention, an information processing apparatus comprises: a terrain data processing unit which performs a terrain data process of calculating a terrain coordinate group based on terrain data in which a position and a shape of an object are represented by a plurality of nodes or are represented by a plurality of nodes and a link between the nodes; and a selection processing unit which selects nodes adjacent or close to each other, indicated by the terrain coordinate group calculated by the terrain data processing unit, and selects a node suitable to calculate a width of the object from other nodes based on a positional relationship between the selected nodes and the other nodes.
According to one aspect of the present invention, an information processing method executed by the information processing apparatus comprises: calculating a terrain coordinate group based on terrain data in which a position and a shape of an object are represented by a plurality of nodes or are represented by a plurality of nodes and a link between the nodes; and selecting nodes adjacent or close to each other, indicated by the calculated terrain coordinate group, and selecting a node suitable to calculate a width of the object from other nodes based on a positional relationship between the selected nodes adjacent or close to each other and the other nodes.
According to each aspect of the present invention, information suitable to calculate the width of an object can be obtained without using data of the center line of the object.
An embodiment of the present invention will be described below with reference to the drawings.
Terrain data is, for example, polygon data and polylines constituting a map service. The terrain data is created as layer data in which the positions and shapes of objects such as roads, tunnels, sidewalks, rivers, railroads and buildings, which are present on a map, are represented by nodes and links.
Note that the terrain data may be created from aerial photographs. The terrain data is not limited to the aerial photographs, but may be created from information measured by vehicles equipped with a camera and various sensors. Alternatively, map data created virtually for computer games and the like can also be used as terrain data.
The width calculation apparatus 100 shown in
The width calculation apparatus 100 is configured by, for example, a personal computer, and includes a control unit 10, a storage unit 20 and an input/output interface unit (referred to as an input/output I/F hereinafter) 30.
The input/output I/F 30 supplies terrain data to the control unit 10. The input/output I/F 30 also generates display data and outputs the display data to a display unit, an external device or the like, which displays a screen, etc. by, for example, a file and a map application program, to display a width calculation result.
The storage unit 20 includes a nonvolatile memory, such as a hard disk drive (HDD), a solid state drive (SSD), to and from which data can be written and read as needed, a read only memory (ROM) used as a program memory, and the like, as storage media, and also includes a terrain coordinate group storage unit (terrain coordinate group data storage unit) 21, a width data storage unit 22 and a map data storage unit 23.
The terrain coordinate group storage unit 21 is used to store terrain coordinate group data calculated by a terrain data processing unit 11 of the control unit 10.
The width data storage unit 22 is used to store width data calculated by a width calculation unit 12 of the control unit 10.
The map data storage unit 23 is used to provide map data for a width output control unit 13 of the control unit 10.
The control unit 10 includes, for example, a central processing unit (CPU), and also includes the terrain data processing unit 11, width calculation unit 12 and width output control unit 13 as processing functions necessary for width calculation.
The functions of the terrain data processing unit 11, width calculation unit 12 and width output control unit 13 are fulfilled by causing the CPU to execute programs stored in the program memory of the storage unit 20.
Note that the programs for executing the processing by the terrain data processing unit 11, width calculation unit 12 and width output control unit 13 may be stored in advance in the storage unit 20 in the width calculation apparatus 100 for use or may be stored in an application server and the like on a network for use.
In this case, the width calculation apparatus 100 downloads a necessary program from the application server via the network when the need arises to fulfill the functions of the terrain data processing unit 11, width calculation unit 12 and width output control unit 13.
First, the width calculation apparatus 100 acquires terrain data (S11), calculates terrain coordinate group data by terrain data processing to be described later (S12), calculates a width by a width calculation process to be described later (S13), performs a width output control process to be described later (S14), and outputs a processing result to a display unit or an external device (S15).
Assume here that, as an example of terrain data, a number of boundaries between various objects such as roads, sidewalks, rivers and buildings are plotted and expressed as nodes based on latitude information and longitude information and the continuity of these boundaries is expressed by straight lines (links) connecting adjacent nodes.
Assume that an area occupied by the terrain is represented on a map or the like by drawing a figure by the nodes and links. The terrain data may be created by a person based on an aerial photograph, for example.
In this case, the terrain data are managed separately as nodes and links of only roads if the object is roads, as those of only sidewalks if it is sidewalks, as those of only rivers if it is rivers, and as those of only buildings if it is buildings. When these nodes and links are superposed appropriately as layers, more complicated terrain can be expressed.
In addition, assume that an object extending widely, such as roads is managed by dividing it into small areas (blocks) with their intersections, etc. as boundaries between the areas. The following is an example of terrain data of road sections. The terrain data of sidewalk sections is managed separately from that of the road sections. The format of terrain data of the sidewalk sections is the same as that of terrain data of the road sections.
Road section block (1): [(xr1, yr1), (xr2, yr2), . . . (xr7, yr7), (xr1, yr1)]
Road section block (2): [(xr8, yr8), (xr9, yr9), . . . (xr14, yr14), (xr8, yr8)]
Assume here that each of the road section blocks has the same value at the starting and ending point nodes and a figure drawn by a straight line (link) connecting the nodes is drawn unicursally.
As described above, the nodes are expressed by latitude information and longitude information, but may be expressed using, for example, a distance from a certain starting point as in the Japanese plane rectangular coordinate system or using latitude information and longitude information obtained by converting these.
As a process shown in
Then, the terrain data processing unit 11 divides the extracted terrain data into blocks to be described later through a block division process (S12-3).
The terrain data processing unit 11 also removes information on nodes that overlap between blocks of the terrain data through an inter-block overlapping coordinates removing process, which will be described later (S12-4), and stores terrain coordinate group data that is data after the removal in the terrain coordinate group storage unit 21 of the storage unit 20 (S12-5).
As a selection processing unit, the width calculation unit 12 acquires terrain coordinate group data from the terrain coordinate group storage unit 21 of the storage unit 20 (S13-1), and selects a block to be processed from the terrain coordinate group data (S13-2).
Then, the width calculation unit 12 selects two adjacent nodes in the selected block (S13-3). Based on the positional relationship between the selected two nodes and the other nodes in the selected block, the width calculation unit 12 selects from the other nodes a node suitable for the calculation of the width of an object (S13-4).
In the present embodiment, two adjacent nodes are selected in S13-3, but the present invention is not limited to this. For example, a plurality of nodes, which are located on the same straight line and are close to each other, may be selected.
In addition, the width calculation unit 12 calculates the width from the positional relationship between the node selected in S13-4 and the two adjacent nodes (S13-5), and stores data of the width in the width data storage unit 22 of the storage unit 20 (S13-6). S13-2 to S13-6 are executed for each block selected from the terrain coordinate group data, and S13-3 to S13-5 are executed for each set of two nodes selected in the block.
First, the width output control unit 13 acquires width data from the width data storage unit 22 of the storage unit 20 (S14-1), and acquires map data from the map data storage unit 23 (S14-2). The width output control unit 13 outputs the width data to a display device in the width calculation apparatus 100 or a display device outside the width calculation apparatus 100 and displays it on the map data based on latitude information and longitude information of the width data (S14-3).
In the example shown in
In addition, a concrete boundary block 230 is provided at the boundary between the sidewalk section 210 and the roadway section 220. The structure of the road section 200 is not limited to the example shown in
The following is an example of node data representing a road section block.
Road section block: [(xr1, yr1), (xr2, yr2), . . . (xr17, yr17), (xr18, yr18), (xr1, yr1)]
The following is an example of node data representing sidewalk blocks.
Sidewalk section block (1): [(xs1, ys1), (xs2, ys2), . . . , (xs7, ys7), (xs1, ys1)]
Sidewalk section block (2): [(xs8, ys8), (xs9, ys9), . . . , (xs14, ys14), (xs8, ys8)]
Note that the rhombic figures in
Next is a description of an example of width calculation. The present embodiment is directed to an example of each of the processes of S13-3, S13-4, S13-5 and S13-6, that is, (1) a process of selecting two adjacent nodes in a block and, based on the positional relationship between the selected two nodes and the other nodes in the block, selecting from the other nodes a node suitable for the calculation of the width of an object; (2) a process of calculating a width from the positional relationship between the selected two nodes and the two adjacent nodes; and (3) a process of storing data of the width in the width data storage unit 22.
First, as a selection processing unit, the width calculation unit 12 selects two adjacent nodes and selects a node group existing within a fixed distance from the coordinates of both the nodes.
Assume that in the block shown in
Then, in the terrain coordinate group data, a certain node and nodes before and after the node, that is, two points before and after the node on the unicursal route are adjacent to each other. In the present embodiment, the width calculation unit 12 uses this adjacency to use a set of a node and a node described as a coordinate immediately after this node in the road section block A for the width calculation process.
Road section block A: [(xr1, yr1), (xr2, yr2), . . . , (xr9, yr9), (xr10, yr10), (xr1, yr1)]
The present invention is not limited to this. In the terrain coordinate group data, a set of a node and its preceding node, that is, a node described immediately before the node on the unicursal route may be used for the width calculation process. In addition, when the terrain coordinate group data is described such that a unicursal route is formed in a counterclockwise direction, the width calculation unit 12 may perform the subsequent processes to conform to the description or may replace the order of description in advance along the clockwise direction.
Then, the width calculation unit 12 determines distance d as a parameter necessary for a process of selecting a node suitable for use in the width calculation process. The distance d may be, for example, a fixed value (e.g., 100 [m]), an average distance between nodes in the block, a value obtained by multiplying the distance by N, or a value obtained by multiplying the national average width for each road type (expressways, city roads, etc.) by M. In addition, the width calculation unit 12 may determine a plurality of distances such as distances d1 and d2.
Subsequently, as a selection processing unit, the width calculation unit 12 selects, under the OR condition, a node K existing within the fixed distance d from two selected nodes “1” and “2”, as shown in
In the example shown in
When each node of the road section block A is described by latitude information and longitude information, the width calculation unit 12 converts the latitude information and the longitude information described in each node into the Japanese plane rectangular coordinate system, and then performs calculations relating to the distances d1 and d2.
Subsequently, as shown in
As shown in
There are characteristics that the inner product is a positive value when the angle between vectors is between 0 degree and 90 degrees, it is 0 when the angle is between 90 degrees, and it is a negative value when the angle is between 90 degrees and 180 degrees.
From the characteristics, the width calculation unit 12 determines a node K in which the inner products calculated in accordance with the following expressions (1) and (2) are both positive values thereby to select a node K suitable as an origin of a perpendicular drawn orthogonally to the vector “1→2” from the own node. In the example shown in
In this example, the case where the inner product is 0 is excluded, but it may include 0.
Subsequently, as shown in
Assuming that the first and second vectors are present on the same plane, there are characteristics that the outer product is a negative value when the second vector exists in the direction in which the first vector is rotated clockwise and it is a positive value when the second vector exists in a direction in which the first vector is rotated counterclockwise. From the characteristics, the width calculation unit 12 selects a node K which satisfies the following expression (3).
In the example shown in
This is based on the assumption that the terrain coordinate group data of a road section is described so as to form a unicursal route clockwise such as node “1”→node “2”→ . . . →node “10”→node “1” as described above, and uses the characteristics that a node existing on the opposite side of a road with regard to the vector “1→2” is present in a direction in which the vector “1→2” is rotated clockwise.
When the description method is different, for example, when the terrain coordinate group data is described so as to form a unicursal route counterclockwise, such as node “1”→node “10”→ . . . →node “2”→node “1,” the conditional expressions may be changed.
In this case, a node existing on the opposite side of the road with respect to the vector “2→1” when the node K is calculated, is present in a direction in which the vector “2→1” is rotated counterclockwise. Thus, a node K whose outer product is a positive value is selected as given in the following expression (4).
In this example, the width calculation unit 12 selects a node K existing within a fixed distance d from two selected nodes under the OR condition, and then extracts a node that is orthogonal to a vector connecting two points. However, the selection and extraction may be performed in reverse order.
That is, in
Similarly, the width calculation unit 12 calculates the inner product of vector “2→1” (V21) and vector “2→each node K” (V2K) and selects node K whose inner product is a positive value according to the expression (2), thereby selecting nodes “5” and “10.”
Then, the width calculation unit 12 calculates an outer product of the vector “1→2” and vector “1→each selected node K” (here, nodes “5” and “10”) and selects node K whose outer product is a negative value according to the expression (3), thereby selecting node “5.”
Then, the width calculation unit 12 determines whether the node “5” exists within a fixed distance d from nodes “1” and “2” under the OR condition. The node “5” corresponds to the condition.
With respect to the extraction of a node that is orthogonal to a vector connecting two nodes, too, the width calculation unit 12 may obtain a node in which the outer product of the vector “1→2” and vector “1→all nodes K” is a negative value (nodes “4” to “7” are selected), and then obtain an inner product of the vector “1→2” (V12) and the vector “1→each node K” (V1K) and an inner product of the vector “2→1” (V21) and the vector “2→each node K” (V2K), and select a node in which both inner products are positive values. Here, the node “5” is selected.
As shown in
For example, the width calculation unit 12 calculates the distance of a vector “K L” according to the following expressions (5) and (6) based on the outer product of the vectors “1→2” and “1→K” and the relationship between the vectors “1→2” and “1→K.”
From the expressions (5) and (6), the width calculation unit 12 can calculate the distance of the vector “K→L,” in this case, the distance between the coordinates of the intersection L and the coordinates of the node “5” according to the following expression (7).
The width calculation unit 12 calculates the distance of a vector “1→L” based on the inner product of the vectors “1→2” and “1→K” and the relationship between the vectors “1→K” and “1→L” and calculates the ratio of the distance between the vectors “1→2” and “1→L.” Using a result of the calculations and the latitude information and longitude information of the nodes “1” and “2,” the width calculation unit 12 can calculate the coordinates of the intersection L according to the following expressions (8) and (9).
From the expressions (8) and (9), the width calculation unit 12 can calculate the distance of the vector “1→L” according to the following expression (10).
The coordinates (xL, yL) of the intersection L are present on the straight line connecting two points of (xr1, yr1) and (xr2, yr2). The width calculation unit 12 can thus calculate the coordinates of the intersection L according to the following expressions (11) and (12). When necessary, the width calculation unit 12 converts the coordinate system into the Japanese plane rectangular coordinate system and then calculates the coordinates of the intersection L.
Based on the above, the width calculation unit 12 stores the distance of the vector “1→L” (i.e., the width KL) in the width data storage unit 22, as the following width (1), together with the coordinates of the node K (a node suitable for use in the width calculation process) and the coordinates of the intersection L.
Width (1): [(xk, yk), (xL, yL), KL]
Note that when there are a plurality of nodes K as described below, the width calculation unit 12 stores a width corresponding to each node as a separate record in the width data storage unit 22 as the following widths (1) and (2).
Width (1): [(xk1, yk1), (xL1, yL1), KL1]
Width (2): [(xk2, yk2), (xL2, yL2), KL2]
The width calculation unit 12 carries out the foregoing process in sequence for nodes “2” and “3”, for nodes “3” and “4”, . . . and for nodes “10” and “1” and stores the width data in the width data storage unit 22. After the process for the block is completed, the width calculation unit 12 performs a process for the next block.
Assume in the present embodiment that the width data is stored in the width data storage unit 22 as separate data items for road types, such as separate data items for road sections and sidewalk sections.
In the present embodiment, the road section shown in
The width output control unit 13 provides the map data with latitude and longitude information of the node K (a node suitable for use in the width calculation process) and the intersection L of the width data, displays an arrow as a line connecting two nodes, and also displays the width KL in the vicinity of the arrow, thereby obtaining output data of the width.
The following is a description of an example of an exceptional process.
As will be described below, if the terrain coordinate group data is data described as a sidewalk block (1) in which a plurality of blocks are one item of data, the terrain data processing unit 11 may divide it into the following sidewalk section blocks (1-1) and (1-2) in block units as pre-processing, and then perform subsequent processes.
Sidewalk section block (1): [(xs1, ys1), (xs2, ys2), . . . , (xs7, ys7), (xs1, ys1), (xs8, ys8), (xs9, ys9), . . . , (xs14, ys14), (xs8, ys8), . . . ]
Sidewalk section block (1-1): [(xs1, ys1), (xs2, ys2), . . . , (xs7, ys7), (xs1, ys1)]
Sidewalk section block (1-2): [(xs8, ys8), (xs9, ys9), . . . , (xs14, ys14), (xs8, ys8)]
When there is a node in a roadway section or the like as a junction (c in
Road section terrain data (1): [(xr1, yr1), . . . , (xr4, yr4), (xr5, yr5), (xr6, yr6), (xr7, yr7), . . . , (xr17, yr17), (xr18, yr18), (xr1, yr1)]
Road section terrain data (5): [(xr80, yr80), . . . , (xr4, yr4), (xr5, yr5), (xr6, yr6), (xr7, yr7), . . . , (xr80, yr80)]
In addition, the first and last nodes of the common nodes may be left as the edges of the road. In the example shown in
If, furthermore, a road is treated as a separate layer for each road type, such as an expressway, a national road, and a prefectural road, without being uniformly summarized as a road, a connecting surface also exists among different road types. For this reason, the terrain data processing unit 11 may perform a process such as removing nodes or leaving nodes at the edges of the road as a pre-processing, and then perform a process of removing other nodes.
However, there is a case in which the width cannot be calculated if a three-dimensional connecting surface between road types is to be removed, such as a sidewalk existing as a layer on a road or an expressway existing on a general road. It is therefore necessary to pay attention to the three-dimensional structure between layers.
Assume here that, as shown in
(1): [(xs11, ys11), (xs12, ys12), (xs13, ys13), (xs14, ys14), (xs15, ys15), (xs11, ys11)]
(2): [(xs21, ys21), (xs22, ys22), (xs23, ys23), (xs24, ys24), (xs21, ys21)]
Even with the above descriptions, the width calculation unit 12 may first select, from the outer peripheral node, a node K satisfying a condition on both the outer peripheral node and the inner peripheral node in the terrain coordinate group data to perform the same process, and then select, from the inner peripheral node, a node K satisfying a condition on both the outer peripheral node and the inner peripheral node to perform the same process.
(Sidewalk section block): [(xs11, ys11), (xs12, ys12), (xs13, ys13), (xs14, ys14), (xs15, ys15), (xs11, ys11)], [(x21, ys21), (xs22, ys22), (xs23, ys23), (xs24, ys24), (xs21, ys21)]
In the example shown in
On the other hand, when the description order of nodes on the inner periphery is clockwise and the width calculation unit 12 selects, from the inner peripheral node, a node K satisfying a condition on both the outer peripheral node and the inner peripheral node as described above, it may change the process appropriately by, for example, selecting a node in a direction in which the first vector is rotated counterclockwise as the node K.
For example, the width line drawn from the node “7” to a point between the nodes “1” and “2” in
When the calculated width line A has an intersection, the width calculation unit 12 may exclude the calculated width line A from an object to be stored in the width data storage unit 22 as being unsuitable for the road width.
In addition, for example, the width line A drawn from the node “6” to a point between the nodes “1” and “2” in
As for such a node K, the width calculation unit 12 evaluates, as post-processing after calculating the width lines for all nodes in the block, whether the width lines have an intersection with each other. In the example shown in
When the width line A has an intersection, the width calculation unit 12 may exclude the width line A from an object to be stored in the width data storage unit 22 as being unsuitable for the road width.
Further, when the target is a road with a small number of nodes and a very small number of width lines drawn in a block, such as a long straight road, an intermediate node “1.5” is provided between the nodes “1” and “2” and a processing may be performed using the nodes “1” and “1.5” and the nodes “1.5” and “2”.
A supplementary description will be given below. When each of the processes described above is performed for other blocks, map data which covers the nationwide road network and which includes width information on roads, sidewalks and roadways can be achieved.
When the coordinates of each node are expressed by the longitude and latitude or when the coordinates of each node are expressed sexagesimally in the form of degrees, minutes and seconds, the width calculation apparatus 100 may, for example, convert the coordinate system into the Japanese plane rectangular coordinate system to convert the coordinate system into a format suitable to calculate a distance and an angle. Similarly, when the width data is displayed on the map data, the width calculation apparatus 100 may perform a process of converting the coordinate system into a coordinate system matching the displayed map.
If there is terrain data which is not limited to a road, the width calculation apparatus 100 can also calculate the width of an object such as a river and a building and achieve map data provided with the width information.
In the example shown in
The communication interface 114 includes, for example, one or more wireless communication interface units to allow information to be transmitted to and received from a communication network NW. Examples of the wireless interface that may be used include an interface that adopts a low-power wireless data communication standard such as a wireless local area network (LAN).
An input device 50 and an output device 60 for an operator attached to the width calculation apparatus 100 are connected to the input/output interface 113.
The input/output interface 113 performs a process of taking in operation data input by an operator through an input device 50 such as a keyboard, a touch panel, a touchpad, a mouse, etc., and outputting output data to an output device 60 including a display device that uses liquid crystals, organic electroluminescence (EL), etc. to cause the output device 60 to display the output data. As the input device 50 and the output device 60, a device built in the width calculation apparatus 100 may be used;
alternatively, an input device and an output device of another information terminal capable of communicating with the width calculation apparatus 100 via a network NW may be used.
The program memory 111B used is, as a non-transitory, tangible storage medium, a combination of a non-volatile memory such as a read-only memory (ROM) and a non-volatile memory such as a hard disk drive (HDD) or a solid-state drive (SDD) that allows for on-demand writing and reading, and stores programs necessary for executing various control processes according to the embodiment.
The data memory 112 is a tangible storage medium in which, for example, the above-described nonvolatile memory and a volatile memory such as a random access memory (RAM) are used in combination, and is used to store various types of data acquired and created in the course of performing various processes.
The width calculation apparatus 100 according to the embodiment of the present invention, which function as software-based processing function units, may be configured as an information processing apparatus including the terrain data processing unit 11, width calculation unit 12 and width output control unit 13 illustrated in
The terrain coordinate group storage unit 21, width data storage unit 22 and map data storage unit 23 of the storage unit 20 can be configured by using the data memory 112 shown in
All of the processing function units in each of the terrain data processing unit 11, width calculation unit 12 and width output control unit 13 can be achieved by causing the hardware processor 111 to read and execute a program stored in the program memory 111B. Note that some or all of these processing function units may be implemented by various other forms including integrated circuits such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).
As described above, the width calculation apparatus according to the embodiment of the present invention pays attention to the relationship between nodes in terrain data in which the position and shape of an object are represented by nodes or are represented by nodes and links to specify a node capable of drawing a line segment corresponding to the width and calculate the width from the relationship between the coordinates of two points constituting the line segment.
Thus, the width of a road can be calculated without using data of the centerline of the road. Furthermore, not only the width of a road but also the width of a roadway and that of a sidewalk can be calculated. When the shape of a road is changed by construction or the like, width information can quickly be reflected on the basis of, for example, polygon data generated from an aerial photograph or the like. Also, the roadway width and sidewalk width can easily be calculated from terrain data of an optional layer such as a road and a sidewalk by associating them with their respective terrain data.
According to the embodiment of the present invention, furthermore, it is possible to obtain in advance information as to whether there is a width that allows vehicles such as a garbage truck or a truck driven by a deliveryman to pass, whether there is a width of a road on which a vehicle can pass when another vehicle is parked or stopped inevitably on the road, and the like. Further, the embodiment of the present invention can provide a static map including width information, a navigation application for offering the optimum navigation using the width information, and the like.
According to a first aspect of the information processing apparatus according to the embodiment of the present invention, nodes adjacent or close to each other, which are indicated by a terrain coordinate group calculated from terrain data, are selected, and a node suitable to calculate the width of an object is selected from other nodes based on the positional relationship between the selected nodes and the other nodes. The use of the terrain data allows a node suitable to calculate the width of an object to be selected.
According to a second aspect of the information processing apparatus according to the embodiment of the present invention, a terrain coordinate group is calculated based on terrain data representing at least one object among a road, a sidewalk in the road, and a roadway in the road. Thus, a terrain coordinate group relating to an object suitable to calculate the width can appropriately be calculated.
According to a third aspect of the information processing apparatus according to the embodiment of the present invention, nodes suitable as an origin of a perpendicular drawn to a link connecting selected nodes adjacent or close to each other are selected, a node suitable to calculate the width is selected from the selected nodes suitable as an origin of the perpendicular, an intersection between the link and the perpendicular is calculated as a width calculation process, and the width of an object is calculated based on the positional relationship between the intersection and the node suitable to calculate the width or the distance of the perpendicular connecting the intersection and the node suitable to calculate the width. Thus, the width of the object can appropriately be calculated.
According to a fourth aspect of the information processing apparatus according to the embodiment of the present invention, a width output control process of outputting the calculated information indicating the width to the outside is further performed. Thus, information regarding the width of an object can appropriately be output.
According to a fifth aspect of the information processing apparatus according to the embodiment of the present invention, a width output control process of outputting information indicating one or more of the selected nodes adjacent or close to each other, the nodes suitable to calculate the width, and the intersection, in addition to the calculated information indicating the width, to the outside is further performed. Thus, information on the width of an object can appropriately be output.
The methods described in the embodiments can be stored as programs (software means) that can be executed by a computer, in a recording medium such as a magnetic disk (Floppy (registered trademark) disk, hard disk etc.), an optical disk (CD-ROM, DVD, MO etc.), and a semiconductor memory (ROM, RAM, flash memory etc.), or can also be transferred and distributed by means of a communication medium. Note that the programs stored in a medium may include a configuration program for configuring, in the computer, software means (including not only an execution program, but also a table and a data structure) that is to be executed by the computer. The computer that realizes the present apparatus loads the programs stored in the recording medium, configures the software means using the configuration program depending on the case, and performs the above-described processing due to operations being controlled by the software means. Note that the “recording medium” mentioned in the present specification is not limited to one for distribution, but may also include a recording medium such as a magnetic disk, a semiconductor memory, or the like that is provided in a device connected in the computer or connected thereto via a network.
Note that the present invention is not limited to the above embodiments, and may be modified in various manners without departing from the gist of the invention at the implementation stage. The embodiments may be combined as appropriate as much as possible, and in this case, combined effects can be achieved. Furthermore, the embodiments include the invention at various stages, and various inventions may be extracted by appropriately combining a plurality of disclosed constituent elements.
Number | Date | Country | Kind |
---|---|---|---|
2019-050686 | Mar 2019 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/007106 | 2/21/2020 | WO | 00 |