@webviz/subsurface-viewer 1.15.13 → 1.16.1
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.
- package/dist/layers/utils/layerTools.d.ts +9 -4
- package/dist/layers/utils/layerTools.js +11 -0
- package/dist/layers/utils/layerTools.js.map +1 -1
- package/dist/layers/wells/layers/dashedSectionsPathLayer.d.ts +3990 -0
- package/dist/layers/wells/layers/dashedSectionsPathLayer.js +248 -0
- package/dist/layers/wells/layers/dashedSectionsPathLayer.js.map +1 -0
- package/dist/layers/wells/layers/flatWellMarkersLayer.d.ts +68 -0
- package/dist/layers/wells/layers/flatWellMarkersLayer.js +223 -0
- package/dist/layers/wells/layers/flatWellMarkersLayer.js.map +1 -0
- package/dist/layers/wells/types.d.ts +26 -0
- package/dist/layers/wells/utils/markers.d.ts +13 -0
- package/dist/layers/wells/utils/markers.js +73 -0
- package/dist/layers/wells/utils/markers.js.map +1 -0
- package/dist/layers/wells/utils/readout.d.ts +16 -0
- package/dist/layers/wells/utils/readout.js +33 -0
- package/dist/layers/wells/utils/readout.js.map +1 -0
- package/dist/layers/wells/utils/trajectory.d.ts +41 -2
- package/dist/layers/wells/utils/trajectory.js +173 -4
- package/dist/layers/wells/utils/trajectory.js.map +1 -1
- package/dist/layers/wells/wellsLayer.d.ts +55 -4
- package/dist/layers/wells/wellsLayer.js +325 -30
- package/dist/layers/wells/wellsLayer.js.map +1 -1
- package/dist/utils/Color.d.ts +7 -0
- package/dist/utils/Color.js +20 -0
- package/dist/utils/Color.js.map +1 -1
- package/dist/utils/measurement.d.ts +8 -0
- package/dist/utils/measurement.js +10 -0
- package/dist/utils/measurement.js.map +1 -1
- package/package.json +11 -10
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import _, { isEmpty, isEqual } from "lodash";
|
|
2
2
|
import { CompositeLayer } from "@deck.gl/core";
|
|
3
|
-
import { PathStyleExtension } from "@deck.gl/extensions";
|
|
4
|
-
import { GeoJsonLayer } from "@deck.gl/layers";
|
|
3
|
+
import { DataFilterExtension, PathStyleExtension } from "@deck.gl/extensions";
|
|
4
|
+
import { GeoJsonLayer, PathLayer } from "@deck.gl/layers";
|
|
5
5
|
import { GL } from "@luma.gl/constants";
|
|
6
6
|
import { createPropertyData, getFromAccessor, getLayersById, isDrawingEnabled, } from "../utils/layerTools";
|
|
7
|
+
import { scaleArray } from "../../utils/arrays";
|
|
8
|
+
import { isClose } from "../../utils/measurement";
|
|
7
9
|
import { SectionViewport } from "../../viewports";
|
|
10
|
+
import { DashedSectionsPathLayer } from "./layers/dashedSectionsPathLayer";
|
|
11
|
+
import { LogCurveLayer } from "./layers/logCurveLayer";
|
|
12
|
+
import { FlatWellMarkersLayer } from "./layers/flatWellMarkersLayer";
|
|
8
13
|
import { WellLabelLayer } from "./layers/wellLabelLayer";
|
|
9
14
|
import { abscissaTransform } from "./utils/abscissaTransform";
|
|
10
|
-
import {
|
|
11
|
-
import { getColor, getMd, getTrajectory, getTvd } from "./utils/trajectory";
|
|
12
|
-
import { LogCurveLayer } from "./layers/logCurveLayer";
|
|
13
|
-
import { getWellMds, getWellObjectByName, getWellObjectsByName, } from "./utils/wells";
|
|
15
|
+
import { DEFAULT_LINE_WIDTH, getSize, LINE, POINT } from "./utils/features";
|
|
14
16
|
import { getLegendData, getLogProperty } from "./utils/log";
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
+
import { createPerforationReadout, createScreenReadout } from "./utils/readout";
|
|
18
|
+
import { checkWells, coarsenWells, GetBoundingBox, invertPath, splineRefine, } from "./utils/spline";
|
|
19
|
+
import { getColor, getMd, getTrajectory, getTvd, injectMdPoints, } from "./utils/trajectory";
|
|
20
|
+
import { getWellMds, getWellObjectByName, getWellObjectsByName, } from "./utils/wells";
|
|
17
21
|
const DEFAULT_DASH = [5, 5];
|
|
22
|
+
const DEFAULT_SCREEN_DASH = [5, 5];
|
|
18
23
|
export var SubLayerId;
|
|
19
24
|
(function (SubLayerId) {
|
|
20
25
|
SubLayerId["COLORS"] = "colors";
|
|
@@ -25,6 +30,11 @@ export var SubLayerId;
|
|
|
25
30
|
SubLayerId["LOG_CURVE"] = "log_curve";
|
|
26
31
|
SubLayerId["SELECTION"] = "selection";
|
|
27
32
|
SubLayerId["LABELS"] = "labels";
|
|
33
|
+
SubLayerId["MARKERS"] = "markers";
|
|
34
|
+
SubLayerId["WELL_HEADS"] = "well_head";
|
|
35
|
+
SubLayerId["SCREEN_TRAJECTORY"] = "screen_trajectory";
|
|
36
|
+
SubLayerId["SCREEN_TRAJECTORY_OUTLINE"] = "screen_trajectory_outline";
|
|
37
|
+
SubLayerId["TRAJECTORY_FILTER_GHOST"] = "trajectory_filter_ghost";
|
|
28
38
|
})(SubLayerId || (SubLayerId = {}));
|
|
29
39
|
const defaultProps = {
|
|
30
40
|
"@@type": "WellsLayer",
|
|
@@ -46,6 +56,10 @@ const defaultProps = {
|
|
|
46
56
|
simplifiedRendering: false,
|
|
47
57
|
section: false,
|
|
48
58
|
dataTransform: coarsenWells,
|
|
59
|
+
mdFilterRange: [],
|
|
60
|
+
formationFilter: [],
|
|
61
|
+
wellNameFilter: [],
|
|
62
|
+
enableFilters: false,
|
|
49
63
|
// Deprecated props
|
|
50
64
|
wellNameColor: [0, 0, 0, 255],
|
|
51
65
|
wellNameSize: 10,
|
|
@@ -62,6 +76,9 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
62
76
|
if (ZIncreasingDownwards) {
|
|
63
77
|
transformedData = invertPath(transformedData);
|
|
64
78
|
}
|
|
79
|
+
if (this.props.enableFilters) {
|
|
80
|
+
transformedData = injectMdPointsForFilter(transformedData, this.props.mdFilterRange);
|
|
81
|
+
}
|
|
65
82
|
// Create a state for the section projection of the data, which by default is
|
|
66
83
|
// identical to the original transformed data.
|
|
67
84
|
let sectionData = transformedData;
|
|
@@ -93,7 +110,10 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
93
110
|
updateState({ props, oldProps }) {
|
|
94
111
|
const needs_reload = !isEqual(props.data, oldProps.data) ||
|
|
95
112
|
!isEqual(props.ZIncreasingDownwards, oldProps.ZIncreasingDownwards) ||
|
|
96
|
-
!isEqual(props.refine, oldProps.refine)
|
|
113
|
+
!isEqual(props.refine, oldProps.refine) ||
|
|
114
|
+
!isEqual(props.enableFilters, oldProps.enableFilters) ||
|
|
115
|
+
!isEqual(props.mdFilterRange, oldProps.mdFilterRange) ||
|
|
116
|
+
!isEqual(props.formationFilter, oldProps.formationFilter);
|
|
97
117
|
if (needs_reload) {
|
|
98
118
|
this.recomputeDataState();
|
|
99
119
|
}
|
|
@@ -204,10 +224,11 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
204
224
|
return new WellLabelLayer(wellLabelProps);
|
|
205
225
|
}
|
|
206
226
|
renderLayers() {
|
|
207
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
227
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
|
|
208
228
|
const data = this.getWellDataState();
|
|
209
|
-
const positionFormat = "XYZ";
|
|
210
229
|
const isDashed = !!((_a = this.props.lineStyle) === null || _a === void 0 ? void 0 : _a.dash);
|
|
230
|
+
// To support outlines for the dashed section, we will manage it's default dash size here
|
|
231
|
+
const screenDashAccessor = (_c = (_b = this.props.markers) === null || _b === void 0 ? void 0 : _b.getScreenDashArray) !== null && _c !== void 0 ? _c : DEFAULT_SCREEN_DASH;
|
|
211
232
|
if (!data || !(data === null || data === void 0 ? void 0 : data.features.length)) {
|
|
212
233
|
return [];
|
|
213
234
|
}
|
|
@@ -227,26 +248,132 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
227
248
|
data,
|
|
228
249
|
pickable: false,
|
|
229
250
|
stroked: false,
|
|
230
|
-
positionFormat,
|
|
251
|
+
positionFormat: (_d = this.props.positionFormat) !== null && _d !== void 0 ? _d : "XYZ",
|
|
231
252
|
pointRadiusUnits: "pixels",
|
|
232
253
|
lineWidthUnits: "pixels",
|
|
233
254
|
pointRadiusScale: this.props.pointRadiusScale,
|
|
234
255
|
lineWidthScale: this.props.lineWidthScale,
|
|
235
|
-
getLineWidth: getSize(LINE, (
|
|
236
|
-
getPointRadius: getSize(POINT, (
|
|
256
|
+
getLineWidth: getSize(LINE, (_e = this.props.lineStyle) === null || _e === void 0 ? void 0 : _e.width, -1),
|
|
257
|
+
getPointRadius: getSize(POINT, (_f = this.props.wellHeadStyle) === null || _f === void 0 ? void 0 : _f.size, -1),
|
|
237
258
|
lineBillboard: true,
|
|
238
259
|
pointBillboard: true,
|
|
239
260
|
parameters,
|
|
240
261
|
visible: fastDrawing,
|
|
262
|
+
filterEnabled: false,
|
|
241
263
|
};
|
|
242
|
-
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
264
|
+
// Map GeoJsonLayer properties to match PathLayerProps
|
|
265
|
+
const colorsLayerProps = this.getSubLayerProps(Object.assign(Object.assign({}, defaultLayerProps), {
|
|
266
|
+
// Whenever _subLayerProps.linestrings.type changes, we need to ensure an entirely new
|
|
267
|
+
// layer instance is created to avoid state errors, which is why we modify the ID.
|
|
268
|
+
id: ((_g = this.props.markers) === null || _g === void 0 ? void 0 : _g.showScreenTrajectoryAsDash)
|
|
269
|
+
? SubLayerId.SCREEN_TRAJECTORY
|
|
270
|
+
: SubLayerId.COLORS, pickable: true, extensions: [
|
|
271
|
+
...extensions,
|
|
272
|
+
new DataFilterExtension({
|
|
273
|
+
filterSize: 1,
|
|
274
|
+
}),
|
|
275
|
+
], getDashArray: getDashFactor((_h = this.props.lineStyle) === null || _h === void 0 ? void 0 : _h.dash, getSize(LINE, (_j = this.props.lineStyle) === null || _j === void 0 ? void 0 : _j.width), -1), visible: !fastDrawing, getLineColor: getColor((_k = this.props.lineStyle) === null || _k === void 0 ? void 0 : _k.color), getFillColor: getColor((_l = this.props.wellHeadStyle) === null || _l === void 0 ? void 0 : _l.color), filterEnabled: this.props.enableFilters,
|
|
276
|
+
// ? I should be able to use filterCategories: [1] and `getFilterCategory`, but it's not working for path section filtering
|
|
277
|
+
filterRange: [1, 1], getFilterValue: (d, ctx) => getTrajectoryFilterCategory(d, this.props.mdFilterRange, this.props.formationFilter, this.props.wellNameFilter, ctx), updateTriggers: {
|
|
278
|
+
getFilterValue: [
|
|
279
|
+
this.props.wellNameFilter,
|
|
280
|
+
...((_m = this.props.updateTriggers["mdFilterRange"]) !== null && _m !== void 0 ? _m : []),
|
|
281
|
+
...((_o = this.props.updateTriggers["formationFilter"]) !== null && _o !== void 0 ? _o : []),
|
|
282
|
+
],
|
|
283
|
+
},
|
|
284
|
+
// Override path layer to use opt-in screen dashes
|
|
285
|
+
_subLayerProps: {
|
|
286
|
+
linestrings: {
|
|
287
|
+
type: ((_p = this.props.markers) === null || _p === void 0 ? void 0 : _p.showScreenTrajectoryAsDash)
|
|
288
|
+
? DashedSectionsPathLayer
|
|
289
|
+
: PathLayer,
|
|
290
|
+
getSectionDashArray: getDashFactor(screenDashAccessor, getSize(LINE, (_q = this.props.lineStyle) === null || _q === void 0 ? void 0 : _q.width), -1),
|
|
291
|
+
getCumulativePathDistance: (d) => d.__source.object.properties.md[0],
|
|
292
|
+
getDashedSectionsAlongPath: (d) => {
|
|
293
|
+
var _a, _b;
|
|
294
|
+
const feature = d.__source.object;
|
|
295
|
+
const maxMd = (_a = feature.properties.md[0]) === null || _a === void 0 ? void 0 : _a.at(-1);
|
|
296
|
+
if (maxMd === undefined)
|
|
297
|
+
return undefined;
|
|
298
|
+
return (_b = feature.properties.screens) === null || _b === void 0 ? void 0 : _b.map((screen) => [
|
|
299
|
+
screen.mdStart / maxMd,
|
|
300
|
+
screen.mdEnd / maxMd,
|
|
301
|
+
]);
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
} }));
|
|
305
|
+
const fastLayerProps = this.getSubLayerProps(Object.assign(Object.assign({}, defaultLayerProps), { id: SubLayerId.SIMPLE, getLineColor: getColor((_r = this.props.lineStyle) === null || _r === void 0 ? void 0 : _r.color), getFillColor: getColor((_s = this.props.wellHeadStyle) === null || _s === void 0 ? void 0 : _s.color) }));
|
|
306
|
+
const filterGhostLayerProps = this.getSubLayerProps(Object.assign(Object.assign({}, defaultLayerProps), { extensions: [
|
|
307
|
+
new DataFilterExtension({
|
|
308
|
+
filterSize: 1,
|
|
309
|
+
}),
|
|
310
|
+
], id: SubLayerId.TRAJECTORY_FILTER_GHOST, filterEnabled: this.props.enableFilters, getFillColor: Array.isArray(this.props.showFilterTrajectoryGhost)
|
|
311
|
+
? this.props.showFilterTrajectoryGhost
|
|
312
|
+
: [225, 225, 225], getLineColor: Array.isArray(this.props.showFilterTrajectoryGhost)
|
|
313
|
+
? this.props.showFilterTrajectoryGhost
|
|
314
|
+
: [225, 225, 225],
|
|
315
|
+
// ? I should be able to use filterCategories: [1] and `getFilterCategory`, but it's not working for path section filtering
|
|
316
|
+
filterRange: [1, 1], getFilterValue: (d, ctx) => {
|
|
317
|
+
const includeFilter = getTrajectoryFilterCategory(d, this.props.mdFilterRange, this.props.formationFilter, this.props.wellNameFilter, ctx);
|
|
318
|
+
if (!Array.isArray(includeFilter))
|
|
319
|
+
return 1 - includeFilter;
|
|
320
|
+
return includeFilter.map((n) => 1 - n);
|
|
321
|
+
}, getDashArray: getDashFactor((_t = this.props.lineStyle) === null || _t === void 0 ? void 0 : _t.dash), visible: !fastDrawing &&
|
|
322
|
+
this.props.enableFilters &&
|
|
323
|
+
this.props.showFilterTrajectoryGhost, parameters: Object.assign(Object.assign({}, parameters), { [GL.POLYGON_OFFSET_FACTOR]: 1, [GL.POLYGON_OFFSET_UNITS]: 1 }), updateTriggers: {
|
|
324
|
+
getFilterValue: [
|
|
325
|
+
this.props.wellNameFilter,
|
|
326
|
+
...((_u = this.props.updateTriggers["mdFilterRange"]) !== null && _u !== void 0 ? _u : []),
|
|
327
|
+
...((_v = this.props.updateTriggers["formationFilter"]) !== null && _v !== void 0 ? _v : []),
|
|
328
|
+
],
|
|
329
|
+
} }));
|
|
330
|
+
const outlineLayerProps = this.getSubLayerProps(Object.assign(Object.assign({}, defaultLayerProps), {
|
|
331
|
+
// Whenever _subLayerProps.linestrings.type changes, we need to ensure an entirely new
|
|
332
|
+
// layer instance is created to avoid state errors, which is why we modify the ID.
|
|
333
|
+
id: ((_w = this.props.markers) === null || _w === void 0 ? void 0 : _w.showScreenTrajectoryAsDash)
|
|
334
|
+
? SubLayerId.SCREEN_TRAJECTORY_OUTLINE
|
|
335
|
+
: SubLayerId.OUTLINE, getLineWidth: getSize(LINE, (_x = this.props.lineStyle) === null || _x === void 0 ? void 0 : _x.width), getPointRadius: getSize(POINT, (_y = this.props.wellHeadStyle) === null || _y === void 0 ? void 0 : _y.size), extensions: [
|
|
336
|
+
...extensions,
|
|
337
|
+
new DataFilterExtension({
|
|
338
|
+
filterSize: 1,
|
|
339
|
+
}),
|
|
340
|
+
], filterEnabled: this.props.enableFilters,
|
|
341
|
+
// ? I should be able to use filterCategories: [1] and `getFilterCategory`, but it's not working for path section filtering
|
|
342
|
+
filterRange: [1, 1], getFilterValue: (d, ctx) => getTrajectoryFilterCategory(d, this.props.mdFilterRange, this.props.formationFilter, this.props.wellNameFilter, ctx), getDashArray: getDashFactor((_z = this.props.lineStyle) === null || _z === void 0 ? void 0 : _z.dash), visible: this.props.outline && !fastDrawing, parameters: Object.assign(Object.assign({}, parameters), { [GL.POLYGON_OFFSET_FACTOR]: 1, [GL.POLYGON_OFFSET_UNITS]: 1 }), updateTriggers: {
|
|
343
|
+
getFilterValue: [
|
|
344
|
+
this.props.wellNameFilter,
|
|
345
|
+
...((_0 = this.props.updateTriggers["mdFilterRange"]) !== null && _0 !== void 0 ? _0 : []),
|
|
346
|
+
...((_1 = this.props.updateTriggers["formationFilter"]) !== null && _1 !== void 0 ? _1 : []),
|
|
347
|
+
],
|
|
348
|
+
},
|
|
349
|
+
// Override path layer to use opt-in screen dashes
|
|
350
|
+
_subLayerProps: {
|
|
351
|
+
linestrings: {
|
|
352
|
+
type: ((_2 = this.props.markers) === null || _2 === void 0 ? void 0 : _2.showScreenTrajectoryAsDash)
|
|
353
|
+
? DashedSectionsPathLayer
|
|
354
|
+
: PathLayer,
|
|
355
|
+
// Props for DashedSectionsPathLayer
|
|
356
|
+
getSectionDashArray: getDashFactor(screenDashAccessor, getSize(LINE, (_3 = this.props.lineStyle) === null || _3 === void 0 ? void 0 : _3.width)),
|
|
357
|
+
getCumulativePathDistance: (d) => d.__source.object.properties.md[0],
|
|
358
|
+
getDashedSectionsAlongPath: (d) => {
|
|
359
|
+
var _a, _b;
|
|
360
|
+
const feature = d.__source.object;
|
|
361
|
+
const maxMd = (_a = feature.properties.md[0]) === null || _a === void 0 ? void 0 : _a.at(-1);
|
|
362
|
+
if (maxMd === undefined)
|
|
363
|
+
return undefined;
|
|
364
|
+
return (_b = feature.properties.screens) === null || _b === void 0 ? void 0 : _b.map((screen) => [
|
|
365
|
+
screen.mdStart / maxMd,
|
|
366
|
+
screen.mdEnd / maxMd,
|
|
367
|
+
]);
|
|
368
|
+
},
|
|
369
|
+
},
|
|
370
|
+
} }));
|
|
371
|
+
const highlightLayerProps = this.getSubLayerProps(Object.assign(Object.assign({}, defaultLayerProps), { id: SubLayerId.HIGHLIGHT, data: getWellObjectByName(data.features, this.props.selectedWell), getLineWidth: getSize(LINE, (_4 = this.props.lineStyle) === null || _4 === void 0 ? void 0 : _4.width, 2), getPointRadius: getSize(POINT, (_5 = this.props.wellHeadStyle) === null || _5 === void 0 ? void 0 : _5.size, 2), getLineColor: getColor((_6 = this.props.lineStyle) === null || _6 === void 0 ? void 0 : _6.color), getFillColor: getColor((_7 = this.props.wellHeadStyle) === null || _7 === void 0 ? void 0 : _7.color), visible: this.props.logCurves && !fastDrawing }));
|
|
372
|
+
const highlightMultiWellsLayerProps = this.getSubLayerProps(Object.assign(Object.assign({}, defaultLayerProps), { id: SubLayerId.HIGHLIGHT_2, data: getWellObjectsByName(data.features, this.state.selectedMultiWells), getPointRadius: getSize(POINT, (_8 = this.props.wellHeadStyle) === null || _8 === void 0 ? void 0 : _8.size, 2), getFillColor: [255, 140, 0], getLineColor: [255, 140, 0], visible: this.props.logCurves && !fastDrawing }));
|
|
247
373
|
const fastLayer = new GeoJsonLayer(fastLayerProps);
|
|
248
374
|
const outlineLayer = new GeoJsonLayer(outlineLayerProps);
|
|
249
375
|
const colorsLayer = new GeoJsonLayer(colorsLayerProps);
|
|
376
|
+
const filterGhostLayer = new GeoJsonLayer(filterGhostLayerProps);
|
|
250
377
|
// Highlight the selected well.
|
|
251
378
|
const highlightLayer = new GeoJsonLayer(highlightLayerProps);
|
|
252
379
|
// Highlight the multi selected wells.
|
|
@@ -256,7 +383,7 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
256
383
|
visible: this.props.logCurves && !fastDrawing,
|
|
257
384
|
pickable: true,
|
|
258
385
|
parameters,
|
|
259
|
-
positionFormat,
|
|
386
|
+
positionFormat: this.props.positionFormat,
|
|
260
387
|
data: this.props.logData,
|
|
261
388
|
trajectoryData: data,
|
|
262
389
|
domainSelection: this.state.logDomainSelection,
|
|
@@ -282,6 +409,49 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
282
409
|
getTrajectoryPath: [this.props.lineStyle],
|
|
283
410
|
},
|
|
284
411
|
})));
|
|
412
|
+
const markerLayer = new FlatWellMarkersLayer(this.getSubLayerProps(Object.assign(Object.assign({}, defaultLayerProps), { visible: !fastDrawing, pickable: true, id: SubLayerId.MARKERS, data: data.features, outline: this.props.outline, getLineColor: getColor((_9 = this.props.lineStyle) === null || _9 === void 0 ? void 0 : _9.color),
|
|
413
|
+
// We can also specify the color per marker
|
|
414
|
+
// getMarkerColor: (marker: TrajectoryMarker) => ...
|
|
415
|
+
updateTriggers: {
|
|
416
|
+
getMarkers: [
|
|
417
|
+
(_10 = this.props.markers) === null || _10 === void 0 ? void 0 : _10.showScreens,
|
|
418
|
+
(_11 = this.props.markers) === null || _11 === void 0 ? void 0 : _11.showPerforations,
|
|
419
|
+
],
|
|
420
|
+
getFilterValue: [
|
|
421
|
+
this.props.wellNameFilter,
|
|
422
|
+
...((_12 = this.props.updateTriggers["mdFilterRange"]) !== null && _12 !== void 0 ? _12 : []),
|
|
423
|
+
...((_13 = this.props.updateTriggers["formationFilter"]) !== null && _13 !== void 0 ? _13 : []),
|
|
424
|
+
],
|
|
425
|
+
}, extensions: [new DataFilterExtension({ filterSize: 1 })], filterEnabled: this.props.enableFilters, filterRange: [1, 1], getFilterValue: (d, ctx) => getTrajectoryFilterCategory(d, this.props.mdFilterRange, this.props.formationFilter, this.props.wellNameFilter, ctx), getCumulativePathDistance: (d) => d.properties.md[0], getTrajectoryPath: (d) => { var _a; return getTrajectory(d, (_a = this.props.lineStyle) === null || _a === void 0 ? void 0 : _a.color); }, getMarkerColor: (_14 = this.props.markers) === null || _14 === void 0 ? void 0 : _14.getMarkerColor, getMarkers: (d) => {
|
|
426
|
+
var _a, _b, _c;
|
|
427
|
+
const maxMd = (_a = d.properties.md[0]) === null || _a === void 0 ? void 0 : _a.at(-1);
|
|
428
|
+
const { perforations = [], screens = [] } = d.properties;
|
|
429
|
+
if (maxMd === undefined || maxMd === 0)
|
|
430
|
+
return [];
|
|
431
|
+
const markers = [];
|
|
432
|
+
if ((_b = this.props.markers) === null || _b === void 0 ? void 0 : _b.showScreens) {
|
|
433
|
+
markers.push(...screens.flatMap((s) => [
|
|
434
|
+
{
|
|
435
|
+
type: "screen-start",
|
|
436
|
+
positionAlongPath: s.mdStart / maxMd,
|
|
437
|
+
properties: s,
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
type: "screen-end",
|
|
441
|
+
positionAlongPath: s.mdEnd / maxMd,
|
|
442
|
+
properties: s,
|
|
443
|
+
},
|
|
444
|
+
]));
|
|
445
|
+
}
|
|
446
|
+
if ((_c = this.props.markers) === null || _c === void 0 ? void 0 : _c.showPerforations) {
|
|
447
|
+
markers.push(...perforations.map((p) => ({
|
|
448
|
+
type: "perforation",
|
|
449
|
+
positionAlongPath: p.md / maxMd,
|
|
450
|
+
properties: p,
|
|
451
|
+
})));
|
|
452
|
+
}
|
|
453
|
+
return markers;
|
|
454
|
+
} })));
|
|
285
455
|
const namesLayer = this.createWellLabelLayer(data.features);
|
|
286
456
|
const layers = [
|
|
287
457
|
outlineLayer,
|
|
@@ -290,14 +460,22 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
290
460
|
highlightMultiWellsLayer,
|
|
291
461
|
namesLayer,
|
|
292
462
|
logLayer,
|
|
463
|
+
markerLayer,
|
|
464
|
+
filterGhostLayer,
|
|
293
465
|
];
|
|
294
466
|
if (fastDrawing) {
|
|
295
467
|
layers.push(fastLayer);
|
|
296
468
|
}
|
|
297
469
|
return layers;
|
|
298
470
|
}
|
|
471
|
+
getSubLayerId(id) {
|
|
472
|
+
return this.getSubLayerProps({ id }).id;
|
|
473
|
+
}
|
|
474
|
+
getSubLayerById(id) {
|
|
475
|
+
return this.getSubLayers().find((l) => l.id === this.getSubLayerId(id));
|
|
476
|
+
}
|
|
299
477
|
getPickingInfo({ info }) {
|
|
300
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
478
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
301
479
|
const noLog = {
|
|
302
480
|
properties: [],
|
|
303
481
|
logName: "",
|
|
@@ -306,30 +484,65 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
306
484
|
return Object.assign(Object.assign({}, info), noLog);
|
|
307
485
|
}
|
|
308
486
|
const features = (_c = (_b = this.getWellDataState()) === null || _b === void 0 ? void 0 : _b.features) !== null && _c !== void 0 ? _c : [];
|
|
309
|
-
|
|
487
|
+
let coordinate = info.coordinate || [0, 0, 0];
|
|
310
488
|
const zScale = this.props.modelMatrix ? this.props.modelMatrix[10] : 1;
|
|
311
|
-
if (
|
|
489
|
+
if (coordinate[2] !== undefined) {
|
|
312
490
|
coordinate[2] /= Math.max(0.001, zScale);
|
|
313
491
|
}
|
|
314
492
|
let wellName = undefined;
|
|
315
493
|
let md_property = null;
|
|
316
494
|
let tvd_property = null;
|
|
317
495
|
let log_property = null;
|
|
496
|
+
let screen_property = null;
|
|
497
|
+
let perforation_property = null;
|
|
498
|
+
if (((_d = info.sourceLayer) === null || _d === void 0 ? void 0 : _d.id) ===
|
|
499
|
+
this.getSubLayerId(SubLayerId.SCREEN_TRAJECTORY)) {
|
|
500
|
+
const screenIndex = info
|
|
501
|
+
.dashedSectionIndex;
|
|
502
|
+
const data = info.object;
|
|
503
|
+
if (screenIndex !== undefined && screenIndex !== -1) {
|
|
504
|
+
const hoveredScreen = (_f = (_e = data.properties) === null || _e === void 0 ? void 0 : _e.screens) === null || _f === void 0 ? void 0 : _f.at(screenIndex);
|
|
505
|
+
screen_property = createScreenReadout(hoveredScreen, data);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
if (((_g = info.sourceLayer) === null || _g === void 0 ? void 0 : _g.id) === this.getSubLayerId(SubLayerId.MARKERS)) {
|
|
509
|
+
const markerData = info.object;
|
|
510
|
+
const wellData = (_h = info.object) === null || _h === void 0 ? void 0 : _h.sourceObject;
|
|
511
|
+
const sourceIndex = markerData.sourceIndex;
|
|
512
|
+
// Re-compute index and color to make autohighlight apply to the *trajectory*, instead of the individual marker
|
|
513
|
+
info.index = sourceIndex;
|
|
514
|
+
info.color = new Uint8Array(this.getSubLayerById(SubLayerId.SCREEN_TRAJECTORY).encodePickingColor(markerData.sourceIndex));
|
|
515
|
+
if (markerData.type === "perforation") {
|
|
516
|
+
const properties = markerData.properties;
|
|
517
|
+
wellName = (_j = wellData.properties) === null || _j === void 0 ? void 0 : _j.name;
|
|
518
|
+
perforation_property = createPerforationReadout(properties, wellData);
|
|
519
|
+
// We also include the MD readout here, based on the marker position
|
|
520
|
+
coordinate = markerData.position;
|
|
521
|
+
if (coordinate[2] !== undefined) {
|
|
522
|
+
coordinate[2] /= Math.max(0.001, zScale);
|
|
523
|
+
}
|
|
524
|
+
md_property = getMdProperty(coordinate, wellData, (_k = this.props.lineStyle) === null || _k === void 0 ? void 0 : _k.color, "lines");
|
|
525
|
+
tvd_property = getTvdProperty(coordinate, wellData, (_l = this.props.lineStyle) === null || _l === void 0 ? void 0 : _l.color, "lines");
|
|
526
|
+
}
|
|
527
|
+
}
|
|
318
528
|
// ! This needs to be updated if we ever change the sub-layer id!
|
|
319
|
-
if (((
|
|
529
|
+
if (((_m = info.sourceLayer) === null || _m === void 0 ? void 0 : _m.id) === `${this.props.id}-${SubLayerId.LOG_CURVE}`) {
|
|
320
530
|
// The user is hovering a well log entry
|
|
321
531
|
const logPick = info;
|
|
322
|
-
wellName = (
|
|
532
|
+
wellName = (_p = (_o = logPick.object) === null || _o === void 0 ? void 0 : _o.header) === null || _p === void 0 ? void 0 : _p.well;
|
|
323
533
|
md_property = getLogProperty(coordinate, features, logPick.object, this.props.logrunName, "MD");
|
|
324
534
|
tvd_property = getLogProperty(coordinate, features, logPick.object, this.props.logrunName, "TVD");
|
|
325
535
|
log_property = getLogProperty(coordinate, features, info.object, this.props.logrunName, this.props.logName);
|
|
326
536
|
}
|
|
327
|
-
else
|
|
537
|
+
else if (((_q = info.sourceLayer) === null || _q === void 0 ? void 0 : _q.id) ===
|
|
538
|
+
this.getSubLayerProps({ id: SubLayerId.COLORS }).id ||
|
|
539
|
+
((_r = info.sourceLayer) === null || _r === void 0 ? void 0 : _r.id) ===
|
|
540
|
+
this.getSubLayerProps({ id: SubLayerId.SCREEN_TRAJECTORY }).id) {
|
|
328
541
|
// User is hovering a wellbore path
|
|
329
542
|
const wellpickInfo = info;
|
|
330
|
-
wellName = (
|
|
331
|
-
md_property = getMdProperty(coordinate, wellpickInfo.object, (
|
|
332
|
-
tvd_property = getTvdProperty(coordinate, info.object, (
|
|
543
|
+
wellName = (_t = (_s = wellpickInfo.object) === null || _s === void 0 ? void 0 : _s.properties) === null || _t === void 0 ? void 0 : _t.name;
|
|
544
|
+
md_property = getMdProperty(coordinate, wellpickInfo.object, (_u = this.props.lineStyle) === null || _u === void 0 ? void 0 : _u.color, info.featureType);
|
|
545
|
+
tvd_property = getTvdProperty(coordinate, info.object, (_v = this.props.lineStyle) === null || _v === void 0 ? void 0 : _v.color, info.featureType);
|
|
333
546
|
}
|
|
334
547
|
// Patch for inverting tvd readout to fix issue #830,
|
|
335
548
|
// should make proper fix when handling z increase direction - issue #842
|
|
@@ -341,6 +554,10 @@ export default class WellsLayer extends CompositeLayer {
|
|
|
341
554
|
layer_properties.push(inverted_tvd_property);
|
|
342
555
|
if (log_property)
|
|
343
556
|
layer_properties.push(log_property);
|
|
557
|
+
if (screen_property)
|
|
558
|
+
layer_properties.push(screen_property);
|
|
559
|
+
if (perforation_property)
|
|
560
|
+
layer_properties.push(perforation_property);
|
|
344
561
|
return Object.assign(Object.assign({}, info), { properties: layer_properties, logName: log_property === null || log_property === void 0 ? void 0 : log_property.name, wellName: wellName });
|
|
345
562
|
}
|
|
346
563
|
}
|
|
@@ -349,7 +566,7 @@ WellsLayer.defaultProps = Object.assign(Object.assign({}, defaultProps), { onDat
|
|
|
349
566
|
//================= Local help functions. ==================
|
|
350
567
|
function onDataLoad(data, context) {
|
|
351
568
|
const bbox = GetBoundingBox(data);
|
|
352
|
-
if (
|
|
569
|
+
if (context.layer.props.reportBoundingBox !== undefined) {
|
|
353
570
|
context.layer.props.reportBoundingBox({ layerBoundingBox: bbox });
|
|
354
571
|
}
|
|
355
572
|
}
|
|
@@ -398,4 +615,82 @@ function getTvdProperty(coord, feature, accessor, featureType) {
|
|
|
398
615
|
}
|
|
399
616
|
return null;
|
|
400
617
|
}
|
|
618
|
+
// Injects MD points that will be required for cutting trajectories at the correct points
|
|
619
|
+
function injectMdPointsForFilter(data, mdFilterRange) {
|
|
620
|
+
return Object.assign(Object.assign({}, data), { features: data.features.map((feature, index) => {
|
|
621
|
+
var _a;
|
|
622
|
+
const { formations } = feature.properties;
|
|
623
|
+
const itemInfo = {
|
|
624
|
+
data: data.features,
|
|
625
|
+
target: [],
|
|
626
|
+
index,
|
|
627
|
+
};
|
|
628
|
+
const rangeMds = getFromAccessor(mdFilterRange, feature, itemInfo)
|
|
629
|
+
.flat()
|
|
630
|
+
.filter((i) => i !== -1);
|
|
631
|
+
const formationMds = (_a = formations === null || formations === void 0 ? void 0 : formations.flatMap((f) => [f.mdEnter, f.mdExit])) !== null && _a !== void 0 ? _a : [];
|
|
632
|
+
const allRequiredMds = _.chain([...formationMds, ...rangeMds])
|
|
633
|
+
.sort((a, b) => a - b)
|
|
634
|
+
.uniq()
|
|
635
|
+
.value();
|
|
636
|
+
const newFeature = injectMdPoints(feature, ...allRequiredMds);
|
|
637
|
+
return newFeature;
|
|
638
|
+
}) });
|
|
639
|
+
}
|
|
640
|
+
function getTrajectoryFilterCategory(feature, mdFilterRangeAccessor, formationFilterAccessor, wellNameFilter, itemInfo) {
|
|
641
|
+
const mdFilterRange = getFromAccessor(mdFilterRangeAccessor, feature, itemInfo);
|
|
642
|
+
const formationFilter = getFromAccessor(formationFilterAccessor, feature, itemInfo);
|
|
643
|
+
const sanitizedMdFilterBands = makeSanitizedFilterBands(mdFilterRange);
|
|
644
|
+
if (!formationFilter.length &&
|
|
645
|
+
!wellNameFilter.length &&
|
|
646
|
+
!sanitizedMdFilterBands.length)
|
|
647
|
+
return 1;
|
|
648
|
+
const { formations, md: [mdArr], } = feature.properties;
|
|
649
|
+
const nameIsValid = !wellNameFilter.length ||
|
|
650
|
+
wellNameFilter.includes(feature.properties.name);
|
|
651
|
+
if (!nameIsValid)
|
|
652
|
+
return 0;
|
|
653
|
+
// No per vertex filters
|
|
654
|
+
if (!formationFilter.length && !sanitizedMdFilterBands.length)
|
|
655
|
+
return 1;
|
|
656
|
+
return mdArr.map((md) => {
|
|
657
|
+
var _a;
|
|
658
|
+
const mdIsValid = !sanitizedMdFilterBands.length ||
|
|
659
|
+
sanitizedMdFilterBands.some((band) => {
|
|
660
|
+
if (isClose(md, band[0]))
|
|
661
|
+
return true;
|
|
662
|
+
if (isClose(md, band[1]))
|
|
663
|
+
return false;
|
|
664
|
+
return md >= band[0] && md < band[1];
|
|
665
|
+
});
|
|
666
|
+
const formation = formations === null || formations === void 0 ? void 0 : formations.find((seg) => seg.mdEnter <= md && seg.mdExit > md);
|
|
667
|
+
const formationIsValid = !(formationFilter === null || formationFilter === void 0 ? void 0 : formationFilter.length) ||
|
|
668
|
+
formationFilter.includes((_a = formation === null || formation === void 0 ? void 0 : formation.name) !== null && _a !== void 0 ? _a : "");
|
|
669
|
+
return Number(mdIsValid && formationIsValid);
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
function makeSanitizedFilterBands(mdFilter) {
|
|
673
|
+
if (!mdFilter)
|
|
674
|
+
return [];
|
|
675
|
+
if (!(mdFilter.every(Number.isFinite) || mdFilter.every(Array.isArray))) {
|
|
676
|
+
throw new Error("MD filter should either only be numbers, or lists of numbers");
|
|
677
|
+
}
|
|
678
|
+
if (Array.isArray(mdFilter[0])) {
|
|
679
|
+
return mdFilter.flatMap(makeSanitizedFilterBands);
|
|
680
|
+
}
|
|
681
|
+
let [rangeStart = -1, rangeEnd = -1] = mdFilter;
|
|
682
|
+
if (rangeStart === -1 && rangeEnd === -1)
|
|
683
|
+
return [];
|
|
684
|
+
if (rangeStart === -1)
|
|
685
|
+
rangeStart = Number.NEGATIVE_INFINITY;
|
|
686
|
+
if (rangeEnd === -1)
|
|
687
|
+
rangeEnd = Number.POSITIVE_INFINITY;
|
|
688
|
+
if (rangeStart > rangeEnd) {
|
|
689
|
+
return [
|
|
690
|
+
[Number.NEGATIVE_INFINITY, rangeEnd],
|
|
691
|
+
[rangeStart, Number.POSITIVE_INFINITY],
|
|
692
|
+
];
|
|
693
|
+
}
|
|
694
|
+
return [[rangeStart, rangeEnd]];
|
|
695
|
+
}
|
|
401
696
|
//# sourceMappingURL=wellsLayer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wellsLayer.js","sourceRoot":"","sources":["../../../src/layers/wells/wellsLayer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wellsLayer.js","sourceRoot":"","sources":["../../../src/layers/wells/wellsLayer.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/Color.d.ts
CHANGED
|
@@ -23,3 +23,10 @@ export type RGBAColor = [number, number, number, number];
|
|
|
23
23
|
* @returns A tuple [r, g, b, a] where each value is normalized to the range [0, 1].
|
|
24
24
|
*/
|
|
25
25
|
export declare function toNormalizedColor(color: Color | undefined): RGBAColor | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Blends to color arrays together, following an additive blending pattern.
|
|
28
|
+
* @param baseColor The underlying color.
|
|
29
|
+
* @param addedColor The color to add on top. If this color has no opacity, the base color is fully overwritten
|
|
30
|
+
* @returns The blended color as an RGBA array
|
|
31
|
+
*/
|
|
32
|
+
export declare function blendColors(baseColor: Color, addedColor: Color): number[];
|