now use statistics if available in band.
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good
This commit is contained in:
parent
e6cda406c9
commit
f014dc9f93
@ -67,6 +67,8 @@ import { ForSourceTask} from './components/for-item/for-sourcetask.decorator';
|
||||
import { ForPackage } from './components/for-item/for-package.decorator';
|
||||
import { PanToLocation} from './components/aol/pan-to-location/pan-to-location.component';
|
||||
import {LayerSwitcher} from './components/layer-switcher/layer-switcher.component';
|
||||
import {HistogramDetailsComponent} from './components/legend/histogram-details/histogram-details.component';
|
||||
import {StatisticsDetailsComponent} from './components/legend/statistics-details/statistics-details.component';
|
||||
|
||||
export function LocalStorageSync(reducer: ActionReducer<any>): ActionReducer<any> {
|
||||
const r = function(state, action) {
|
||||
@ -148,7 +150,7 @@ export {
|
||||
ForPackage
|
||||
}
|
||||
|
||||
@NgModule({
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
AngularOpenlayersModule,
|
||||
@ -195,7 +197,9 @@ export {
|
||||
WidgetStatusComponent,
|
||||
GpsLocation,
|
||||
PanToLocation,
|
||||
LayerSwitcher
|
||||
LayerSwitcher,
|
||||
HistogramDetailsComponent,
|
||||
StatisticsDetailsComponent
|
||||
],
|
||||
entryComponents: [
|
||||
FeatureListComponent,
|
||||
@ -255,7 +259,7 @@ export {
|
||||
export class AppCommonMapModule {
|
||||
static forRoot(): ModuleWithProviders<AppCommonMapModule> {
|
||||
return {
|
||||
ngModule: AppCommonMapModule,
|
||||
ngModule: AppCommonMapModule,
|
||||
providers: [
|
||||
FeatureIconService,
|
||||
GeolocationService,
|
||||
|
@ -0,0 +1,15 @@
|
||||
<div class="row pl-3">
|
||||
<div class="col-8 nopadding" i18n>Average<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{histogram.mean| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Standard deviation<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{histogram.stddev| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Min<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{histogram.min| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Max<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{histogram.max| number:'1.0-2'}}</div>
|
||||
|
||||
<ng-container *ngIf="showConfidenceInterval()">
|
||||
<div class="col-8 nopadding" i18n>Confidence interval<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{histogram.confidence * 100| number:'1.0-0'}}%</div>
|
||||
</ng-container>
|
||||
</div>
|
@ -0,0 +1,20 @@
|
||||
import {Component, Input} from '@angular/core';
|
||||
import {IHistogram, ILayer} from '../../../models/color.map';
|
||||
|
||||
@Component({
|
||||
selector: 'fm-map-histogram-details',
|
||||
templateUrl: './histogram-details.component.html',
|
||||
styles: ['.nopadding{\n' +
|
||||
' padding: 0 !important;\n' +
|
||||
' margin: 0 !important;\n' +
|
||||
'}']
|
||||
})
|
||||
export class HistogramDetailsComponent {
|
||||
|
||||
@Input()
|
||||
histogram: IHistogram;
|
||||
|
||||
showConfidenceInterval(): boolean {
|
||||
return this.histogram.confidence != null && this.histogram.confidence !== 1;
|
||||
}
|
||||
}
|
@ -30,21 +30,11 @@
|
||||
<tr *ngIf="showHistogram()">
|
||||
<td colspan="4" class="pb-1 pt-1">
|
||||
<div class="info" [ngbCollapse]="hideHistogramDetails">
|
||||
<div class="row pl-3">
|
||||
<div class="col-8 nopadding" i18n>Average<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{layer.renderer.band.histogram.mean| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Standard deviation<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{layer.renderer.band.histogram.stddev| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Min<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{layer.renderer.band.histogram.min| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Max<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{layer.renderer.band.histogram.max| number:'1.0-2'}}</div>
|
||||
|
||||
<ng-container *ngIf="showConfidenceInterval()">
|
||||
<div class="col-8 nopadding" i18n>Confidence interval<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{layer.renderer.band.histogram.confidence * 100| number:'1.0-0'}}%</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
<fm-map-histogram-details *ngIf="bandContainsHistogram(); else statistics"
|
||||
[histogram]="layer.renderer.band.histogram"></fm-map-histogram-details>
|
||||
<ng-template #statistics>
|
||||
<fm-map-statistics-details [statistics]="layer.renderer.band.statistics"></fm-map-statistics-details>
|
||||
</ng-template>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -16,11 +16,6 @@
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.nopadding{
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
span.color {
|
||||
display:inline-block;
|
||||
width: 1.5em;
|
||||
|
@ -88,8 +88,8 @@ export class LegendComponent implements OnInit,AfterViewInit {
|
||||
return this.histogramenabled && this.layer.renderer.band.histogram.entries && this.layer.renderer.band.histogram.entries.length > 0 && this.layer.renderer.colorMap.colormapType == "minmax";
|
||||
}
|
||||
|
||||
showConfidenceInterval():boolean {
|
||||
return this.histogramenabled && this.layer.renderer.band.histogram.confidence != null && this.layer.renderer.band.histogram.confidence != 1;
|
||||
bandContainsHistogram(): boolean {
|
||||
return this.layer.renderer.band.histogram != null;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,32 @@
|
||||
<div class="row pl-3">
|
||||
<div class="col-8 nopadding" i18n>Population count<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.populationCount| number:'1.0-0'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Min<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.min| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Max<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.max| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Min plus<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.minPlus| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Max minus<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.maxMinus| number:'1.0-2'}}</div>
|
||||
|
||||
<div class="col-8 nopadding" i18n>Average<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.mean| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Standard deviation<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.stddev| number:'1.0-2'}}</div>
|
||||
|
||||
<div class="col-8 nopadding" i18n>Mode<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.mode| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Median<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.median| number:'1.0-2'}}</div>
|
||||
|
||||
<div class="col-8 nopadding" i18n>Kurtosis<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.curtosis| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Skewness<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.skewness| number:'1.0-2'}}</div>
|
||||
|
||||
<div class="col-8 nopadding" i18n>Variance<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.variance| number:'1.0-2'}}</div>
|
||||
<div class="col-8 nopadding" i18n>Variance coefficient<span>:</span></div>
|
||||
<div class="col-4 pull-left nopadding">{{statistics.variationCoefficient| number:'1.0-2'}}</div>
|
||||
</div>
|
@ -0,0 +1,16 @@
|
||||
import {Component, Input} from '@angular/core';
|
||||
import {IStatistics} from '../../../models/color.map';
|
||||
|
||||
@Component({
|
||||
selector: 'fm-map-statistics-details',
|
||||
templateUrl: './statistics-details.component.html',
|
||||
styles: ['.nopadding{\n' +
|
||||
' padding: 0 !important;\n' +
|
||||
' margin: 0 !important;\n' +
|
||||
'}']
|
||||
})
|
||||
export class StatisticsDetailsComponent {
|
||||
|
||||
@Input()
|
||||
statistics: IStatistics;
|
||||
}
|
@ -28,6 +28,22 @@ export interface IHistogram {
|
||||
confidence?: number;
|
||||
}
|
||||
|
||||
export interface IStatistics {
|
||||
min: number;
|
||||
max: number;
|
||||
mean: number;
|
||||
stddev: number;
|
||||
populationCount: number;
|
||||
minPlus: number;
|
||||
maxMinus: number;
|
||||
mode: number;
|
||||
median: number;
|
||||
curtosis: number;
|
||||
skewness: number;
|
||||
variance: number;
|
||||
variationCoefficient: number;
|
||||
}
|
||||
|
||||
export interface IGradientstop {
|
||||
relativestop: number,
|
||||
color: IColor
|
||||
@ -41,7 +57,8 @@ export interface IColorMap {
|
||||
}
|
||||
|
||||
export interface IBand {
|
||||
histogram: IHistogram
|
||||
histogram: IHistogram;
|
||||
statistics?: IStatistics;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user