[cairo] Using cairo as a map rendering engine

Oyvind Idland oyvind.idland at gmail.com
Mon Aug 20 09:38:08 PDT 2007


Hi,

I am currently looking at Cairo with the intent of using it as a map
"rendering engine". I work at a company
making GIS applications, which typically has a map on the screen. Our
current rendering is done by using
win32 GDI, but now we are looking for a better way. I am looking at several
alternatives, but I find Cairo quite
interesting in many ways.

Before I start hammering with coding & trying things out, I'd like to hear
your opinions.

In our apps, we typically have 5-20 (in some cases less more) layers. Each
layer then consists of speciffic
geographical objects, for example
- height curves (simply polylines)
- buildings (polygons, majority 4-20 vertexes, sometimes more)
- roads (sometimes just polylines, but they may also be polygons with 1000's
of vertices)
- rivers/sea etc (often huge polygons, with "islands"/holes and several
thousand vertexes)
- texts, or points with truetype/pixmap symbols
- background photos, ortho photos taken from airplanes

In addition,
- polygons are typically parametrically hatched, or filled with some kind of
pattern.
- lines may come in many variants. Some have just dash/dot patterns, orhers
may have additional figures
along it (like direction arrows, circles etc)

The app typically starts with an initial zoom. The user may suddenly move to
a different locations, which
triggers reading new geometries from the databases and then renders it. This
means that the app may
not keep a static/permanent model in RAM all the time.

One render may contain, in "heavy" cases, 10.000 polygons of various types,
and 30.000 lines.. or even more.

Does this sound like a task for Cairo ?
And, how is Cairo with memory usage ?

I am eager to try this out, but still, any comments/suggestions are welcome
!


Oyvind
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cairographics.org/archives/cairo/attachments/20070820/13ca71d2/attachment.html 


More information about the cairo mailing list