[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/marble/src/lib/geodata/writers/kml
From: Dennis Nienhüser <earthwings () gentoo ! org>
Date: 2011-01-07 12:22:23
Message-ID: 20110107122223.1EE0FAC8B0 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1212545 by nienhueser:
Altitude must be written as well in linestrings.
M +17 -2 KmlLineStringTagWriter.cpp
--- trunk/KDE/kdeedu/marble/src/lib/geodata/writers/kml/KmlLineStringTagWriter.cpp #1212544:1212545
@@ -32,8 +32,17 @@
writer.writeStartElement( kml::kmlTag_LineString );
writer.writeStartElement( "coordinates" );
- for ( int i = 0; i < lineString->size(); ++i )
- {
+ // Write altitude for *all* elements, if *any* element
+ // has altitude information (!= 0.0)
+ bool hasAltitude = false;
+ for ( int i = 0; i < lineString->size(); ++i ) {
+ if ( lineString->at( i ).altitude() ) {
+ hasAltitude = true;
+ break;
+ }
+ }
+
+ for ( int i = 0; i < lineString->size(); ++i ) {
GeoDataCoordinates coordinates = lineString->at( i );
if ( i > 0 )
{
@@ -45,7 +54,13 @@
writer.writeCharacters( "," );
qreal lat = coordinates.latitude( GeoDataCoordinates::Degree );
writer.writeCharacters( QString::number( lat, 'f', 10 ) );
+
+ if ( hasAltitude ) {
+ qreal alt = coordinates.altitude();
+ writer.writeCharacters( "," );
+ writer.writeCharacters( QString::number( alt, 'f', 2 ) );
}
+ }
writer.writeEndElement();
writer.writeEndElement();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic