@igo2/geo 19.0.0-next.10 → 19.0.0-next.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import { AuthInterceptor } from '@igo2/auth';
2
2
  import { LanguageService } from '@igo2/core/language';
3
3
  import { MessageService } from '@igo2/core/message';
4
4
  import { BehaviorSubject, Observable } from 'rxjs';
5
+ import { OGCFilterService } from '../../filter/shared/ogc-filter.service';
5
6
  import { CapabilitiesService } from './capabilities.service';
6
7
  import { AnyDataSourceOptions, DataSource } from './datasources';
7
8
  import { WFSService } from './datasources/wfs.service';
@@ -11,17 +12,19 @@ export declare class DataSourceService {
11
12
  private capabilitiesService;
12
13
  private optionsService;
13
14
  private wfsDataSourceService;
15
+ private ogcFilterService;
14
16
  private languageService;
15
17
  private messageService;
16
18
  private authInterceptor?;
17
19
  datasources$: BehaviorSubject<DataSource[]>;
18
- constructor(capabilitiesService: CapabilitiesService, optionsService: OptionsService, wfsDataSourceService: WFSService, languageService: LanguageService, messageService: MessageService, authInterceptor?: AuthInterceptor);
20
+ constructor(capabilitiesService: CapabilitiesService, optionsService: OptionsService, wfsDataSourceService: WFSService, ogcFilterService: OGCFilterService, languageService: LanguageService, messageService: MessageService, authInterceptor?: AuthInterceptor);
19
21
  createAsyncDataSource(context: AnyDataSourceOptions, detailedContextUri?: string): Observable<DataSource>;
20
22
  private createOSMDataSource;
21
23
  private createFeatureDataSource;
22
24
  private createWebSocketDataSource;
23
25
  private createWFSDataSource;
24
26
  private createWMSDataSource;
27
+ private normalizeParams;
25
28
  private createWMTSDataSource;
26
29
  private createXYZDataSource;
27
30
  private createTileDebugDataSource;
@@ -31,6 +34,6 @@ export declare class DataSourceService {
31
34
  private createTileArcGISRestDataSource;
32
35
  private createMVTDataSource;
33
36
  private createClusterDataSource;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<DataSourceService, [null, { optional: true; }, null, null, null, null]>;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataSourceService, [null, { optional: true; }, null, null, null, null, null]>;
35
38
  static ɵprov: i0.ɵɵInjectableDeclaration<DataSourceService>;
36
39
  }
@@ -7,6 +7,7 @@ import olProjection from 'ol/proj/Projection';
7
7
  import olSourceVector from 'ol/source/Vector';
8
8
  import { Observable } from 'rxjs';
9
9
  import { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
10
+ import { OGCFilterService } from '../../../filter/shared/ogc-filter.service';
10
11
  import { DataSource } from './datasource';
11
12
  import { WFSDataSourceOptions } from './wfs-datasource.interface';
12
13
  import { WFSService } from './wfs.service';
@@ -18,12 +19,13 @@ interface FetchFeatureOptions {
18
19
  export declare class WFSDataSource extends DataSource {
19
20
  options: WFSDataSourceOptions;
20
21
  protected wfsService: WFSService;
22
+ private ogcFilterService;
21
23
  private authInterceptor?;
22
24
  ol: olSourceVector;
23
25
  set ogcFilters(value: OgcFiltersOptions);
24
26
  get ogcFilters(): OgcFiltersOptions;
25
27
  get saveableOptions(): Partial<WFSDataSourceOptions>;
26
- constructor(options: WFSDataSourceOptions, wfsService: WFSService, authInterceptor?: AuthInterceptor);
28
+ constructor(options: WFSDataSourceOptions, wfsService: WFSService, ogcFilterService: OGCFilterService, authInterceptor?: AuthInterceptor);
27
29
  protected createOlSource(): olSourceVector;
28
30
  setOgcFilters(ogcFilters: OgcFiltersOptions, triggerEvent?: boolean): void;
29
31
  onUnwatch(): void;
@@ -1,4 +1,4 @@
1
- import type { OgcFiltersOptions } from '../../../filter';
1
+ import type { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
2
2
  import type { FeatureDataSourceOptions } from './feature-datasource.interface';
3
3
  export interface WFSDataSourceOptions extends FeatureDataSourceOptions {
4
4
  params: WFSDataSourceOptionsParams;
@@ -1,6 +1,7 @@
1
1
  import olSourceImageWMS from 'ol/source/ImageWMS';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
4
+ import { OGCFilterService } from '../../../filter/shared/ogc-filter.service';
4
5
  import { TimeFilterOptions } from '../../../filter/shared/time-filter.interface';
5
6
  import { LegendMapViewOptions } from '../../../layer/shared/layers/legend.interface';
6
7
  import { DataSource } from './datasource';
@@ -17,6 +18,7 @@ export interface TimeFilterableDataSource extends WMSDataSource {
17
18
  export declare class WMSDataSource extends DataSource {
18
19
  options: WMSDataSourceOptions;
19
20
  protected wfsService: WFSService;
21
+ private ogcFilterService;
20
22
  ol: olSourceImageWMS;
21
23
  get params(): any;
22
24
  set stylesParams(value: string);
@@ -36,7 +38,7 @@ export declare class WMSDataSource extends DataSource {
36
38
  * is enable by default even if the workspace is not use the layer will still be refreshed.
37
39
  */
38
40
  enableRefresh: boolean;
39
- constructor(options: WMSDataSourceOptions, wfsService: WFSService);
41
+ constructor(options: WMSDataSourceOptions, wfsService: WFSService, ogcFilterService: OGCFilterService);
40
42
  private dateFormat;
41
43
  addEvents(): void;
42
44
  protected createOlSource(): olSourceImageWMS;
@@ -1,6 +1,6 @@
1
1
  import { Extent } from 'ol/extent';
2
2
  import olProjection from 'ol/proj/Projection';
3
- import { IOgcFiltersOption, OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
3
+ import { IOgcFiltersOptionSaveable, OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
4
4
  import { WFSDataSourceOptions } from './wfs-datasource.interface';
5
5
  import { WMSDataSourceOptions } from './wms-datasource.interface';
6
6
  export declare const defaultEpsg = "EPSG:3857";
@@ -40,4 +40,4 @@ export declare function formatWFSQueryString(dataSourceOptions: WFSDataSourceOpt
40
40
  */
41
41
  export declare function checkWfsParams(wfsDataSourceOptions: any, srcType?: string): any;
42
42
  export declare function getFormatFromOptions(options: WFSDataSourceOptions | WMSDataSourceOptions): any;
43
- export declare function getSaveableOgcParams(options: OgcFiltersOptions): IOgcFiltersOption;
43
+ export declare function getSaveableOgcParams(options: OgcFiltersOptions): IOgcFiltersOptionSaveable;
@@ -3,7 +3,7 @@ import { EntityKey, EntityStoreOptions, EntityStoreStrategyOptions } from '@igo2
3
3
  import OlFeature from 'ol/Feature';
4
4
  import type { default as OlGeometry } from 'ol/geom/Geometry';
5
5
  import OlRenderFeature from 'ol/render/Feature';
6
- import { GeoJsonGeometryTypes } from 'geojson';
6
+ import { Geometry } from 'geojson';
7
7
  import { SourceFieldsOptionsParams } from '../../datasource/shared/datasources';
8
8
  import type { VectorLayer } from '../../layer/shared/layers/vector-layer';
9
9
  import type { IgoMap } from '../../map/shared/map';
@@ -31,10 +31,9 @@ export interface FeatureMeta {
31
31
  excludeAttribute?: string[];
32
32
  excludeAttributeOffline?: string[];
33
33
  }
34
- export interface FeatureGeometry {
35
- type: GeoJsonGeometryTypes;
36
- coordinates: any;
37
- }
34
+ export type FeatureGeometry = {
35
+ coordinates: any[];
36
+ } & Geometry;
38
37
  export interface FeatureStoreOptions extends EntityStoreOptions {
39
38
  map: IgoMap;
40
39
  layer?: VectorLayer;
@@ -80,7 +80,7 @@ export declare function featuresAreTooDeepInView(viewController: MapViewControll
80
80
  * @param scale If this is defined, the original view will be scaled
81
81
  * by that factor before any logic is applied.
82
82
  */
83
- export declare function moveToOlFeatures(viewController: MapViewController, olFeatures: OlFeature<OlGeometry>[], motion?: FeatureMotion, scale?: [number, number, number, number], areaRatio?: number): void;
83
+ export declare function moveToOlFeatures(viewController: MapViewController, olFeatures: OlFeature | OlFeature[], motion?: FeatureMotion, scale?: [number, number, number, number], areaRatio?: number): void;
84
84
  /**
85
85
  * Hide an OL feature
86
86
  * @param olFeature OL feature
@@ -199,7 +199,7 @@ export interface SliderOptionsInterface extends OgcFilterDuringOptions {
199
199
  displayFormat?: string;
200
200
  enabled?: boolean;
201
201
  }
202
- export interface IOgcFiltersOption extends Omit<OgcFiltersOptions, 'interfaceOgcFilters'> {
202
+ export interface IOgcFiltersOptionSaveable extends Omit<OgcFiltersOptions, 'interfaceOgcFilters'> {
203
203
  interfaceOgcFilters: IOgcInterfaceFilterOptions[];
204
204
  }
205
205
  export type IOgcInterfaceFilterOptions = Pick<OgcInterfaceFilterOptions, 'propertyName' | 'begin' | 'end' | 'active' | 'operator' | 'expression'>;
@@ -1,9 +1,10 @@
1
- import { WMSDataSource } from '../../datasource/shared/datasources/wms-datasource';
1
+ import type { WFSDataSourceOptions } from '../../datasource/shared/datasources/wfs-datasource.interface';
2
+ import type { WMSDataSource } from '../../datasource/shared/datasources/wms-datasource';
2
3
  import { OgcFilterableDataSource } from './ogc-filter.interface';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class OGCFilterService {
5
6
  filterByOgc(wmsDatasource: WMSDataSource, filterString: string): void;
6
- setOgcWFSFiltersOptions(wfsDatasource: OgcFilterableDataSource): void;
7
+ setOgcWFSFiltersOptions(options: WFSDataSourceOptions): void;
7
8
  setOgcWMSFiltersOptions(wmsDatasource: OgcFilterableDataSource): void;
8
9
  private mergeInterfaceFilters;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<OGCFilterService, never>;
@@ -24,7 +24,7 @@ export declare class ExportService {
24
24
  private exportAsync;
25
25
  protected exportToFile(olFeatures: OlFeature<OlGeometry>[], format: AnyExportFormat, title: string, projectionIn: string, projectionOut: string): Promise<void>;
26
26
  private formatFeatures;
27
- getFormatter(format: AnyExportFormat): import("ol/format/GML3").default | olformat.GPX | olformat.KML | olformat.GeoJSON<typeof OlFeature>;
27
+ getFormatter(format: AnyExportFormat): import("ol/format/GML3").default | olformat.GPX | olformat.KML | olformat.GeoJSON<OlFeature<OlGeometry>>;
28
28
  exportExcel(map: IgoMap, store: WorkspaceStore, data: ExportOptions): Promise<void>;
29
29
  private getTitleFromLayers;
30
30
  private getLayerTitleFromId;
@@ -7,6 +7,7 @@ import { StorageService } from '@igo2/core/storage';
7
7
  import olFeature from 'ol/Feature';
8
8
  import GeoJSON from 'ol/format/GeoJSON';
9
9
  import WKT from 'ol/format/WKT';
10
+ import type { default as OlGeometry } from 'ol/geom/Geometry';
10
11
  import { BehaviorSubject, Observable } from 'rxjs';
11
12
  import { RelationOptions } from '../../datasource/shared/datasources';
12
13
  import { ImageLayer, LayerService, VectorLayer } from '../../layer/shared';
@@ -29,7 +30,7 @@ export declare class EditionWorkspaceService {
29
30
  rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>;
30
31
  loading: boolean;
31
32
  wktFormat: WKT;
32
- geoJsonFormat: GeoJSON<typeof olFeature>;
33
+ geoJsonFormat: GeoJSON<olFeature<OlGeometry>>;
33
34
  get zoomAuto(): boolean;
34
35
  constructor(layerService: LayerService, storageService: StorageService, configService: ConfigService, messageService: MessageService, http: HttpClient, dialog: MatDialog, styleService: StyleService, authInterceptor?: AuthInterceptor);
35
36
  createWorkspace(layer: ImageLayer, map: IgoMap): EditionWorkspace;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igo2/geo",
3
- "version": "19.0.0-next.10",
3
+ "version": "19.0.0-next.12",
4
4
  "description": "IGO Library",
5
5
  "author": "IGO Community",
6
6
  "keywords": [
@@ -32,13 +32,23 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@turf/helpers": "^6.5.0",
36
- "@turf/line-intersect": "^6.5.0",
37
- "@turf/point-on-feature": "^6.5.0",
35
+ "@mat-datetimepicker/core": "^15.0.1",
36
+ "@turf/helpers": "^7.2.0",
37
+ "@turf/line-intersect": "^7.2.0",
38
+ "@turf/point-on-feature": "^7.2.0",
39
+ "file-saver": "^2.0.2",
40
+ "flexsearch": "0.7.21",
41
+ "html2canvas": "^1.4.1",
42
+ "jspdf-autotable": "^5.0.0",
43
+ "jspdf": "^3.0.0",
44
+ "jszip": "^3.10.1",
45
+ "moment": "^2.30.0",
46
+ "ngx-indexed-db": "^19.0.0",
38
47
  "nosleep.js": "^0.12.0",
48
+ "striptags": "^3.2.0",
39
49
  "ts-cacheable": "^1.0.6",
40
50
  "ts-md5": "^1.3.0",
41
- "tslib": "^2.6.0"
51
+ "tslib": "^2.8.0"
42
52
  },
43
53
  "peerDependencies": {
44
54
  "@angular/animations": "^19.0.0",
@@ -48,24 +58,14 @@
48
58
  "@angular/material": "^19.0.0",
49
59
  "@angular/material-moment-adapter": "^19.0.0",
50
60
  "@angular/platform-browser": "^19.0.0",
51
- "@igo2/auth": "^19.0.0-next.10",
52
- "@igo2/common": "^19.0.0-next.10",
53
- "@igo2/core": "^19.0.0-next.10",
54
- "@igo2/utils": "^19.0.0-next.10",
55
- "@mat-datetimepicker/core": "^15.0.1",
56
- "file-saver": "^2.0.2",
57
- "flexsearch": "0.7.21",
58
- "html2canvas": "^1.4.1",
59
- "jspdf": "^3.0.0",
60
- "jspdf-autotable": "^5.0.0",
61
- "jszip": "^3.10.1",
62
- "moment": "^2.30.0",
63
- "ngx-indexed-db": "^19.0.0",
64
- "ol": "9.1.0",
65
- "ol-mapbox-style": "^12.0.0",
66
- "proj4": "^2.12.0",
67
- "rxjs": "^7.8.0",
68
- "striptags": "^3.2.0"
61
+ "@igo2/auth": "^19.0.0-next.12",
62
+ "@igo2/common": "^19.0.0-next.12",
63
+ "@igo2/core": "^19.0.0-next.12",
64
+ "@igo2/utils": "^19.0.0-next.12",
65
+ "ol-mapbox-style": "^12.5.0",
66
+ "ol": "10.5.0",
67
+ "proj4": "^2.15.0",
68
+ "rxjs": "^7.8.0"
69
69
  },
70
70
  "engines": {
71
71
  "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
package/style/style.css CHANGED
@@ -347,4 +347,8 @@
347
347
 
348
348
  .ol-overviewmap .ol-overviewmap-box:hover {
349
349
  cursor: move;
350
+ }
351
+
352
+ .ol-overviewmap .ol-viewport:hover {
353
+ cursor: pointer;
350
354
  }