Dedicated module for IGC altitude enum

This commit is contained in:
Tim Schaub
2016-12-27 13:21:26 -07:00
parent d6e311c9ba
commit d353fb7dc9
3 changed files with 20 additions and 19 deletions

View File

@@ -3,6 +3,7 @@ goog.provide('ol.format.IGC');
goog.require('ol');
goog.require('ol.Feature');
goog.require('ol.format.Feature');
goog.require('ol.format.IGCZ');
goog.require('ol.format.TextFeature');
goog.require('ol.geom.GeometryLayout');
goog.require('ol.geom.LineString');
@@ -31,10 +32,10 @@ ol.format.IGC = function(opt_options) {
/**
* @private
* @type {ol.format.IGC.Z}
* @type {ol.format.IGCZ}
*/
this.altitudeMode_ = options.altitudeMode ?
options.altitudeMode : ol.format.IGC.Z.NONE;
options.altitudeMode : ol.format.IGCZ.NONE;
};
ol.inherits(ol.format.IGC, ol.format.TextFeature);
@@ -135,11 +136,11 @@ ol.format.IGC.prototype.readFeatureFromText = function(text, opt_options) {
x = -x;
}
flatCoordinates.push(x, y);
if (altitudeMode != ol.format.IGC.Z.NONE) {
if (altitudeMode != ol.format.IGCZ.NONE) {
var z;
if (altitudeMode == ol.format.IGC.Z.GPS) {
if (altitudeMode == ol.format.IGCZ.GPS) {
z = parseInt(m[11], 10);
} else if (altitudeMode == ol.format.IGC.Z.BAROMETRIC) {
} else if (altitudeMode == ol.format.IGCZ.BAROMETRIC) {
z = parseInt(m[12], 10);
} else {
ol.DEBUG && console.assert(false, 'Unknown altitude mode.');
@@ -173,7 +174,7 @@ ol.format.IGC.prototype.readFeatureFromText = function(text, opt_options) {
return null;
}
var lineString = new ol.geom.LineString(null);
var layout = altitudeMode == ol.format.IGC.Z.NONE ?
var layout = altitudeMode == ol.format.IGCZ.NONE ?
ol.geom.GeometryLayout.XYM : ol.geom.GeometryLayout.XYZM;
lineString.setFlatCoordinates(layout, flatCoordinates);
var feature = new ol.Feature(ol.format.Feature.transformWithOptions(
@@ -218,14 +219,3 @@ ol.format.IGC.prototype.readFeaturesFromText = function(text, opt_options) {
* @api
*/
ol.format.IGC.prototype.readProjection;
/**
* IGC altitude/z. One of 'barometric', 'gps', 'none'.
* @enum {string}
*/
ol.format.IGC.Z = {
BAROMETRIC: 'barometric',
GPS: 'gps',
NONE: 'none'
};

11
src/ol/format/igcz.js Normal file
View File

@@ -0,0 +1,11 @@
goog.provide('ol.format.IGCZ');
/**
* IGC altitude/z. One of 'barometric', 'gps', 'none'.
* @enum {string}
*/
ol.format.IGCZ = {
BAROMETRIC: 'barometric',
GPS: 'gps',
NONE: 'none'
};