On Sunday, March 12th, 2006, took place the communal elections in the Canton de Vaud
(Switzerland). We have adapted cartoweb 3.2 to show the results online:
It is traditional thematic cartography with following problematic:
a) feeding results to be mapped as they are officially published,
b) automatic adaptation of the class intervals on the basis of the results,
c) generation of multiple similar layers,
d) high traffic during the day of the elections,
e) short time to build the application
a) Results are imported in Open Office Calc and the sheets macro generates the insert
commands for the database, copy-past is possible. The risk of typo is reduced. After
database import, generation of the publications tables and a new mapfile.
b) The mapfile is an .map.php compiled with makemaps.php. It is possible to script
the mapfile in php. Requests are made to the database to get the extent of results
for a layer and to compute for each layer the class intervals.
c) The capabilities of cartowebs autolayers allow to generate multiple layers with
similar thematic (for example: political party). For 12 parties this is a great
saving time functionality.
d) High traffic problematic should be solved by reducing the functionalities of
cartoweb: there is no pan nor zoom so that images can be cached by cartoweb. In
second place, we use 2 computers, one for the database and one for cartoweb. As many
concurrent requests arrive, the load of cartoweb server increases and it could be
impossible to work with ease in the database. As feeding the results during the
operation is important... this was mandatory. The structure of the relational
database implies to use views to access data. To win some computing time, the views
are materialized (snapshots) so that cartoweb does only basic select operations.
e) Wishes were prioritized and an importance/time consume balance was taking in
regard so that this project would feed in the 2.5 weeks that i had before me...
We have chosen cartoweb, because of the accessibility of this solution: there is no
need for a plugin on the client side and it is compatible with many types of
browsers. As it is an open source software, it is possible to adjust the
functionalities to our needs and there is no license costs.