software development
IT consulting
web design

software development

eEMS

GISDATA Croatia, the largest regional geoinformation systems integrator, contacted our local developers to join their team while implementing an information system for Zagreb Emergency Medical Service, large IT project funded by the World Bank. Project included data entry & support applications for a call centre integrated with a medical vehicles tracking and guiding system.

Vehicle tracking was implemented using GPS devices (Global Positioning System, location detection using satellites) installed in vehicles. A TETRA radio network system was used for transmitting location data to the call center. Our developers were responsible for implementing a component to receive this data and display an interactive map with vehicles and incident locations over raster and vector background (combination of scanned maps, satellite imagery and street vectors). This component is highly optimised, enabling a real-time display of all changes, and absolutely reliable.

We decided to build it as an ActiveX component in order to enable easy integration with the main application. C++ was used as the development language. To speed-up the drawing operations (zoom, pan, refresh) a custom raster display engine was implemented because standard functions could not handle the required amount of raster data (mostly scanned maps in TIFF format) in real-time. So we pre-processed all the images into our custom multi-resolution, tiled and compressed structure, enabling a very fast display of any part of the map, in any resolution.

Vector drawing (streets and labels) was implemented on top of our raster engine using ESRI MapObjects components, which enables access to both 'shapefile' format (industry standard for spatial vector data) and vectors stored in ESRI SDE databases (both were used in this project).

On top of this we implemented a symbology layer for displaying vehicles and incident locations. The symbols are defined in custom built TrueType font, enabling simple symbol scaling, coloring and anti-aliased display. Special care was taken so that the symbology is very flexible and customisable: symbols have various states represented with features like colour, flashing or labels. Really complex symbols can be created by layering multiple symbols into one composite symbol. Symbol display operations are also highly optimised so that the system can handle hundreds of symbols moving around and changing states without any problem.

This component also includes various additional functions supporting the main application:

finding the vehicle nearest to the specific incident
logging of all received data (vehicle movements)
automatic zoom & pan to specific vehicle or incident location
approximating address location on map using street name and number as parameters
zoom to specific area, address location or map scale
user interface functions: responding to user's click, draw, drag & drop etc.
coordinate conversions

A special version of this component has been developed for projecting the map onto a large screen in the call centre room. This version is fully automated and includes several modes of operation: automatic map scroll, following specific vehicle, 'jumping' from vehicle to vehicle etc.

This component is now operational in Zagreb Emergency Medical Service. The application is used on a dozen client workstations and monitors in about 50 medical vehicles. The system is operational 24 hours a day. There is a strong possibility that this system will be deployed in several of the largest Croatian cities.

Technology used: C / C++, MFC, COM / ActiveX, ESRI MapObjects, ESRI ArcGIS & ArcSDE, TCP/IP sockets, ADO, Oracle, Intel VTune, Intel Performance Libraries