I've spent the last year developing a high volume web-based
map server using Open Source tools. Note that the emphasis of
this project has been vector based data (streets, rivers,
shorelines, etc.), not image or raster data, so this skews my
views somewhat.
Sorry for the length of this post, but this really only scratches
the surface of this topic.
The two best free tools I found for manipulating map data
and producing maps are GRASS
(www.geog.uni-hannover.de/grass/)
and OpenMap
(openmap.bbn.com).
GRASS certainly wins hands-down for its ability to read
various file formats (including ESRI Shape Files and E00 Files),
but its interface is somewhat... odd... and
I've found it very buggy when dealing with vector products.
OpenMap is a very nice Java application and library that
can do some very slick graphics and handle many
different projections. However, because it is written in Java,
it's ability to scale to the level that I needed (random
access street level maps being produced in several seconds)
is practically non-existant. Nevertheless,
if you are looking for a "higher level" of mapping tool,
OpenMap is probably the tool you are looking for.
I've also looked (somewhat superficially) at the major
commercial mapping programs, produced by ESRI
(www.ersi.com)
and MapInfo
(www.mapinfo.com).
At prices starting at around $25000 and
rapidly going up, you'll certainly need a lot of money
to get into this game.
On the data side, there's a lot of data available
on the net, some of it very good, and some not so good.
Finding it is tricky, but it can be done. The "Digital
Chart of the World" (DCW) is available from (HREF) and
provides vector outlines for all the countries in
the world (circa the early '90s). Its North American
utility is somewhat limited, as the lat/lon points
used in the vector outlines are based on NAD27, rather
than the more popular NAD83 datum. The TIGER Line Files
(HREF) is an excellent source of street level data
(and state and county outlines, and much more) for the
United States and various territories. Once the format
of this data is understood, it's fairly easy to convert
the data to a more usable format. Unfortunately, there
doesn't appear to be much in the way of the tools out
there on the net for working with this data.
There's very little free street level data available outside the
United States.
This is an area crying out for an Open database, as the non-free
data sources are really expensive and generally involve nasty royalities.
I have been working on a the Onamap.com project for the last year.
The primary purpose of Onamap is to provide a "where is it"
tool for the Internet in which anyone can enter location data,
commentary, etc..
The components of this project are:
- a common text-based file format for vector data;
- tools for converting TIGER, ESRI Shape Files, and DCW to this common format;
- the location web server, written using Apache, mod_python, and MySQL; and
- a high volume map server, written using Apache, jserv, Java, and C++.
The map server is fairly new technology, and the components written in Java
(mainly the rendering engine utilizing Java2D) need to be rewritten in
something more efficient.
If you want to see samples of the maps that this engine can produce,
go to http://www.onamap.com/sample.
The plan is to release this software to the public (down to the source level)
in the next few months, after the code is cleaned up, debugged and documented.
If anyone is interested in this project, please feel free to mail me at
dpjanes@sympatico.ca.
I've spent the last year developing a high volume web-based map server using Open Source tools. Note that the emphasis of this project has been vector based data (streets, rivers, shorelines, etc.), not image or raster data, so this skews my views somewhat. Sorry for the length of this post, but this really only scratches the surface of this topic.
The two best free tools I found for manipulating map data and producing maps are GRASS (www.geog.uni-hannover.de/grass/) and OpenMap (openmap.bbn.com). GRASS certainly wins hands-down for its ability to read various file formats (including ESRI Shape Files and E00 Files), but its interface is somewhat ... odd ... and
I've found it very buggy when dealing with vector products.
OpenMap is a very nice Java application and library that
can do some very slick graphics and handle many
different projections. However, because it is written in Java,
it's ability to scale to the level that I needed (random
access street level maps being produced in several seconds)
is practically non-existant. Nevertheless,
if you are looking for a "higher level" of mapping tool,
OpenMap is probably the tool you are looking for.
I've also looked (somewhat superficially) at the major commercial mapping programs, produced by ESRI (www.ersi.com) and MapInfo (www.mapinfo.com). At prices starting at around $25000 and rapidly going up, you'll certainly need a lot of money to get into this game.
On the data side, there's a lot of data available on the net, some of it very good, and some not so good. Finding it is tricky, but it can be done. The "Digital Chart of the World" (DCW) is available from (HREF) and provides vector outlines for all the countries in the world (circa the early '90s). Its North American utility is somewhat limited, as the lat/lon points used in the vector outlines are based on NAD27, rather than the more popular NAD83 datum. The TIGER Line Files (HREF) is an excellent source of street level data (and state and county outlines, and much more) for the United States and various territories. Once the format of this data is understood, it's fairly easy to convert the data to a more usable format. Unfortunately, there doesn't appear to be much in the way of the tools out there on the net for working with this data.
There's very little free street level data available outside the United States. This is an area crying out for an Open database, as the non-free data sources are really expensive and generally involve nasty royalities.
I have been working on a the Onamap.com project for the last year. The primary purpose of Onamap is to provide a "where is it" tool for the Internet in which anyone can enter location data, commentary, etc.. The components of this project are:
- a common text-based file format for vector data;
- tools for converting TIGER, ESRI Shape Files, and DCW to this common format;
- the location web server, written using Apache, mod_python, and MySQL; and
- a high volume map server, written using Apache, jserv, Java, and C++.
The map server is fairly new technology, and the components written in Java (mainly the rendering engine utilizing Java2D) need to be rewritten in something more efficient. If you want to see samples of the maps that this engine can produce, go to http://www.onamap.com/sample.
The plan is to release this software to the public (down to the source level) in the next few months, after the code is cleaned up, debugged and documented. If anyone is interested in this project, please feel free to mail me at dpjanes@sympatico.ca.