fix line weight attribute with correct one: line width

This commit is contained in:
vcoppe
2025-01-01 14:40:28 +01:00
parent 077f2b4435
commit 6cb6c88cd1
7 changed files with 40 additions and 40 deletions

View File

@@ -140,8 +140,8 @@ export class GPXFile extends GPXTreeNode<Track> {
if (style.color.length === 1) {
fileStyle['gpx_style:color'] = style.color[0];
}
if (style.weight.length === 1) {
fileStyle['gpx_style:weight'] = style.weight[0];
if (style.width.length === 1) {
fileStyle['gpx_style:width'] = style.width[0];
}
if (style.opacity.length === 1) {
fileStyle['gpx_style:opacity'] = style.opacity[0];
@@ -194,15 +194,15 @@ export class GPXFile extends GPXTreeNode<Track> {
if (style["gpx_style:opacity"] && !acc.opacity.includes(style["gpx_style:opacity"])) {
acc.opacity.push(style["gpx_style:opacity"]);
}
if (style["gpx_style:weight"] && !acc.weight.includes(style["gpx_style:weight"])) {
acc.weight.push(style["gpx_style:weight"]);
if (style["gpx_style:width"] && !acc.width.includes(style["gpx_style:width"])) {
acc.width.push(style["gpx_style:width"]);
}
}
return acc;
}, {
color: [],
opacity: [],
weight: []
width: []
});
}
@@ -405,8 +405,8 @@ export class GPXFile extends GPXTreeNode<Track> {
if (style["gpx_style:opacity"]) {
this._data.style.opacity = style["gpx_style:opacity"];
}
if (style["gpx_style:weight"]) {
this._data.style.weight = style["gpx_style:weight"];
if (style["gpx_style:width"]) {
this._data.style.width = style["gpx_style:width"];
}
}
@@ -527,8 +527,8 @@ export class Track extends GPXTreeNode<TrackSegment> {
if (this.extensions['gpx_style:line']["gpx_style:opacity"]) {
geoJSON.properties['opacity'] = this.extensions['gpx_style:line']["gpx_style:opacity"];
}
if (this.extensions['gpx_style:line']["gpx_style:weight"]) {
geoJSON.properties['weight'] = this.extensions['gpx_style:line']["gpx_style:weight"];
if (this.extensions['gpx_style:line']["gpx_style:width"]) {
geoJSON.properties['width'] = this.extensions['gpx_style:line']["gpx_style:width"];
}
}
return geoJSON;
@@ -647,8 +647,8 @@ export class Track extends GPXTreeNode<TrackSegment> {
if (style["gpx_style:opacity"] !== undefined && (force || this.extensions['gpx_style:line']["gpx_style:opacity"] === undefined)) {
this.extensions['gpx_style:line']["gpx_style:opacity"] = style["gpx_style:opacity"];
}
if (style["gpx_style:weight"] !== undefined && (force || this.extensions['gpx_style:line']["gpx_style:weight"] === undefined)) {
this.extensions['gpx_style:line']["gpx_style:weight"] = style["gpx_style:weight"];
if (style["gpx_style:width"] !== undefined && (force || this.extensions['gpx_style:line']["gpx_style:width"] === undefined)) {
this.extensions['gpx_style:line']["gpx_style:width"] = style["gpx_style:width"];
}
}
@@ -1632,7 +1632,7 @@ function getOriginal(obj: any): any {
export type MergedLineStyles = {
color: string[]
opacity: number[],
weight: number[],
width: number[],
};
function convertRouteToTrack(route: RouteType): Track {

View File

@@ -35,7 +35,7 @@ export function parseGPX(gpxData: string): GPXFile {
}
if (tagName === 'gpxtpx:atemp' || tagName === 'gpxtpx:hr' || tagName === 'gpxtpx:cad' || tagName === 'gpxpx:PowerInWatts' ||
tagName === 'gpx_style:opacity' || tagName === 'gpx_style:weight') {
tagName === 'gpx_style:opacity' || tagName === 'gpx_style:width') {
return parseFloat(tagValue);
}

View File

@@ -69,7 +69,7 @@ export type TrackExtensions = {
export type LineStyleExtension = {
'gpx_style:color'?: string;
'gpx_style:opacity'?: number;
'gpx_style:weight'?: number;
'gpx_style:width'?: number;
};
export type TrackSegmentType = {

View File

@@ -18,7 +18,7 @@
<gpx_style:line>
<gpx_style:color>2d3ee9</gpx_style:color>
<gpx_style:opacity>0.5</gpx_style:opacity>
<gpx_style:weight>6</gpx_style:weight>
<gpx_style:width>6</gpx_style:width>
</gpx_style:line>
</extensions>
<trkseg>