@geolibre/core 3.7.0 → 3.8.0
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/index.d.mts +304 -6
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1558 -7
- package/dist/index.mjs.map +1 -1
- package/dist/{project-diff-B6AfZk8o.d.mts → project-diff-BksHN-qY.d.mts} +101 -4
- package/dist/project-diff-BksHN-qY.d.mts.map +1 -0
- package/dist/{project-diff-DPGO-zCS.mjs → project-diff-DJkOd8ff.mjs} +211 -11
- package/dist/project-diff-DJkOd8ff.mjs.map +1 -0
- package/dist/worker-safe.d.mts +1 -1
- package/dist/worker-safe.mjs +1 -1
- package/package.json +3 -3
- package/dist/project-diff-B6AfZk8o.d.mts.map +0 -1
- package/dist/project-diff-DPGO-zCS.mjs.map +0 -1
|
@@ -1139,7 +1139,34 @@ interface LayerJoin {
|
|
|
1139
1139
|
stats?: LayerJoinStats;
|
|
1140
1140
|
}
|
|
1141
1141
|
/** Edit-widget kinds the Attribute Form designer can assign to a field. */
|
|
1142
|
-
type AttributeFormWidget = "text" | "number" | "range" | "checkbox" | "date" | "valueMap";
|
|
1142
|
+
type AttributeFormWidget = "text" | "number" | "range" | "checkbox" | "date" | "valueMap" | "attachment";
|
|
1143
|
+
/**
|
|
1144
|
+
* Where a dropdown reads its entries from when they are another layer's rows
|
|
1145
|
+
* (a QGIS Value Relation or Relation Reference). Resolved against that
|
|
1146
|
+
* layer's current features each time a form is shown, so a record added to
|
|
1147
|
+
* the referenced layer is selectable at once.
|
|
1148
|
+
*/
|
|
1149
|
+
interface AttributeFormValueRelation {
|
|
1150
|
+
/** Id of the referenced layer in the same project. */
|
|
1151
|
+
layerId: string;
|
|
1152
|
+
/** Property of the referenced features that is stored on this field. */
|
|
1153
|
+
keyField: string;
|
|
1154
|
+
/** Property shown as the entry's label. */
|
|
1155
|
+
labelField?: string;
|
|
1156
|
+
/**
|
|
1157
|
+
* QGIS expression evaluated per referenced feature for the label, used when
|
|
1158
|
+
* there is no {@link labelField} (a Relation Reference shows the referenced
|
|
1159
|
+
* layer's display expression).
|
|
1160
|
+
*/
|
|
1161
|
+
labelExpression?: string;
|
|
1162
|
+
}
|
|
1163
|
+
/** A run of fields in a form: a tab or group box in QGIS, or the fields between two. */
|
|
1164
|
+
interface AttributeFormSection {
|
|
1165
|
+
/** Heading shown above the run; empty for none. */
|
|
1166
|
+
title: string;
|
|
1167
|
+
/** Field names, in the order they are shown. */
|
|
1168
|
+
fields: string[];
|
|
1169
|
+
}
|
|
1143
1170
|
/** One selectable entry of a `valueMap` widget (stored value + display label). */
|
|
1144
1171
|
interface AttributeFormValueMapEntry {
|
|
1145
1172
|
/** The value written to the feature property (compared as a string). */
|
|
@@ -1166,8 +1193,14 @@ interface AttributeFormFieldConfig {
|
|
|
1166
1193
|
* exempt: unchecked is a valid state, not a missing value.
|
|
1167
1194
|
*/
|
|
1168
1195
|
required?: boolean;
|
|
1169
|
-
/**
|
|
1196
|
+
/**
|
|
1197
|
+
* Dropdown entries for the `valueMap` widget. With a {@link valueRelation}
|
|
1198
|
+
* these are only the fallback used while the referenced layer is missing or
|
|
1199
|
+
* has not loaded.
|
|
1200
|
+
*/
|
|
1170
1201
|
valueMap?: AttributeFormValueMapEntry[];
|
|
1202
|
+
/** Read the dropdown's entries from another layer's features. */
|
|
1203
|
+
valueRelation?: AttributeFormValueRelation;
|
|
1171
1204
|
/**
|
|
1172
1205
|
* Declared storage type of the field. When set, coercion follows it instead
|
|
1173
1206
|
* of guessing from the value map (a text field whose codes are "1" and "2"
|
|
@@ -1198,10 +1231,25 @@ interface AttributeFormFieldConfig {
|
|
|
1198
1231
|
* Empty/invalid expressions fail open so a typo cannot hide data entry.
|
|
1199
1232
|
*/
|
|
1200
1233
|
visibilityExpression?: string;
|
|
1234
|
+
/**
|
|
1235
|
+
* Expression that pre-fills the field when a new feature is captured, in
|
|
1236
|
+
* the QGIS expression subset `qgis-expression.ts` evaluates: `now()`,
|
|
1237
|
+
* `uuid()`, `"site" || '-' || format_date(now(), 'yyyyMMdd')`, or a GPS
|
|
1238
|
+
* variable such as `@position_horizontal_accuracy`. An expression that
|
|
1239
|
+
* cannot be evaluated leaves the field empty.
|
|
1240
|
+
*/
|
|
1241
|
+
defaultValue?: string;
|
|
1201
1242
|
}
|
|
1202
1243
|
/** The Attribute Form designer's whole per-layer configuration. */
|
|
1203
1244
|
interface AttributeFormConfig {
|
|
1204
1245
|
fields: AttributeFormFieldConfig[];
|
|
1246
|
+
/**
|
|
1247
|
+
* Runs of fields the capture form shows in order, each under its title. A
|
|
1248
|
+
* run with an empty title has no heading (fields that sit between two
|
|
1249
|
+
* groups). A field no section lists is shown after them. Absent means one
|
|
1250
|
+
* flat list.
|
|
1251
|
+
*/
|
|
1252
|
+
sections?: AttributeFormSection[];
|
|
1205
1253
|
}
|
|
1206
1254
|
/** Point of contact recorded in a layer's {@link LayerDescriptiveMetadata}. */
|
|
1207
1255
|
interface LayerMetadataContact {
|
|
@@ -1756,6 +1804,30 @@ declare const SQL_QUERY_SOURCE_KIND = "sql-query";
|
|
|
1756
1804
|
* readout, and the spectral profile) share one value.
|
|
1757
1805
|
*/
|
|
1758
1806
|
declare const NETCDF_IMAGE_SOURCE_KIND = "netcdf-image";
|
|
1807
|
+
/**
|
|
1808
|
+
* Metadata `sourceKind` marking an ArcGIS ImageServer drawn as a `raster` layer.
|
|
1809
|
+
*
|
|
1810
|
+
* Defined here so the plugin that adds these layers and `@geolibre/map` (whose
|
|
1811
|
+
* Identify reads their pixel values through the service's `/identify`) share
|
|
1812
|
+
* one value.
|
|
1813
|
+
*/
|
|
1814
|
+
declare const ARCGIS_IMAGE_SERVICE_SOURCE_KIND = "arcgis-image-service";
|
|
1815
|
+
/**
|
|
1816
|
+
* Metadata `sourceKind` marking a Microsoft Planetary Computer raster layer
|
|
1817
|
+
* (one STAC item, or a mosaic of many) drawn by the Planetary Computer panel.
|
|
1818
|
+
*
|
|
1819
|
+
* Defined here so the plugin that adds these layers, the Layer Library's
|
|
1820
|
+
* restore dispatch, and `@geolibre/map` (whose Identify reads their pixel
|
|
1821
|
+
* values through the application's raster bridge) share one value.
|
|
1822
|
+
*/
|
|
1823
|
+
declare const PLANETARY_COMPUTER_SOURCE_KIND = "planetary-computer-raster";
|
|
1824
|
+
/**
|
|
1825
|
+
* Whether a layer is a Planetary Computer raster the panel's control draws.
|
|
1826
|
+
*
|
|
1827
|
+
* @param layer - The layer to test.
|
|
1828
|
+
* @returns True for a control-drawn Planetary Computer item or mosaic layer.
|
|
1829
|
+
*/
|
|
1830
|
+
declare function isPlanetaryComputerLayer(layer: GeoLibreLayer): boolean;
|
|
1759
1831
|
/**
|
|
1760
1832
|
* Detect a DuckDB query layer rendered through the plugin's external deck.gl
|
|
1761
1833
|
* overlay. Shared by `@geolibre/map`, `@geolibre/plugins`, and the desktop
|
|
@@ -1974,6 +2046,17 @@ interface MapPreferences {
|
|
|
1974
2046
|
* Ignored by 2D renderers; absent means the renderer's normal global source.
|
|
1975
2047
|
*/
|
|
1976
2048
|
terrainIonAssetId?: number;
|
|
2049
|
+
/**
|
|
2050
|
+
* Vertical exaggeration of the 3D terrain, as set in Terrain settings.
|
|
2051
|
+
* Absent means the renderer default (1).
|
|
2052
|
+
*/
|
|
2053
|
+
terrainExaggeration?: number;
|
|
2054
|
+
/**
|
|
2055
|
+
* HTTP(S) URL of the Cloud Optimized GeoTIFF DEM the 3D terrain is drawn
|
|
2056
|
+
* from. Absent means the renderer's built-in global terrain. A DEM opened
|
|
2057
|
+
* from a local file has no URL to save, so it is not kept.
|
|
2058
|
+
*/
|
|
2059
|
+
terrainSource?: string;
|
|
1977
2060
|
/** Mapbox-only style. New projects use Streets; absent follows the shared basemap. */
|
|
1978
2061
|
mapboxStyleUrl?: string;
|
|
1979
2062
|
/**
|
|
@@ -3297,6 +3380,20 @@ declare function normalizeDashboardColumns(value: unknown): number;
|
|
|
3297
3380
|
*/
|
|
3298
3381
|
declare function normalizeProjectInteraction(value: unknown): ProjectInteraction | null;
|
|
3299
3382
|
declare function isAllowedPluginManifestUrl(url: string): boolean;
|
|
3383
|
+
/**
|
|
3384
|
+
* Re-file a 3D Tiles record whose URL is an ArcGIS scene service as an I3S
|
|
3385
|
+
* scene layer (issue #3377).
|
|
3386
|
+
*
|
|
3387
|
+
* The app draws a scene layer only when its source kind is `arcgis-i3s`. The
|
|
3388
|
+
* Python `add_3d_tiles()` used to write a SceneServer URL as a plain tileset
|
|
3389
|
+
* (`3d-tiles-url`), which the 3D Tiles control then loads as a `tileset.json`,
|
|
3390
|
+
* so nothing drew. This gives such a record the shape the app's 3D Tiles panel
|
|
3391
|
+
* writes (`createArcgisI3sStoreLayer`), keeping its id, name and settings.
|
|
3392
|
+
*
|
|
3393
|
+
* @param layer - A layer from a project file.
|
|
3394
|
+
* @returns The layer, re-filed as an I3S scene layer when it is a misfiled one.
|
|
3395
|
+
*/
|
|
3396
|
+
declare function withI3sSceneLayerKind(layer: GeoLibreLayer): GeoLibreLayer;
|
|
3300
3397
|
declare function normalizeProjectComments(rawComments: unknown): ProjectComment[];
|
|
3301
3398
|
declare function projectFromStore(state: {
|
|
3302
3399
|
projectName: string;
|
|
@@ -3564,5 +3661,5 @@ declare function diffFeatureCollections(before: FeatureCollection | null | undef
|
|
|
3564
3661
|
* @returns The grouped change summary.
|
|
3565
3662
|
*/
|
|
3566
3663
|
declare function diffProjects(before: GeoLibreProject, after: GeoLibreProject, options?: ProjectDiffOptions): ProjectDiff;
|
|
3567
|
-
export {
|
|
3568
|
-
//# sourceMappingURL=project-diff-
|
|
3664
|
+
export { cascadeLayerJoinRefresh as $, ModelGraphEdge as $n, StyleLibraryEntryKind as $r, DashboardWidgetType as $t, normalizeMapViewState as A, normalizeCesiumBasemap as Ai, LayerQuickFilter as An, ProjectPluginState as Ar, CollabInvite as At, normalizeWidgets as B, LevelFilterMode as Bn, SecondaryMapView as Br, DEFAULT_BASEMAP as Bt, isSessionOnlyLayer as C, geoArrowToFeatureCollection as Ci, LayerJoinStats as Cn, ProcessingRunStatus as Cr, AttributeFormSection as Ct, normalizeDashboardColumns as D, CesiumBasemapImagery as Di, LayerMetadataLink as Dn, ProjectControlSetting as Dr, BLANK_BASEMAP as Dt, normalizeBookmarks as E, CesiumBasemapId as Ei, LayerMetadataContact as En, ProjectComment as Er, AttributeFormWidget as Et, normalizeProcessingHistory as F, LegendCustomEntry as Fn, QuickFilterTextOperator as Fr, CollaborationRole as Ft, serializeProject as G, MIN_DASHBOARD_COLUMNS as Gn, StoryChapterLocation as Gr, DEFAULT_MAP_GRID_LAYOUT as Gt, portableWmsTileUrl as H, MAX_DASHBOARD_COLUMNS as Hn, StoryChapter as Hr, DEFAULT_DASHBOARD_COLUMNS as Ht, normalizeProjectComments as I, LegendCustomItem as In, RecentProjectEntry as Ir, CollaborationState as It, storyMapHasContent as J, MapProjection as Jn, StoryMap as Jr, DEFAULT_STORY_MAP as Jt, serializeProjectWithLayerCache as K, MapGridLayout as Kn, StoryInsetPosition as Kr, DEFAULT_PRIMARY_RENDERER as Kt, normalizeProjectInteraction as L, LegendCustomShape as Ln, RuntimeEnvironmentVariable as Lr, CommentAnchor as Lt, normalizeModels as M, LayerType as Mn, ProjectTemplateEntry as Mr, CollaborationMode as Mt, normalizeObiaWorkbench as N, LayerVirtualField as Nn, QuickFilterDateKind as Nr, CollaborationParticipant as Nt, normalizeLegendConfig as O, availableCesiumBasemap as Oi, LayerMetadataTemporalExtent as On, ProjectInteraction as Or, BLEND_MODES as Ot, normalizePrimaryRenderer as P, LegendConfig as Pn, QuickFilterKind as Pr, CollaborationPresence as Pt, applyLayerJoins as Q, MarkerShape as Qn, StyleLibraryEntry as Qr, DashboardWidgetAggregation as Qt, normalizeSecondaryMapViews as R, LegendItemOverride as Rn, SQL_QUERY_SOURCE_KIND as Rr, CommentAuthor as Rt, isAllowedPluginManifestUrl as S, featureCollectionToGeoArrow as Si, LayerJoin as Sn, ProcessingRunKind as Sr, AttributeFormFieldConfig as St, normalizeBookmarkGroups as T, CESIUM_BASEMAPS as Ti, LayerLibraryEntry as Tn, ProjectBookmarkGroup as Tr, AttributeFormValueRelation as Tt, projectFromStore as U, MAX_MAP_GRID_DIM as Un, StoryChapterAlignment as Ur, DEFAULT_LAYER_STYLE as Ut, parseProject as V, LineDecoration as Vn, StoryActiveSlideMode as Vr, DEFAULT_BLEND_MODE as Vt, resolveMapGrid as W, MAX_PROCESSING_HISTORY as Wn, StoryChapterAnimation as Wr, DEFAULT_LEGEND_CONFIG as Wt, ApplyLayerJoinsResult as X, MapScaleUnit as Xn, StrokeDashPreset as Xr, DUCKDB_VECTOR_ROUTE_BYTES as Xt, withI3sSceneLayerKind as Y, MapRendererKind as Yn, StorySlideMode as Yr, DUCKDB_VECTOR_FEATURE_WARN_COUNT as Yt, applyJoinsToLayer as Z, MapViewState as Zn, StrokeWidthUnit as Zr, DashboardWidget as Zt, createEmptyProject as _, scrubPrintLayoutForLayers as _i, LabelTransform as _n, ProcessingModel as _r, AddTileLayerOptions as _t, ProjectDiffOptions as a, isPlanetaryComputerLayer as ai, FillPattern as an, NETCDF_IMAGE_SOURCE_KIND as ar, PolylineDecodeResult as at, detachProjectCopy as b, GeoArrowGeometryType as bi, LayerDescriptiveMetadata as bn, ProcessingRerunRequest as br, AppRole as bt, diffProjects as c, DEFAULT_PRINT_LAYOUT as ci, GeocodingLocator as cn, PLANETARY_COMPUTER_SOURCE_KIND as cr, decodePolylineDetailed as ct, CreateProjectOptions as d, PrintLayoutLegendEntry as di, IndicatorAggregation as dn, ParticipantIdentity as dr, polylineStrToGeoJSON as dt, VectorRule as ei, DiagramField as en, ModelGraphNode as er, collectTransitiveJoinSourceIds as et, DEFAULT_PROJECT_NAME as f, PrintLayoutPageFilter as fi, LARGE_VECTOR_FEATURE_THRESHOLD as fn, PointRenderer as fr, unescapePolyline as ft, createDefaultMapView as g, printLayoutConfigsEqual as gi, LabelStyle as gn, PopupFieldKind as gr, ARCGIS_IMAGE_SERVICE_SOURCE_KIND as gt, applyProjectToStore as h, normalizePrintLayoutConfig as hi, LabelDedupe as hn, PopupFieldFormat as hr, transformGeojsonElevation as ht, ProjectDiff as i, isDuckDBQueryLayer as ii, FieldVisibility as in, ModelToolProvider as ir, PolylineBatchOptions as it, normalizeModelGraph as j, sameCesiumImagery as ji, LayerStyle as jn, ProjectPreferences as jr, CollaborationChatMessage as jt, normalizeMapLayout as k, basemapToCesiumImagery as ki, LayerPopupConfig as kn, ProjectPluginControlPosition as kr, BlendMode as kt, jsonValuesEqual as l, PrintLayoutConfig as li, GeocodingPreferences as ln, PROJECT_VERSION as lr, encodePolyline as lt, ProjectLayerSerializationCache as m, isDefaultPrintLayout as mi, LabelAnchor as mn, PopupFieldConfig as mr, horizontalBbox as mt, LayerDiff as n, VectorStyleStop as ni, DiagramType as nn, ModelGraphPort as nr, reapplyLayerJoins as nt, ProjectValueChange as o, shouldUseTiledRendering as oi, GeoLibreLayer as on, NonGeographicCoordinates as or, batchDecodePolylines as ot, MAX_PROJECT_BOOKMARKS as p, createDefaultPrintLayout as pi, LAYER_TYPES as pn, PopupDateFormat as pr, geojsonHasZCoordinates as pt, serializeProjectWithLayerCacheAsync as q, MapPreferences as qn, StoryLayerOpacityChange as qr, DEFAULT_PROJECT_PREFERENCES as qt, PluginDiff as r, detectNonGeographicCoordinates as ri, EditorTrackingConfig as rn, ModelPortKind as rr, stripJoinFields as rt, diffFeatureCollections as s, styleValue as si, GeoLibreProject as sn, OPENFREEMAP_BASEMAPS as sr, decodePolyline as st, FeatureChangeSummary as t, VectorStyleMode as ti, DiagramSizeMode as tn, ModelGraphNodeKind as tr, layerJoinKey as tt, previewValue as u, PrintLayoutCorner as ui, GeometryGeneratorType as un, PROTOMAPS_BASEMAPS as ur, geoJSONToPolylineStr as ut, createProjectLayerSerializationCache as v, scrubPrintLayoutForRemovedLayers as vi, LayerCapabilities as vn, ProcessingModelGraph as vr, AppCapabilities as vt, normalizeBlankBackgroundColor as w, isGeoArrowBatch as wi, LayerLevelFilter as wn, ProjectBookmark as wr, AttributeFormValueMapEntry as wt, hydrateProjectLayer as x, computeGeoArrowBBox as xi, LayerGroup as xn, ProcessingRun as xr, AttributeFormConfig as xt, createProjectTemplate as y, GeoArrowBatch as yi, LayerConnection as yn, ProcessingModelStep as yr, AppPrivilege as yt, normalizeStoryMap as z, LegendPanelPosition as zn, STROKE_DASH_PRESETS as zr, CommentReply as zt };
|
|
3665
|
+
//# sourceMappingURL=project-diff-BksHN-qY.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-diff-BksHN-qY.d.mts","names":["_$__cesium_imagery0.CesiumBasemapId","GeoJSON"],"sources":["../src/cesium-imagery.ts","../src/geoarrow.ts","../src/print-layout-config.ts","../src/types.ts","../src/geojson-z.ts","../src/polyline.ts","../src/joins.ts","../src/project.ts","../src/project-diff.ts"],"mappings":"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"}
|
|
@@ -329,6 +329,32 @@ const SQL_QUERY_SOURCE_KIND = "sql-query";
|
|
|
329
329
|
*/
|
|
330
330
|
const NETCDF_IMAGE_SOURCE_KIND = "netcdf-image";
|
|
331
331
|
/**
|
|
332
|
+
* Metadata `sourceKind` marking an ArcGIS ImageServer drawn as a `raster` layer.
|
|
333
|
+
*
|
|
334
|
+
* Defined here so the plugin that adds these layers and `@geolibre/map` (whose
|
|
335
|
+
* Identify reads their pixel values through the service's `/identify`) share
|
|
336
|
+
* one value.
|
|
337
|
+
*/
|
|
338
|
+
const ARCGIS_IMAGE_SERVICE_SOURCE_KIND = "arcgis-image-service";
|
|
339
|
+
/**
|
|
340
|
+
* Metadata `sourceKind` marking a Microsoft Planetary Computer raster layer
|
|
341
|
+
* (one STAC item, or a mosaic of many) drawn by the Planetary Computer panel.
|
|
342
|
+
*
|
|
343
|
+
* Defined here so the plugin that adds these layers, the Layer Library's
|
|
344
|
+
* restore dispatch, and `@geolibre/map` (whose Identify reads their pixel
|
|
345
|
+
* values through the application's raster bridge) share one value.
|
|
346
|
+
*/
|
|
347
|
+
const PLANETARY_COMPUTER_SOURCE_KIND = "planetary-computer-raster";
|
|
348
|
+
/**
|
|
349
|
+
* Whether a layer is a Planetary Computer raster the panel's control draws.
|
|
350
|
+
*
|
|
351
|
+
* @param layer - The layer to test.
|
|
352
|
+
* @returns True for a control-drawn Planetary Computer item or mosaic layer.
|
|
353
|
+
*/
|
|
354
|
+
function isPlanetaryComputerLayer(layer) {
|
|
355
|
+
return layer.type === "raster" && layer.metadata.sourceKind === "planetary-computer-raster" && layer.metadata.externalNativeLayer === true;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
332
358
|
* Detect a DuckDB query layer rendered through the plugin's external deck.gl
|
|
333
359
|
* overlay. Shared by `@geolibre/map`, `@geolibre/plugins`, and the desktop
|
|
334
360
|
* app so the detection criteria cannot drift.
|
|
@@ -7598,6 +7624,7 @@ function redactUrlCredentials(value) {
|
|
|
7598
7624
|
}
|
|
7599
7625
|
const keptQuery = query === void 0 ? void 0 : redactParameterString(query);
|
|
7600
7626
|
const keptFragment = fragment === void 0 || !fragment.includes("=") ? fragment : redactParameterString(fragment);
|
|
7627
|
+
if (base === (queryIndex === -1 ? beforeHash : beforeHash.slice(0, queryIndex)) && keptQuery === query && keptFragment === fragment) return value;
|
|
7601
7628
|
return base + (keptQuery ? `?${keptQuery}` : "") + (keptFragment ? `#${keptFragment}` : "");
|
|
7602
7629
|
}
|
|
7603
7630
|
function isPlainObject$2(value) {
|
|
@@ -7722,13 +7749,17 @@ function redactProjectCredentials(project) {
|
|
|
7722
7749
|
const mapboxStyleUrl = project.preferences?.map?.mapboxStyleUrl;
|
|
7723
7750
|
const redactedMapboxStyleUrl = typeof mapboxStyleUrl === "string" ? redactUrlCredentials(mapboxStyleUrl) : mapboxStyleUrl;
|
|
7724
7751
|
if (redactedMapboxStyleUrl !== mapboxStyleUrl) recordRedaction(accumulator, "preferences.map.mapboxStyleUrl", mapboxStyleUrl);
|
|
7752
|
+
const terrainSource = project.preferences?.map?.terrainSource;
|
|
7753
|
+
const redactedTerrainSource = typeof terrainSource === "string" ? redactUrlCredentials(terrainSource) : terrainSource;
|
|
7754
|
+
if (redactedTerrainSource !== terrainSource) recordRedaction(accumulator, "preferences.map.terrainSource", terrainSource);
|
|
7725
7755
|
const preferences = project.preferences ? {
|
|
7726
7756
|
...project.preferences,
|
|
7727
7757
|
environmentVariables: (project.preferences.environmentVariables ?? []).filter((variable) => variable.secret === false),
|
|
7728
7758
|
geocoding,
|
|
7729
|
-
...redactedMapboxStyleUrl !== mapboxStyleUrl ? { map: {
|
|
7759
|
+
...redactedMapboxStyleUrl !== mapboxStyleUrl || redactedTerrainSource !== terrainSource ? { map: {
|
|
7730
7760
|
...project.preferences.map,
|
|
7731
|
-
mapboxStyleUrl: redactedMapboxStyleUrl
|
|
7761
|
+
mapboxStyleUrl: redactedMapboxStyleUrl,
|
|
7762
|
+
terrainSource: redactedTerrainSource
|
|
7732
7763
|
} } : {}
|
|
7733
7764
|
} : project.preferences;
|
|
7734
7765
|
const populatedEnvironmentVariables = project.preferences?.environmentVariables?.filter((variable) => variable.secret !== false && variable.value !== "") ?? [];
|
|
@@ -7920,6 +7951,50 @@ var GeocoderUnsupportedError = class extends Error {
|
|
|
7920
7951
|
this.name = "GeocoderUnsupportedError";
|
|
7921
7952
|
}
|
|
7922
7953
|
};
|
|
7954
|
+
/**
|
|
7955
|
+
* Whether a raw coordinate is a number or a numeric-looking string
|
|
7956
|
+
* (Nominatim's form). `Number()` would also turn `null`, `true`, a blank string
|
|
7957
|
+
* or a one-element array into a coordinate, so those are rejected first.
|
|
7958
|
+
*/
|
|
7959
|
+
function isCoordinateValue(value) {
|
|
7960
|
+
return typeof value === "number" || typeof value === "string" && value.trim() !== "";
|
|
7961
|
+
}
|
|
7962
|
+
/**
|
|
7963
|
+
* Validate a west/south/east/north extent: every edge finite and on Earth,
|
|
7964
|
+
* south not above north. Returns null otherwise, so a malformed box falls back
|
|
7965
|
+
* to the match's point instead of sending the camera somewhere odd.
|
|
7966
|
+
*
|
|
7967
|
+
* @param west - Western longitude.
|
|
7968
|
+
* @param south - Southern latitude.
|
|
7969
|
+
* @param east - Eastern longitude.
|
|
7970
|
+
* @param north - Northern latitude.
|
|
7971
|
+
* @returns The extent, or null when it is not a usable one.
|
|
7972
|
+
*/
|
|
7973
|
+
function normalizeGeocodeBbox(west, south, east, north) {
|
|
7974
|
+
if (![
|
|
7975
|
+
west,
|
|
7976
|
+
south,
|
|
7977
|
+
east,
|
|
7978
|
+
north
|
|
7979
|
+
].every(isCoordinateValue)) return null;
|
|
7980
|
+
const box = [
|
|
7981
|
+
Number(west),
|
|
7982
|
+
Number(south),
|
|
7983
|
+
Number(east),
|
|
7984
|
+
Number(north)
|
|
7985
|
+
];
|
|
7986
|
+
if (!box.every(Number.isFinite)) return null;
|
|
7987
|
+
const [w, s, e, n] = box;
|
|
7988
|
+
if (w < -180 || w > 180 || e < -180 || e > 180) return null;
|
|
7989
|
+
if (s < -90 || n > 90 || s > n) return null;
|
|
7990
|
+
return box;
|
|
7991
|
+
}
|
|
7992
|
+
/** A GeoJSON feature's own `bbox` member (`[west, south, east, north]`), or null. */
|
|
7993
|
+
function geojsonFeatureBbox(feature) {
|
|
7994
|
+
const bbox = feature.bbox;
|
|
7995
|
+
if (!Array.isArray(bbox) || bbox.length !== 4) return null;
|
|
7996
|
+
return normalizeGeocodeBbox(bbox[0], bbox[1], bbox[2], bbox[3]);
|
|
7997
|
+
}
|
|
7923
7998
|
function coerceScore(value) {
|
|
7924
7999
|
if (value === void 0 || value === null || value === "") return null;
|
|
7925
8000
|
const num = Number(value);
|
|
@@ -7979,11 +8054,14 @@ function nominatimForwardResultToMatch(result) {
|
|
|
7979
8054
|
const lat = Number(result.lat);
|
|
7980
8055
|
const lon = Number(result.lon);
|
|
7981
8056
|
if (!Number.isFinite(lat) || !Number.isFinite(lon)) return null;
|
|
8057
|
+
const box = Array.isArray(result.boundingbox) ? result.boundingbox : null;
|
|
8058
|
+
const bbox = box?.length === 4 ? normalizeGeocodeBbox(box[2], box[0], box[3], box[1]) : null;
|
|
7982
8059
|
return {
|
|
7983
8060
|
lat,
|
|
7984
8061
|
lon,
|
|
7985
8062
|
displayName: result.display_name ?? "",
|
|
7986
|
-
score: coerceScore(result.importance)
|
|
8063
|
+
score: coerceScore(result.importance),
|
|
8064
|
+
...bbox ? { bbox } : {}
|
|
7987
8065
|
};
|
|
7988
8066
|
}
|
|
7989
8067
|
/**
|
|
@@ -8123,11 +8201,13 @@ const peliasProvider = {
|
|
|
8123
8201
|
const coords = pointCoords(feature);
|
|
8124
8202
|
if (!coords) return null;
|
|
8125
8203
|
const props = feature.properties ?? {};
|
|
8204
|
+
const bbox = geojsonFeatureBbox(feature);
|
|
8126
8205
|
return {
|
|
8127
8206
|
lon: coords[0],
|
|
8128
8207
|
lat: coords[1],
|
|
8129
8208
|
displayName: readString(props, "label") ?? "",
|
|
8130
|
-
score: coerceScore(props.confidence)
|
|
8209
|
+
score: coerceScore(props.confidence),
|
|
8210
|
+
...bbox ? { bbox } : {}
|
|
8131
8211
|
};
|
|
8132
8212
|
}).filter((m) => m !== null),
|
|
8133
8213
|
buildReverseUrl: (config, lon, lat) => {
|
|
@@ -8229,6 +8309,33 @@ function arcgisCandidatePosition(x, y, wkid) {
|
|
|
8229
8309
|
};
|
|
8230
8310
|
}
|
|
8231
8311
|
/**
|
|
8312
|
+
* A candidate's `extent` (`xmin`/`ymin`/`xmax`/`ymax`, in the response's
|
|
8313
|
+
* spatial reference) as a west/south/east/north box in degrees, or null when it
|
|
8314
|
+
* is missing, malformed, or in a spatial reference that cannot be unprojected.
|
|
8315
|
+
*
|
|
8316
|
+
* @param extent - The candidate's `extent` member.
|
|
8317
|
+
* @param wkid - The response's spatial reference, or null when it reports none.
|
|
8318
|
+
* @returns The extent in degrees, or null.
|
|
8319
|
+
*/
|
|
8320
|
+
function arcgisCandidateExtent(extent, wkid) {
|
|
8321
|
+
if (!extent || typeof extent !== "object") return null;
|
|
8322
|
+
const e = extent;
|
|
8323
|
+
if (![
|
|
8324
|
+
e.xmin,
|
|
8325
|
+
e.ymin,
|
|
8326
|
+
e.xmax,
|
|
8327
|
+
e.ymax
|
|
8328
|
+
].every(isCoordinateValue)) return null;
|
|
8329
|
+
try {
|
|
8330
|
+
const sw = arcgisCandidatePosition(Number(e.xmin), Number(e.ymin), wkid);
|
|
8331
|
+
const ne = arcgisCandidatePosition(Number(e.xmax), Number(e.ymax), wkid);
|
|
8332
|
+
if (!sw || !ne) return null;
|
|
8333
|
+
return normalizeGeocodeBbox(sw.lon, sw.lat, ne.lon, ne.lat);
|
|
8334
|
+
} catch {
|
|
8335
|
+
return null;
|
|
8336
|
+
}
|
|
8337
|
+
}
|
|
8338
|
+
/**
|
|
8232
8339
|
* A candidate's attributes worth keeping: plain values that are not empty.
|
|
8233
8340
|
* The shape and the location fields the match already carries are dropped.
|
|
8234
8341
|
*/
|
|
@@ -8262,11 +8369,13 @@ function parseArcGISCandidates(data) {
|
|
|
8262
8369
|
const position = arcgisCandidatePosition(Number(location?.x), Number(location?.y), wkid);
|
|
8263
8370
|
if (!position) return null;
|
|
8264
8371
|
const attributes = candidateAttributes(candidate.attributes);
|
|
8372
|
+
const bbox = arcgisCandidateExtent(candidate.extent, wkid);
|
|
8265
8373
|
return {
|
|
8266
8374
|
...position,
|
|
8267
8375
|
displayName: readString(candidate, "address") ?? "",
|
|
8268
8376
|
score: coerceScore(candidate.score),
|
|
8269
|
-
...attributes ? { attributes } : {}
|
|
8377
|
+
...attributes ? { attributes } : {},
|
|
8378
|
+
...bbox ? { bbox } : {}
|
|
8270
8379
|
};
|
|
8271
8380
|
}).filter((m) => m !== null);
|
|
8272
8381
|
}
|
|
@@ -8471,11 +8580,13 @@ const mapboxProvider = {
|
|
|
8471
8580
|
}
|
|
8472
8581
|
coords ??= pointCoords(feature);
|
|
8473
8582
|
if (!coords) return null;
|
|
8583
|
+
const bbox = geojsonFeatureBbox(feature);
|
|
8474
8584
|
return {
|
|
8475
8585
|
lon: coords[0],
|
|
8476
8586
|
lat: coords[1],
|
|
8477
8587
|
displayName: readString(feature, "place_name") ?? "",
|
|
8478
|
-
score: coerceScore(feature.relevance)
|
|
8588
|
+
score: coerceScore(feature.relevance),
|
|
8589
|
+
...bbox ? { bbox } : {}
|
|
8479
8590
|
};
|
|
8480
8591
|
}).filter((m) => m !== null),
|
|
8481
8592
|
buildReverseUrl: (config, lon, lat) => {
|
|
@@ -8547,15 +8658,19 @@ const googleProvider = {
|
|
|
8547
8658
|
/** Map a Google Geocoding API `results` array onto normalized matches. */
|
|
8548
8659
|
function parseGoogleResults(data) {
|
|
8549
8660
|
return (data && typeof data === "object" && Array.isArray(data.results) ? data.results : []).map((result) => {
|
|
8550
|
-
const
|
|
8661
|
+
const geometry = result.geometry;
|
|
8662
|
+
const location = geometry?.location;
|
|
8551
8663
|
const lat = Number(location?.lat);
|
|
8552
8664
|
const lon = Number(location?.lng);
|
|
8553
8665
|
if (!Number.isFinite(lat) || !Number.isFinite(lon)) return null;
|
|
8666
|
+
const viewport = geometry?.viewport;
|
|
8667
|
+
const bbox = viewport ? normalizeGeocodeBbox(viewport.southwest?.lng, viewport.southwest?.lat, viewport.northeast?.lng, viewport.northeast?.lat) : null;
|
|
8554
8668
|
return {
|
|
8555
8669
|
lat,
|
|
8556
8670
|
lon,
|
|
8557
8671
|
displayName: readString(result, "formatted_address") ?? "",
|
|
8558
|
-
score: null
|
|
8672
|
+
score: null,
|
|
8673
|
+
...bbox ? { bbox } : {}
|
|
8559
8674
|
};
|
|
8560
8675
|
}).filter((m) => m !== null);
|
|
8561
8676
|
}
|
|
@@ -10235,6 +10350,8 @@ function normalizeProjectPreferences(preferences) {
|
|
|
10235
10350
|
cesiumBasemap: normalizeCesiumBasemap(map.cesiumBasemap),
|
|
10236
10351
|
terrainEnabled: normalizeBoolean(map.terrainEnabled, DEFAULT_PROJECT_PREFERENCES.map.terrainEnabled),
|
|
10237
10352
|
terrainIonAssetId: parseCesiumIonAssetId(map.terrainIonAssetId) ?? void 0,
|
|
10353
|
+
terrainExaggeration: normalizeTerrainExaggeration(map.terrainExaggeration),
|
|
10354
|
+
terrainSource: normalizeTerrainSource(map.terrainSource),
|
|
10238
10355
|
coordinateFormat: typeof map.coordinateFormat === "string" ? map.coordinateFormat : DEFAULT_PROJECT_PREFERENCES.map.coordinateFormat,
|
|
10239
10356
|
coordinateEpsgCode: normalizeEpsgCode(map.coordinateEpsgCode),
|
|
10240
10357
|
zoomToNewLayers: normalizeBoolean(map.zoomToNewLayers, DEFAULT_PROJECT_PREFERENCES.map.zoomToNewLayers)
|
|
@@ -10313,6 +10430,34 @@ function normalizeBounds(bounds) {
|
|
|
10313
10430
|
}
|
|
10314
10431
|
return DEFAULT_PROJECT_PREFERENCES.map.bounds;
|
|
10315
10432
|
}
|
|
10433
|
+
/**
|
|
10434
|
+
* Keep a saved terrain exaggeration only when it is a finite, non-negative
|
|
10435
|
+
* number; anything else falls back to the renderer default.
|
|
10436
|
+
*
|
|
10437
|
+
* Args:
|
|
10438
|
+
* value: The raw `terrainExaggeration` from a project file.
|
|
10439
|
+
*
|
|
10440
|
+
* Returns:
|
|
10441
|
+
* The exaggeration, or `undefined` for the default.
|
|
10442
|
+
*/
|
|
10443
|
+
function normalizeTerrainExaggeration(value) {
|
|
10444
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
|
|
10445
|
+
}
|
|
10446
|
+
/**
|
|
10447
|
+
* Keep a saved terrain DEM only when it is an HTTP(S) URL, the one kind of
|
|
10448
|
+
* source a project can reopen on another device.
|
|
10449
|
+
*
|
|
10450
|
+
* Args:
|
|
10451
|
+
* value: The raw `terrainSource` from a project file.
|
|
10452
|
+
*
|
|
10453
|
+
* Returns:
|
|
10454
|
+
* The trimmed URL, or `undefined` for the built-in global terrain.
|
|
10455
|
+
*/
|
|
10456
|
+
function normalizeTerrainSource(value) {
|
|
10457
|
+
if (typeof value !== "string") return void 0;
|
|
10458
|
+
const trimmed = value.trim();
|
|
10459
|
+
return /^https?:\/\//i.test(trimmed) ? trimmed : void 0;
|
|
10460
|
+
}
|
|
10316
10461
|
function normalizeNumber(value, fallback) {
|
|
10317
10462
|
return Number.isFinite(value) ? Number(value) : fallback;
|
|
10318
10463
|
}
|
|
@@ -10449,8 +10594,63 @@ function withoutRuntimeGeoArrow(layer) {
|
|
|
10449
10594
|
function portableLayer(layer) {
|
|
10450
10595
|
return withoutRuntimeGeoArrow(withoutZarrHeaders(withoutLocalRasterBytes(layer)));
|
|
10451
10596
|
}
|
|
10597
|
+
/**
|
|
10598
|
+
* The path of a URL, or `""` when it does not parse (not a loadable URL). A
|
|
10599
|
+
* protocol-relative URL (`//host/...`) is read against https.
|
|
10600
|
+
*/
|
|
10601
|
+
function urlPath(url) {
|
|
10602
|
+
try {
|
|
10603
|
+
return new URL(url.trim(), "https://geolibre.invalid").pathname;
|
|
10604
|
+
} catch {
|
|
10605
|
+
return "";
|
|
10606
|
+
}
|
|
10607
|
+
}
|
|
10608
|
+
/** Source kind of an ArcGIS I3S scene layer (`arcgis-i3s-tiles.ts` in the plugins). */
|
|
10609
|
+
const ARCGIS_I3S_SOURCE_KIND = "arcgis-i3s";
|
|
10610
|
+
/**
|
|
10611
|
+
* The path of an ArcGIS scene service or one of its layers:
|
|
10612
|
+
* `.../SceneServer`, `.../SceneServer/layers/<n>`, or a Building Scene Layer's
|
|
10613
|
+
* `.../layers/<n>/sublayers/<m>`. Narrower than the 3D Tiles
|
|
10614
|
+
* panel's `isArcgisI3sSceneLayerUrl` on purpose: a `tileset.json` stored under
|
|
10615
|
+
* a `SceneServer` folder, or a query that mentions one, stays a tileset.
|
|
10616
|
+
*/
|
|
10617
|
+
const I3S_SCENE_SERVER_PATH_RE = /\/SceneServer(\/layers\/\d+(\/sublayers\/\d+)?)?\/?$/i;
|
|
10618
|
+
/**
|
|
10619
|
+
* Re-file a 3D Tiles record whose URL is an ArcGIS scene service as an I3S
|
|
10620
|
+
* scene layer (issue #3377).
|
|
10621
|
+
*
|
|
10622
|
+
* The app draws a scene layer only when its source kind is `arcgis-i3s`. The
|
|
10623
|
+
* Python `add_3d_tiles()` used to write a SceneServer URL as a plain tileset
|
|
10624
|
+
* (`3d-tiles-url`), which the 3D Tiles control then loads as a `tileset.json`,
|
|
10625
|
+
* so nothing drew. This gives such a record the shape the app's 3D Tiles panel
|
|
10626
|
+
* writes (`createArcgisI3sStoreLayer`), keeping its id, name and settings.
|
|
10627
|
+
*
|
|
10628
|
+
* @param layer - A layer from a project file.
|
|
10629
|
+
* @returns The layer, re-filed as an I3S scene layer when it is a misfiled one.
|
|
10630
|
+
*/
|
|
10631
|
+
function withI3sSceneLayerKind(layer) {
|
|
10632
|
+
const url = layer.source?.url;
|
|
10633
|
+
if (layer.type !== "3d-tiles" || layer.metadata?.sourceKind !== "3d-tiles-url" || typeof url !== "string" || !I3S_SCENE_SERVER_PATH_RE.test(urlPath(url))) return layer;
|
|
10634
|
+
const { status: _status, panelCollapsed: _panelCollapsed, ...metadata } = layer.metadata;
|
|
10635
|
+
return {
|
|
10636
|
+
...layer,
|
|
10637
|
+
source: {
|
|
10638
|
+
...layer.source,
|
|
10639
|
+
type: ARCGIS_I3S_SOURCE_KIND
|
|
10640
|
+
},
|
|
10641
|
+
metadata: {
|
|
10642
|
+
...metadata,
|
|
10643
|
+
customLayerType: ARCGIS_I3S_SOURCE_KIND,
|
|
10644
|
+
externalDeckLayer: true,
|
|
10645
|
+
externalNativeLayer: true,
|
|
10646
|
+
identifiable: false,
|
|
10647
|
+
nativeLayerIds: [`${layer.id}-deck`],
|
|
10648
|
+
sourceKind: ARCGIS_I3S_SOURCE_KIND
|
|
10649
|
+
}
|
|
10650
|
+
};
|
|
10651
|
+
}
|
|
10452
10652
|
function normalizeLayer(layer) {
|
|
10453
|
-
layer = withRasterSourceDefaults(withoutLocalRasterBytes(layer));
|
|
10653
|
+
layer = withI3sSceneLayerKind(withRasterSourceDefaults(withoutLocalRasterBytes(layer)));
|
|
10454
10654
|
const { capabilities: rawCapabilities, filterExpression: rawFilterExpression, descriptiveMetadata: rawDescriptiveMetadata, geoarrow: _rawGeoarrow, ...rest } = layer;
|
|
10455
10655
|
const capabilities = normalizeLayerCapabilities(rawCapabilities);
|
|
10456
10656
|
const descriptiveMetadata = normalizeLayerDescriptiveMetadata(rawDescriptiveMetadata);
|
|
@@ -11503,6 +11703,6 @@ function metadataRank(path) {
|
|
|
11503
11703
|
if (path === "description") return 1;
|
|
11504
11704
|
return 2;
|
|
11505
11705
|
}
|
|
11506
|
-
export {
|
|
11706
|
+
export { GEOCODE_STATUS_KEY as $, LAYER_TYPES as $a, unescapePolyline as $i, buildLayerTree as $n, isVectorColorExpression as $r, isHeaderReferenceOnly as $t, normalizeSecondaryMapViews as A, CHINA_BASEMAPS as Aa, matchFeaturesByExpression as Ai, STYLE_LIBRARY_BUNDLE_VERSION as An, STAC_VERSION as Ar, resolveGeocoderConfig as At, storyMapHasContent as B, BLEND_MODES as Ba, getCesiumIonToken as Bi, createDefaultPrintLayout as Bn, MERCATOR_METERS_PER_PIXEL_AT_ZOOM_0 as Br, normalizeStoryChapterDurationSeconds as Bt, normalizeModelGraph as C, ARCGIS_PROJECTION_PRESETS as Ca, vectorStrokeWidthValue as Ci, featureCollectionToGeoArrow as Cn, collectTransitiveJoinSourceIds as Cr, nominatimReverseResultToDisplay as Ct, normalizeProcessingHistory as D, basemapToCesiumImagery as Da, formatExpressionPreviewValue as Di, BUILT_IN_STYLE_PRESETS as Dn, applyLayerVirtualFields as Dr, normalizeGeocodingProviderId as Dt, normalizePrimaryRenderer as E, availableCesiumBasemap as Ea, evaluateMapExpression as Ei, withRasterSourceDefaults as En, stripJoinFields as Er, normalizeGeocodingLocator as Et, projectFromStore as F, getRegionalBasemapById as Fa, applySelectionMode as Fi, normalizeStyleLibraryEntries as Fn, metadataDateToRfc3339 as Fr, shouldThrottle as Ft, DEFAULT_GEOCODING_PROVIDER_ID as G, DEFAULT_LEGEND_CONFIG as Ga, getRuntimeEnvironment as Gi, scrubPrintLayoutForRemovedLayers as Gn, extrusionFloorHeightValue as Gr, isCredentialUrlParam as Gt, CARTOCIUDAD_MIN_INTERVAL_MS as H, DEFAULT_BLEND_MODE as Ha, getMapboxAccessToken as Hi, normalizePrintLayoutConfig as Hn, effectiveVectorRules as Hr, PROJECT_CREDENTIAL_FIELDS as Ht, resolveMapGrid as I, getRegionalBasemapByStyleUrl as Ia, featureSelectionId as Ii, parseStyleLibrary as In, normalizeLayerDescriptiveMetadata as Ir, unmatchedGeocodeFeature as It, GEOCODE_DISPLAY_NAME_KEY as J, DEFAULT_PROJECT_PREFERENCES as Ja, decodePolyline as Ji, scrubLegendForRemovedLayers as Jn, generatorSizeRange as Jr, redactProjectCredentials as Jt, DEFAULT_REVERSE_GEOCODE_ENDPOINT as K, DEFAULT_MAP_GRID_LAYOUT as Ka, getSpatialExtensionPath as Ki, removedLayerIdSet as Kn, extrusionHeightValue as Kr, redactConfigurationCredentials as Kt, serializeProject as L, isRegionalBasemapSentinel as La, invertSelection as Li, sanitizeLayerStylePatch as Ln, parseMetadataKeywords as Lr, DEFAULT_STORY_CHAPTER_DURATION_SECONDS as Lt, normalizeWidgets as M, REGIONAL_BASEMAP_GROUPS as Ma, substituteExpressionVariables as Mi, createStyleLibraryEntryId as Mn, isValidMetadataDate as Mr, selectedGeocodingLocator as Mt, parseProject as N, REGIONAL_BASEMAP_SENTINEL_PREFIX as Na, validateMapExpression as Ni, extractStyleLibraryStyle as Nn, isValidMetadataEmail as Nr, setGeocodingFetch as Nt, normalizeProjectComments as O, normalizeCesiumBasemap as Oa, inferFieldTypes as Oi, RAMP_STYLE_KEYS as On, stripVirtualFieldColumns as Or, parseArcGISLocatorInfo as Ot, portableWmsTileUrl as P, gateRegionalBasemap as Pa, SELECTION_MODES as Pi, isStyleLibraryTargetLayer as Pn, isValidMetadataUrl as Pr, setGeocodingTokenProvider as Pt, GEOCODE_SCORE_KEY as Q, LARGE_VECTOR_FEATURE_THRESHOLD as Qa, polylineStrToGeoJSON as Qi, buildLayerPanelUnits as Qn, isStrokeDashPattern as Qr, hasHeaderReferences as Qt, serializeProjectWithLayerCache as R, ARCGIS_IMAGE_SERVICE_SOURCE_KIND as Ra, getArcgisApiKey as Ri, serializeStyleLibrary as Rn, stacAssetMediaType as Rr, MAX_STORY_CHAPTER_DURATION_SECONDS as Rt, normalizeMapViewState as S, parseMapCrsEpsgCode as Sa, vectorOutlineColorValue as Si, computeGeoArrowBBox as Sn, cascadeLayerJoinRefresh as Sr, nominatimResultToFeature as St, normalizeObiaWorkbench as T, CESIUM_BASEMAPS as Ta, compileFeatureExpression as Ti, isGeoArrowBatch as Tn, reapplyLayerJoins as Tr, normalizeGeocodeBbox as Tt, CARTOCIUDAD_PUBLIC_HOST as U, DEFAULT_DASHBOARD_COLUMNS as Ua, getProtomapsApiKey as Ui, printLayoutConfigsEqual as Un, extrusionBaseValue as Ur, PUBLISHABLE_PLUGIN_SETTINGS as Ut, withI3sSceneLayerKind as V, DEFAULT_BASEMAP as Va, getGoogleMapsApiKey as Vi, isDefaultPrintLayout as Vn, circleRadiusValue as Vr, MAX_REDACT_DEPTH as Vt, DEFAULT_FORWARD_GEOCODE_ENDPOINT as W, DEFAULT_LAYER_STYLE as Wa, getProtomapsStyleUrl as Wi, scrubPrintLayoutForLayers as Wn, extrusionColorValue as Wr, isCredentialFieldName as Wt, GEOCODE_LON_KEY as X, DUCKDB_VECTOR_FEATURE_WARN_COUNT as Xa, encodePolyline as Xi, DEFAULT_LAYER_GROUP_OPACITY as Xn, heatmapRampColors as Xr, setRegistryPublishableSettings as Xt, GEOCODE_LAT_KEY as Y, DEFAULT_STORY_MAP as Ya, decodePolylineDetailed as Yi, scrubWidgetsForRemovedLayers as Yn, hasSimpleStyleProperties as Yr, redactUrlCredentials as Yt, GEOCODE_PROVIDER_KEY as Z, DUCKDB_VECTOR_ROUTE_BYTES as Za, geoJSONToPolylineStr as Zi, applyGroupEffects as Zn, isHexColor as Zr, allowsCredentialHeaders as Zt, normalizeBookmarkGroups as _, adaptBboxTemplateToCrs as _a, vectorCircleColorValue as _i, CZML_SOURCE_KIND as _n, normalizeLayerCapabilities as _r, geocoderSupportsReverse as _t, DEFAULT_PROJECT_NAME as a, interpolateColors as aa, proportionalRadiusExpression as ai, CESIUM_OSM_BUILDINGS_ASSET_ID as an, OPENFREEMAP_BASEMAPS as ao, layerPanelGroupHeaders as ar, PUBLIC_GEOCODE_ROW_CAP as at, normalizeLegendConfig as b, mapCrsPreferencePatch as ba, vectorFillOpacityValue as bi, isCzmlLayer as bn, applyJoinsToLayer as br, getGeocodingProvider as bt, createDefaultMapView as c, normalizeHexColor as ca, readsSimpleStyleProperties as ci, createCesiumIonLayer as cn, PROTOMAPS_BASEMAPS as co, sortLayerGroupInPanel as cr, buildReverseGeocodeUrl as ct, createProjectTemplate as d, rgbToHex as da, simpleStyleNumberValue as di, parseCesiumIonAssetId as dn, detectNonGeographicCoordinates as do, appPrivilegeReason as dr, geocodeForward as dt, VECTOR_COLOR_RAMPS as ea, lineWidthValue as ei, resolveHeaderReferences as en, MAX_DASHBOARD_COLUMNS as eo, effectiveLayerRenderState as er, GEOCODING_PROVIDERS as et, detachProjectCopy as f, geojsonHasZCoordinates as fa, strokeBlurValue as fi, CESIUM_KML_SOURCE_KIND as fn, isDuckDBQueryLayer as fo, createDefaultAppCapabilities as fr, geocodeMatchToFeature as ft, normalizeBlankBackgroundColor as g, MAP_CRS_PRESETS as ga, strokeOpacityValue as gi, CZML_QUICK_PICKS as gn, normalizeAppPrivileges as gr, geocoderNeedsApiKey as gt, isSessionOnlyLayer as h, MAP_CRS_CHANGE_EVENT as ha, strokeOpacityPaintValue as hi, isCesiumKmlLayer as hn, styleValue as ho, intersectPrivileges as hr, geocoderMinIntervalMs as ht, previewValue as i, getVectorColorRamp as ia, parseJsonExpression as ii, CESIUM_ION_SOURCE_KIND as in, NETCDF_IMAGE_SOURCE_KIND as io, layerGroupSortability as ir, NOMINATIM_PUBLIC_HOST as it, normalizeStoryMap as j, REGIONAL_BASEMAPS as ja, removeTrailingJsonCommas as ji, SYMBOL_STYLE_KEYS as jn, buildLayerStacItem as jr, rowCap as jt, normalizeProjectInteraction as k, sameCesiumImagery as ka, isStyleSpecColor as ki, STYLE_LIBRARY_BUNDLE_TYPE as kn, STAC_PROCESSING_EXTENSION as kr, parseArcGISSuggestions as kt, createEmptyProject as l, parseHexColor as la, ruleBasedColorExpression as li, isCesiumIonLayer as ln, SQL_QUERY_SOURCE_KIND as lo, ALL_APP_PRIVILEGES as lr, csvRowsToGeocodeRequests as lt, isAllowedPluginManifestUrl as m, transformGeojsonElevation as ma, strokeDashValue as mi, createCesiumKmlLayer as mn, shouldUseTiledRendering as mo, inferLayerCapabilities as mr, geocodeSuggest as mt, diffProjects as n, createGraduatedClassBreaks as na, mercatorMetersPerPixelAtZoom0 as ni, CESIUM_GOOGLE_PHOTOREALISTIC_ASSET_ID as nn, MAX_PROCESSING_HISTORY as no, layerGroupDepth as nr, GeocoderUnsupportedError as nt, MAX_PROJECT_BOOKMARKS as o, interpolateHexColor as oa, proportionalSizeRange as oi, cesiumIonAssetId as on, PLANETARY_COMPUTER_SOURCE_KIND as oo, normalizeGroupContiguity as or, arcgisLocatorInputField as ot, hydrateProjectLayer as p, horizontalBbox as pa, strokeDashPresetName as pi, cesiumKmlSource as pn, isPlanetaryComputerLayer as po, hasAppPrivilege as pr, geocodeReverse as pt, GEOCODE_ATTRIBUTE_PREFIX as q, DEFAULT_PRIMARY_RENDERER as qa, batchDecodePolylines as qi, scrubCommentsForRemovedLayers as qn, generatorCircleRadiusValue as qr, redactCredentials as qt, jsonValuesEqual as r, createQuantileBreaks as ra, metersWidthExpression as ri, CESIUM_ION_QUICK_PICKS as rn, MIN_DASHBOARD_COLUMNS as ro, layerGroupMoveability as rr, NOMINATIM_MIN_INTERVAL_MS as rt, applyProjectToStore as s, interpolateRampColors as sa, readSimpleStyleNumberLookup as si, cesiumIonAssetKind as sn, PROJECT_VERSION as so, reorderLayerGroupInPanel as sr, buildForwardGeocodeUrl as st, diffFeatureCollections as t, createEqualIntervalBreaks as ta, mapZoomStepOutputs as ti, CESIUM_BING_AERIAL_ASSET_ID as tn, MAX_MAP_GRID_DIM as to, groupMemberIndices as tr, GeocoderServiceError as tt, createProjectLayerSerializationCache as u, parseHexColorList as ua, ruleBasedVisibilityFilter as ui, isCesiumOnlyLayer as un, STROKE_DASH_PRESETS as uo, ROLE_PRIVILEGES as ur, fetchArcGISLocatorInfo as ut, normalizeBookmarks as v, deriveTileMatrixSet as va, vectorColorExpression as vi, createCzmlLayer as vn, resolveLayerCapabilities as vr, geocoderSupportsSuggest as vt, normalizeModels as w, normalizeArcgisWkid as wa, EXPRESSION_FUNCTION_CATEGORIES as wi, geoArrowToFeatureCollection as wn, layerJoinKey as wr, normalizeArcGISLocatorUrl as wt, normalizeMapLayout as x, normalizeMapCrs as xa, vectorLineColorValue as xi, parseCzml as xn, applyLayerJoins as xr, nextDelayMs as xt, normalizeDashboardColumns as y, getMapCrsPreset as ya, vectorFillColorValue as yi, czmlSource as yn, resolveRolePrivileges as yr, getGeocoderConfig as yt, serializeProjectWithLayerCacheAsync as z, BLANK_BASEMAP as za, getBuildEnvironment as zi, DEFAULT_PRINT_LAYOUT as zn, validateLayerDescriptiveMetadata as zr, MIN_STORY_CHAPTER_DURATION_SECONDS as zt };
|
|
11507
11707
|
|
|
11508
|
-
//# sourceMappingURL=project-diff-
|
|
11708
|
+
//# sourceMappingURL=project-diff-DJkOd8ff.mjs.map
|