172
2 SYSTEM ARCHITECTURE
The architecture of web raster chart system (see
Figure 1) comprises of chart tiles database, the raster
chart application server, web server and Internet
explorer. The database, as its name shows, is used to
store the chart tiles at the server side. All chart tiles
in the database are well organized to accelerate the
access speed. The function of raster chart application
server is to accept certain chart operation request
from the web server, select certain chart tiles from
the database and send the tiles back to the web
server. The web server accepts the user’s requests
from the internet browser, balances the load and
manages the services, re-orientates the requests to
the raster chart application server and accepts the
chart tiles from the raster chart application server,
and then sends them back to the web browser at the
user’s end in the PNG format. The web browser
accepts and uploads the user’s requests to the web
server, downloads the raster chart rendering
programs (in javascript) and chart tiles, and then
displays the accepted chart tiles to the user.
??
??
Browser Browser
Web Server
Java Scripts, JSPs
Application Server
Servlets
Chart Tile
Database
HTTP
HTTP
Fig. 1. System Architecture
3 CHART TILE DATABASE CONSTRUCTION
The chart tile database construction is a process to
create pre-rendered chart tiles from paper charts or
digital charts and to index them.
Paper charts have been refined over many years
and give the mariner exactly what they need for
certain purposes. Because of this, raster charts,
scanned from the original charts, should be a good
source for chart tile database. The digital charts,
which are widely used in ECDIS or ECS, are
alternative sources as they can be displayed by ECDIS
or ECS and the rendered image could be saved as
raster charts.
Due to the huge size of the raster charts (up to
10,000px ×10,000px), they will overload the network
when users access them. In this research, raster charts
are split into numerous chart tiles, which usually have
small size and are downloaded on necessary.
This section will build a grid to split chart images
into chart tiles, and then index them.
3.1 Building Splitting Grid
We suppose that at zoom level m, the earth surface is
divided into a grid with 2
m
×2
m
cells (or tiles). The
value of m could be 0 or more. Obviously, the bigger
m is, the more tiles the globe is divided into (see
Figure 2).
In Figure 2, we suppose a tile have a size of
256px×256px and the center point has a pixel
coordinate of (0,0), then the pixel coordinate of any
point (include the intersect points) on the grid can be
easily determined.
1
2
3 4
1
2
3
4
Zoom=1,4 tiles
Zoom=3,64 tiles
Zoom=2,16 tiles
1 tile =
256 square pixels
X = the number of
horizontal tiles
divided by 2
Y = the number of vertical tiles
divided by 2
Fig. 2. Splitting grid at different zoom level
3.2 Coordinates Transformation
To facilitate the splitting of the chart images,
coordinate transformation equations between the
above grid coordinates and geographical coordinates
should be built. The coordinate transformation
depends on the projection the source chart adopted.
Since Mercator projection (Richardus. & Peter.
1972.) is widely used in nautical chart plotting, we
only consider the Mercator chart image in this
research for simplicity.
To transform a geographical coordinate, i.e. (
ϕ,
λ
)
into a plane rectangular coordinate, i.e. ( x
, y
) by
Mercator projection, Equ.(1) and Equ.(2) are usually
used.
(1)
(2)
where a denotes the semi-major axis of the
ellipsoidal globe, e stands for the eccentricity of the
ellipsoidal globe,
λ
is longitude in radians (positive
east), and φ is latitude in radians (positive north).
We assume the earth is a Krassowski-1940
ellipsoidal globe (Moritz, H. 1990), so we can let e
=0. 08181333.
2
1 sin
ln tan
4 2 1 sin
e
e
ya
e
πϕ ϕ
ϕ
−
= +
+