I am Adrian, a Romanian first-year student majoring in Computer Science at Imperial College London. I have recently been accepted to work on a KML Editor feature for the Marble Virtual Globe as part of KDE and this blog is where I plan to regularly post updates on the progress of the project.
In case you are not yet familiar with Marble, you can check out its website here for more details. In this post, I will try to talk more about why editing support for KML is needed in Marble and touch on some general points regarding the specifics of the project.
KML (Keyhole Markup Language) is a file format derived from XML and widely used for representing geographic data and annotations. Similarly to XML, it uses a tag-based structure with nested elements and attributes, fairly convenient to both understand and process for serialization. Since 2008 it has become an international standard of the Open Geospatial Consortium and popular Earth browsing pieces of software such as Google Earth have become reliant on it.
Marble’s support for KML has evolved over the years, as it is now used extensively for internal representations, the display of imported files and full support of data serialization might be completed with the next stable release already. Yet creating KML files can only be done for some few special cases, and not in a simple and intuitive way.
Since most related markup file formats are internally handled as KML, developing thorough support for sharing data processed in Marble in an open standard that has taken off under the influence of Google would provide the foundation of an universal editing mode, which would unquestionably help popularize Marble and provide the basis of easy integration on a large scale with other international standards.
At this point, it should probably be clear enough why the editor mode would help improve Marble and we can talk a bit about what the project will actually consist of. More specifically, the planned editor mode will primarily focus on adding support for creating and editing the following features:
- Ground Overlays
More details on each element and its implementation details will be posted as the project progresses and I can actually show my work.
I don’t want to let my first post become too boring, so I just hope that now you are familiar with the project. Next time we will probably talk about setting the project up and its incipient stages or even get so far as to talk about the first implemented feature.
See you soon!