[Marble-devel] marble plugin capabilities
Torsten Rahn
tackat at t-online.de
Tue May 29 10:14:17 UTC 2012
Hi David,
On Dienstag, 29. Mai 2012 09:54:33 David Delbecq wrote:
> - Our application must let user "Draw" on the map. Is it possible to attach
> to the mouse event of your component so that when in "create" or "edit"
> mode (our menu), we move around or create new object that are immediately
> visible on marble
Yes, this is possible. We had a project even inside Marble which created a
prototype for this kind of functionality.
See
http://www.youtube.com/watch?v=hTKc546-gjQ
The source code for this project is located here (currently disabled from
compilation so it might require some minor code changes to get it compiling
again):
marble/src/plugins/render/osmannotate/
> We plan to store data in kml file, with additionnal
> information in a <ExtendedData> + custom xml namespace. Does marble
> provide a way to expose this information to our application / let our
> application create or edit those, or will we have to handle ourself the
> load / save process of our kml files?
The Marble library provides basic support for KML loading: This includes all
the basic KML elements (Documents, Placemarks, Geometries, Styles,
ExtendedData), - except for fancy stuff such as Animations/Tours, 3D Models
/ COLLADA files and GroundOverlays which are not implemented yet. You can
check the capabilities by importing a KML file using the normal Marble Virtual
Globe client. If it displays your KML file fine then the library will do as
well.
You can load the KML files via a single API call into Marble's model:
http://techbase.kde.org/Projects/Marble/Runners/Parse
Internally Marble's whole data structure is modelled after KML, so you can
also access the objects loaded into the model via C++ code. And you can even
create new ones via C++:
http://techbase.kde.org/Projects/Marble/Runners/DisplayGeoDataPlacemark
> - Can the component be used "off
> screen" for pure rendering work (generate pictures out of kml files) ? -
Yes, this should be possible. If you just use "MarbleMap" (that is the class
that is used by MarbleWidget to draw the map) then everything is completely
"off-screen" in every kind of sense.
> Is there a qt-jambi version of the librairy?
There is an initial version of Qt Jambi bindings but these are certainly
outdated:
http://old.qt-jambi.org/marble-map-widget-as-a-generator-example/
http://qt.gitorious.org/qt-jambi/old-community-
repo/blobs/bd785bd6117760fc862ac282dbe99bdfea01971f/examples/generator/marble/scripts/build.xml
Getting these to work will certainly require some work. Note that most
developers in the Marble community use Marble's C++ framework, so the existing
support for bindings such as Python, Jambi, etc. is very much experimental.
> - Is there some "benchmark" application based on marble that would help us
> decide of computers we plan to use are fast enough to render marble datas?
There is no benchmark suite that would cover all features of Marble. But in
doubt you could try to simply install the Marble application on your target
system for a quick survey.
Usually for Desktop PCs there should be no problem with performance.
For embedded hardware it depends:
Marble doesn't make use of OpenGL yet. Instead it renders everything in
software. This has the advantage that it renders everything equally on every
kind of hardware that supports Qt. But this also means that on weak embedded
hardware running the globe projection might be heavy on your hardware and
might lead to relatively bad performance.
Instead you might want to use Marble's Mercator projection which delivers
excellent speed for map themes that use mercator-based tile data (such as
OpenStreetMap, Google Maps, Nokia Maps, etc.). If you want to target embedded
hardware you might want to have a look at the optimizations we do for our ARM
based Marble Nokia N900 packages.
For a general overview of the features or Marble Virtual Globe (which are also
supported by the library) please have a look at
http://www.slideshare.net/marbleglobe/marble-virtual-globe-13-factsheet-
english
For an overview about Marble's library please have a look at:
http://www.slideshare.net/marbleglobe/marble-for-developers-factsheet
Finally I'd like to point out that there is community support as well as
commercial support available for Marble:
http://edu.kde.org/marble/support.php
Best Regards,
Torsten
>
> Thank you,
>
> David Delbecq
More information about the Marble-devel
mailing list