ISPRS, Vol.34, Part 2W2, "Dynamic and Muiti-Dimensional GIS”, Bangkok, May 23-25, 2001
circle we have drawn, we use SQL sentence to query the whole
layer, so it is inefficient, particular when the map is very large
Fig. 5
and the linear road layer contains too many linear objects, the
query action will take relatively long time. So we have improved
the LAA, with the using of the buffer of the road object, we can
save our time. We call it Buffer Linear Abstract Algorithm (BLAA).
Here are the details of the algorithm.
Step 1
If the distance of the vehicle point and one crossroad is less than
a certain value (100m, for example), then put the corrected point
directly on the position of the crossroad.
Step 2
If there is no crossroad point which will satisfy the condition, then
find the road object which is nearest to the point. The road
should locate between two crossroad points. Then create the
buffer of the road object, the radius of the buffer depends on the
precision of the GPS receiver, for GN-77 receiver, 100m is OK.
Step 3
Determine the relationship between the vehicle point and the
buffer. If the vehicle is in the range of the buffer, then put the
objects of the linear road layer which intersect the buffer on
space position into a temporary table, then do the correcting
algorithm in this temporary table. Generally, its much smaller
than the whole linear road layer, this is the key point of efficiency.
Step 4
If the vehicle point intersects no buffer, we just determine that the
vehicle is no longer on the original road. Go to step 1.
Step 5
Put the corrected point on the map. Get the next point and go to
step 1.
BLAA is the improved algorithm of LAA, which increase the
efficiency of querying and the ability of processing by the means
of using the buffer of a road object. The biggest advantage of
BLAA is that it converts the relationship between the vehicle
point and the whole road map into the relationship between the
vehicle point and one of the objects in the road map. What we
need is to determine the spacial relationship between the vehicle
point and one buffer, rather than to find a road object in the
whole road map. Note that it takes time to create a buffer in
Maplnfo. So if there are not too many objects in a map, BLAA
may have no advantage against LAA; but if the map is very large
(i.e. contains many objects), you’d better use BLAA.
3. SIMULATION RESULTS
Maplnfo is the most prevalent desktop GIS, and MapBasic is an
ideal programming language based on the Maplnfo platform. The
authors realize LAA algorithm by integrating Maplnfo into VB 5.0.
We use the map of North District of Changsha in the experiment,
and the GPS receiver is a GN-77 receiver, Fig. 6 shows the
result of the experiment, the points on the roads are corrected
points.
Look at point A, there is a crossroad near it, the distance
between the crossroad and the vehicle point is less than 100m
(87.3m in deed). So according to step 1 of LAA, we should put
the corrected point on the crossroad. Similarly, we put corrected
points of point B and point C respectively on crossroad nearest
to them. But at point D, road DE is the nearest to point D.
However, we can’t decide whether the vehicle is to go straight or
is to turn left, so according to step 3 of LAA, we ignore this point.
Point E is a common point. The names of the road nearest to
point D and point E are of the same, so we put the corrected
point of E on the line segment nearest to it. The coordinates are
calculated in step 5 of LAA. Other points like point F are the
same as point E.