Objective
1. To create dynamic geographical image maps to navigate /zoom in for
further details.
2. Dynamically coloring the map areas driven by XML/CVS file.
Assumption
1. Third party component can be used to achieve the objective.
2. Minimum standard browser support e.g. IE, Netscape, and Firebox.
Approaches
1. Static Image Map Approach:
Technology:
This is very simple approach. I need to take images and using image
mapping tools I can statically generate image maps for particular
areas. Using those image maps I can achieve the functionality of
navigation but since image map tag does not have coloring attribute, I
cannot display dynamic colors for different regions.
Limitation:
1. Main limitation of this approach is I need to create pre-defined
images for every city, region, county I need to display.
2. Also maps with dynamic color codes cannot be displayed.
2. Ready-made Mapping Components:
Technology:
There are many 3rd party ready-made mapping components available
like ArcView, SpaticallyAware, and Google Earth.
Following is the table, which will summarize the functionality
support given by readymade mapping component with respect to our
objectives:
Details Google Map API ASPMap SpatiallyAware ESRI ArcGIS
Home Page ://www.google.com/apis/maps/ http://www.vdstech.com/aspmap.htm http://spatiallyaware.com/Default.aspx?tabid=32&FeaturesSection=any http://www.esri.com
Dynamic Image Maps No No No No
Dynamic Color-coding No No No No
Limitation:
As I can see from the above table our objectives cannot be achieved
using above 3rd party components.
In case you are looking for linux based solutions, try Q-GIS and GRASS
at sourceforge.net.
Suggested Solution
All solutions above have some limitation or the other,
technologically, functionally or in terms of cost and the learning
curve.
If you can afford to have a developer I would recommend the following
upcoming technology for creating images in a format called :
SVG
What is SVG?
Scalable Vector Graphics (SVG) is a new graphics file format and Ib
development language based on XML. SVG enables Ib developers and
designers to create dynamically generated, high-quality graphics from
real-time data with precise structural and visual control.
With this poIrful new technology, SVG developers can create a new
generation of Ib applications based on data-driven, interactive, and
personalized graphics.
Why SVG?
Data-driven graphics
SVG creates poIrful, dynamic content because it tightly integrates
front-end graphics to back-end business processes and data including
e-commerce systems, corporate databases, and other rich sources of
information. SVG files use existing and proven Ib standards such as
Cascading Style Sheets (CSS) and Extensible Style Sheet Language so
that graphics can be easily customized.
? Reduced maintenance costs
By dynamically changing image attributes, SVG eliminates the need for
numerous image files. For example, a navigation button that normally
requires a minimum of two raster files can be replaced by a single SVG
file ? rollover states and behaviors are specified via easily
scriptable attributes such as color, shape, size, text, or opacity.
And because SVG is text based, production teams can utilize version
control systems to track and manage all changes made to a file.
? Reduced development time
In a traditional Ib workflow, content (data), presentation (graphics),
and application logic (scripting) are developed sequentially. If a
change is made to content after a project is complete, entire graphics
must often be re-created.
SVG separates these three elements, allowing them to be developed in
parallel, reducing development time and distributing the work more
efficiently. By separating such workflow elements, SVG enables
developers to develop and designers to design.
? Scalable server solutions
SVG can reduce server loads by allowing client platforms to perform
the graphic rendering. If the client platform has limited processing
resources (PDAs and cell phones, for example), the server can
pre-render and optimize content before delivery. In both cases, the
source content is the same. Client-side rendering can also
dramatically improve the user experience. For example, zooming in on
an SVG-enabled map is extremely fast and can instantly provide
additional details such as streets names, building addresses, and
topographic information.
? Easily updated
As data changes, so do the graphics, with no additional work on the
part of the developer. Unlike other proprietary formats, SVG separates
design from content, making updates to either relatively painless.
References:
You can get more information about SVG from following Ib sites:
http://www.svgbasics.com/index.html
http://www.adobe.com/svg/overview/svg.html
Example:
Examples of SVG image generation.
SVG is a dynamic image creation technology based on xml and GDI
(Graphics Library). Both navigation and dynamic color-coding can be
addressed. I can thus develop our own components to create both charts
and maps, without requiring third party licenses.
I recommend exploring this technology initially for map creation and
later for all charts. It is assumed that this will be driven by xml
and csv file. |