[cairo] Using cairo as a map rendering engine
oyvind.idland at gmail.com
Mon Aug 20 09:38:08 PDT 2007
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
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
- rivers/sea etc (often huge polygons, with "islands"/holes and several
- texts, or points with truetype/pixmap symbols
- background photos, ortho photos taken from airplanes
- polygons are typically parametrically hatched, or filled with some kind of
- 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cairo