Bug 310059 - Open .kmz files
Summary: Open .kmz files
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR task
Target Milestone: ---
Assignee: Dennis Nienhüser
URL: https://git.reviewboard.kde.org/r/108...
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-13 20:47 UTC by Dennis Nienhüser
Modified: 2013-01-30 20:51 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: KDE-4.11.0/Marble-1.6.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Nienhüser 2012-11-13 20:47:14 UTC
There should be a plugin (depending on some external library possibly) to open and parse .kmz files.
Comment 1 Dennis Nienhüser 2012-11-13 20:48:13 UTC
Bug 289421 is somewhat related
Comment 2 Dennis Nienhüser 2012-11-13 21:13:41 UTC
Didn't really mean to specify bug 289421 as blocked, just add a link.
Comment 3 Mart 2013-01-11 00:09:24 UTC
This should be core functionality, not a plugin. I administer a large government website and would like to offer alternatives to Google Earth for viewing KML files. Unfortunately I can't include Marble as an alternative because it doesn't open KMZ files which is the format used throughout the site.

It would be such an easy feature to implement, pity you guys miss out.
Comment 4 Dennis Nienhüser 2013-01-11 08:21:59 UTC
I have a patch nearly ready (works, but cleanup up temporary files is not done yet) for .kmz support based on the quazip library. If quazip is found by cmake, the existing .kml plugin is able to handle .kmz as well.

Note that lots of functionality is implemented in Marble via plugins, for example all file formats (.kml, .shp, .osm, .gpx), all routing backends and all search functionality. These plugins are shipped with Marble (and used by the Marble library automatically) and I consider them core functionality even though technically they are plugins.
Comment 5 Mart 2013-01-11 08:53:03 UTC
Is it possible to give the user the option to associate Marble with .kml and .kmz files during installation? At present Marble won't even open a .kml file when telling explorer to open the file with Marble. Both of these features are required to make it a viable alternative to Google Earth.
Comment 6 Dennis Nienhüser 2013-01-11 10:14:06 UTC
I just filed bug 313063 for that.
Comment 7 Dennis Nienhüser 2013-01-27 19:16:54 UTC
Patch at https://git.reviewboard.kde.org/r/108632/
Comment 8 Dennis Nienhüser 2013-01-30 20:51:41 UTC
Git commit 9aa3a6bf4af474fcd0b8014d9bd31bee9f0139d5 by Dennis Nienhüser.
Committed on 30/01/2013 at 21:39.
Pushed by nienhueser into branch 'master'.

Basic .kmz support

Extends the KML plugin to handle .kmz files (zipped .kml files).
Introduces quazip as an optional dependency for that purpose: When
quazip is available, .kmz is available as well. Otherwise only .kml
support is available (as before).
TODO:
- Respect base url correctly (to load other resources from the archive)
- Register .kmz files to be handled by Marble (if quazip found)

DIGEST: Marble can now open .kmz files. See
http://en.wikipedia.org/wiki/Keyhole_Markup_Language

REVIEW: 108632
FIXED-IN: KDE-4.11.0/Marble-1.6.0

A  +16   -0    cmake/modules/Findquazip.cmake
M  +11   -1    src/plugins/runner/kml/CMakeLists.txt
A  +47   -0    src/plugins/runner/kml/KmlDocument.cpp     [License: LGPL]
A  +41   -0    src/plugins/runner/kml/KmlDocument.h     [License: LGPL]
M  +1    -1    src/plugins/runner/kml/KmlParser.cpp
M  +1    -0    src/plugins/runner/kml/KmlParser.h
M  +10   -5    src/plugins/runner/kml/KmlPlugin.cpp
M  +31   -3    src/plugins/runner/kml/KmlRunner.cpp
A  +79   -0    src/plugins/runner/kml/KmzHandler.cpp     [License: LGPL]
A  +37   -0    src/plugins/runner/kml/KmzHandler.h     [License: LGPL]

http://commits.kde.org/marble/9aa3a6bf4af474fcd0b8014d9bd31bee9f0139d5