[Marble-devel] Review Request: GeoData KML and GPX Parser: parse ExtendedData in gx:Track

Thibaut Gridel tgridel at free.fr
Fri Dec 9 23:04:00 UTC 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103191/#review8827
-----------------------------------------------------------


Some breakage in GeoDataTrack as discussed:


src/lib/geodata/data/GeoDataSimpleArrayData.h
<http://git.reviewboard.kde.org/r/103191/#comment7384>

    Why would GeoDatasimpleArrayData be a geometry type? Is it a rendering object like the polyline of a placemark?
    I don't find the kml spec matching this object concept, it seems more related to SimpleData, which is rather abstract data type, so neither a feature nor a geometry.



src/lib/geodata/data/GeoDataTrack.cpp
<http://git.reviewboard.kde.org/r/103191/#comment7385>

    This code basically builds a full map of all valid m_when elements just to extract an upperBound and check one point after it... Could it not consist in a QList world of finding the 2 valid times around when and keep the extrapolating code?



src/lib/geodata/data/GeoDataTrack.cpp
<http://git.reviewboard.kde.org/r/103191/#comment7387>

    This implementation does not keep date sorted track, so breaks the display of for instance satellite.



src/lib/geodata/data/GeoDataTrack.cpp
<http://git.reviewboard.kde.org/r/103191/#comment7386>

    This new implementation will have the effect of removing points without time iiuc. 
    Previous code had a while( d->m_when.at(i) < when) instead which sounds better.


- Thibaut Gridel


On Dec. 9, 2011, 12:36 p.m., Niko Sams wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103191/
> -----------------------------------------------------------
> 
> (Updated Dec. 9, 2011, 12:36 p.m.)
> 
> 
> Review request for Marble.
> 
> 
> Description
> -------
> 
> gx:Track can contain ExtendedData used for embedding eg. heartrate data to a track:
> http://code.google.com/intl/de-DE/apis/kml/documentation/kmlreference.html#gxtrack
> 
> This patch implements:
> - the data structure in GeoDataTrack
> - the kml parser for this structure (supporting example files in kml specs)
> - the gpx parser for this structure (supporting files created by garmin devices)
> 
> Gpx parser also now handles elevation data.
> 
> Gpx parser now creates a GeoDataTrack object (instead of GeoDataLineString)
> (I'm not sure if this change could cause problems)
> 
> 
> Diffs
> -----
> 
>   src/lib/geodata/data/GeoDataExtendedData.h f095cdb 
>   src/lib/geodata/data/GeoDataExtendedData.cpp 4011240 
>   src/lib/geodata/data/GeoDataExtendedData_p.h 361e894 
>   src/lib/geodata/data/GeoDataSimpleArrayData.h PRE-CREATION 
>   src/lib/geodata/data/GeoDataSimpleArrayData.cpp PRE-CREATION 
>   src/lib/geodata/data/GeoDataTrack.h 2f0e0c3 
>   src/lib/geodata/data/GeoDataTrack.cpp de2f975 
>   src/lib/geodata/data/Serializable.h cfa4b74 
>   src/lib/geodata/handlers/kml/KmlCoordinatesTagHandler.cpp dce7679 
>   src/lib/geodata/handlers/kml/KmlElementDictionary.h 624465a 
>   src/lib/geodata/handlers/kml/KmlElementDictionary.cpp 07f33fd 
>   src/lib/geodata/handlers/kml/KmlExtendedDataTagHandler.cpp 669fb5e 
>   src/lib/geodata/handlers/kml/KmlSchemaDataTagHandler.h PRE-CREATION 
>   src/lib/geodata/handlers/kml/KmlSchemaDataTagHandler.cpp PRE-CREATION 
>   src/lib/geodata/handlers/kml/KmlSimpleArrayDataTagHandler.h PRE-CREATION 
>   src/lib/geodata/handlers/kml/KmlSimpleArrayDataTagHandler.cpp PRE-CREATION 
>   src/lib/geodata/handlers/kml/KmlValueTagHandler.cpp a2e5441 
>   src/lib/geodata/parser/GeoDataTypes.h fee81bd 
>   src/lib/geodata/parser/GeoDataTypes.cpp 4443896 
>   src/plugins/runner/gpx/CMakeLists.txt dae7719 
>   src/plugins/runner/gpx/GpxParser.cpp 61a749f 
>   src/plugins/runner/gpx/handlers/GPXElementDictionary.h 37152bd 
>   src/plugins/runner/gpx/handlers/GPXElementDictionary.cpp 471ad64 
>   src/plugins/runner/gpx/handlers/GPXTrackPointExtensionTagHandler.h PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXTrackPointExtensionTagHandler.cpp PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXeleTagHandler.h PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXeleTagHandler.cpp PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXextensionsTagHandler.h PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXextensionsTagHandler.cpp PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXhrTagHandler.h PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXhrTagHandler.cpp PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXtimeTagHandler.h PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXtimeTagHandler.cpp PRE-CREATION 
>   src/plugins/runner/gpx/handlers/GPXtrkptTagHandler.cpp 455e8e1 
>   src/plugins/runner/gpx/handlers/GPXtrksegTagHandler.cpp 9b1a24e 
>   src/plugins/runner/gpx/tests/TestTrack.cpp PRE-CREATION 
>   tests/TestGeoDataTrack.cpp c9f347d 
> 
> Diff: http://git.reviewboard.kde.org/r/103191/diff/diff
> 
> 
> Testing
> -------
> 
> Unittests included in patch.
> 
> 
> Thanks,
> 
> Niko Sams
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20111209/69ae5d94/attachment-0001.html>


More information about the Marble-devel mailing list