Merge latest changes
Some checks failed
FarmMaps.Develop/FarmMapsLib/develop There was a failure building this commit

This commit is contained in:
Willem Dantuma
2019-11-29 12:24:34 +01:00
parent 8fd653afbc
commit 0948bacaaf
3 changed files with 189 additions and 163 deletions

View File

@@ -1,66 +1,81 @@
import { Component, OnInit, Input,AfterViewInit } from '@angular/core';
import { IColorMap, IColor, IColorEntry,ILayer } from '../../models/color.map';
@Component({
selector: 'fm-map-layer-legend',
templateUrl: './legend.component.html',
styleUrls: ['./legend.component.scss']
})
export class LegendComponent implements OnInit,AfterViewInit {
constructor() {
}
ngOnInit() {
}
ngAfterViewInit() {
}
@Input()
layer: ILayer;
@Input()
legend: string;
@Input()
histogram: string;
@Input()
showTitle: boolean = true;
@Input()
histogramenabled: boolean;
@Input()
legendunit: string;
@Input()
histogramunit: string;
onClickHistoGram(): void {
this.histogramenabled = !this.histogramenabled;
}
public getHex(color: IColor): string {
return '#' + this.componentToHex(color.red) + this.componentToHex(color.green) + this.componentToHex(color.blue);
}
public componentToHex(c: number): string {
const hex = c.toString(16);
return hex.length === 1 ? `0${hex}` : hex;
}
private getPart(colorMap: IColorMap, colorEntry: IColorEntry): string {
let sumOfValue = colorMap.entries.reduce((sum, item) => sum + item.value, 0);
let part = ((colorEntry.value / sumOfValue) * 100) + "%";
return part;
}
}
import { Component, OnInit, Input,AfterViewInit } from '@angular/core';
import { IColorMap, IColor, IColorEntry,ILayer, IRenderer } from '../../models';
@Component({
selector: 'fm-map-layer-legend',
templateUrl: './legend.component.html',
styleUrls: ['./legend.component.scss']
})
export class LegendComponent implements OnInit,AfterViewInit {
constructor() {
}
ngOnInit() {
}
ngAfterViewInit() {
}
@Input()
layer: ILayer;
@Input()
legend: string;
@Input()
histogram: string;
@Input()
showTitle: boolean = true;
@Input()
histogramenabled: boolean;
@Input()
legendunit: string;
@Input()
histogramunit: string;
onClickHistoGram(): void {
this.histogramenabled = !this.histogramenabled;
}
private getHex(color: IColor): string {
return '#' + this.componentToHex(color.red) + this.componentToHex(color.green) + this.componentToHex(color.blue);
}
private componentToHex(c: number): string {
const hex = c.toString(16);
return hex.length === 1 ? `0${hex}` : hex;
}
private getPart(renderer: IRenderer, index: number): string {
let max = renderer.band.histogram.entries.reduce((max, entry) => entry.freqency > max ? entry.freqency : max, 0);
let scale = 75 / max;
let part = (renderer.band.histogram.entries[index].freqency * scale) + "%";
return part;
}
private getLabel(renderer: IRenderer, index: number): string {
let scale = 100 / renderer.band.histogram.entries.reduce((sum, entry) => sum + entry.freqency, 0);
let percent = renderer.band.histogram.entries[index].freqency * scale;
return percent < 0.1 ? "" : percent.toFixed(1) + " %";
}
showHistogram(): boolean {
return this.histogramenabled && this.layer.renderer.band.histogram.entries && this.layer.renderer.band.histogram.entries.length > 0 && this.layer.renderer.colorMap.colormapType == "minmax";
}
}