@itwin/core-frontend 5.11.0-dev.11 → 5.11.0-dev.13

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.
Files changed (98) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/lib/cjs/BingLocation.d.ts +3 -0
  3. package/lib/cjs/BingLocation.d.ts.map +1 -1
  4. package/lib/cjs/BingLocation.js +5 -1
  5. package/lib/cjs/BingLocation.js.map +1 -1
  6. package/lib/cjs/GeoProviders.d.ts +45 -0
  7. package/lib/cjs/GeoProviders.d.ts.map +1 -0
  8. package/lib/cjs/GeoProviders.js +49 -0
  9. package/lib/cjs/GeoProviders.js.map +1 -0
  10. package/lib/cjs/IModelApp.d.ts +33 -0
  11. package/lib/cjs/IModelApp.d.ts.map +1 -1
  12. package/lib/cjs/IModelApp.js +31 -0
  13. package/lib/cjs/IModelApp.js.map +1 -1
  14. package/lib/cjs/IModelConnection.d.ts +3 -3
  15. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  16. package/lib/cjs/IModelConnection.js +15 -8
  17. package/lib/cjs/IModelConnection.js.map +1 -1
  18. package/lib/cjs/ViewGlobalLocation.d.ts +1 -1
  19. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  20. package/lib/cjs/ViewGlobalLocation.js +3 -6
  21. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  22. package/lib/cjs/core-frontend.d.ts +1 -0
  23. package/lib/cjs/core-frontend.d.ts.map +1 -1
  24. package/lib/cjs/core-frontend.js +2 -0
  25. package/lib/cjs/core-frontend.js.map +1 -1
  26. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  27. package/lib/cjs/internal/tile/RealityModelTileTree.js +6 -2
  28. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  29. package/lib/cjs/internal/tile/RealityTileLoader.d.ts +22 -0
  30. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  31. package/lib/cjs/internal/tile/RealityTileLoader.js +53 -5
  32. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  33. package/lib/cjs/tile/RealityTile.d.ts +5 -0
  34. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  35. package/lib/cjs/tile/RealityTile.js +4 -0
  36. package/lib/cjs/tile/RealityTile.js.map +1 -1
  37. package/lib/cjs/tile/map/BingElevation.d.ts +16 -4
  38. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  39. package/lib/cjs/tile/map/BingElevation.js +18 -8
  40. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  41. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +3 -2
  42. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  43. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  44. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  45. package/lib/cjs/tile/map/MapTileTree.js +18 -8
  46. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  47. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  48. package/lib/cjs/tools/ViewTool.js +2 -3
  49. package/lib/cjs/tools/ViewTool.js.map +1 -1
  50. package/lib/esm/BingLocation.d.ts +3 -0
  51. package/lib/esm/BingLocation.d.ts.map +1 -1
  52. package/lib/esm/BingLocation.js +5 -1
  53. package/lib/esm/BingLocation.js.map +1 -1
  54. package/lib/esm/GeoProviders.d.ts +45 -0
  55. package/lib/esm/GeoProviders.d.ts.map +1 -0
  56. package/lib/esm/GeoProviders.js +45 -0
  57. package/lib/esm/GeoProviders.js.map +1 -0
  58. package/lib/esm/IModelApp.d.ts +33 -0
  59. package/lib/esm/IModelApp.d.ts.map +1 -1
  60. package/lib/esm/IModelApp.js +32 -1
  61. package/lib/esm/IModelApp.js.map +1 -1
  62. package/lib/esm/IModelConnection.d.ts +3 -3
  63. package/lib/esm/IModelConnection.d.ts.map +1 -1
  64. package/lib/esm/IModelConnection.js +15 -8
  65. package/lib/esm/IModelConnection.js.map +1 -1
  66. package/lib/esm/ViewGlobalLocation.d.ts +1 -1
  67. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  68. package/lib/esm/ViewGlobalLocation.js +3 -6
  69. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  70. package/lib/esm/core-frontend.d.ts +1 -0
  71. package/lib/esm/core-frontend.d.ts.map +1 -1
  72. package/lib/esm/core-frontend.js +4 -1
  73. package/lib/esm/core-frontend.js.map +1 -1
  74. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  75. package/lib/esm/internal/tile/RealityModelTileTree.js +6 -2
  76. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  77. package/lib/esm/internal/tile/RealityTileLoader.d.ts +22 -0
  78. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  79. package/lib/esm/internal/tile/RealityTileLoader.js +54 -6
  80. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  81. package/lib/esm/tile/RealityTile.d.ts +5 -0
  82. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  83. package/lib/esm/tile/RealityTile.js +4 -0
  84. package/lib/esm/tile/RealityTile.js.map +1 -1
  85. package/lib/esm/tile/map/BingElevation.d.ts +16 -4
  86. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  87. package/lib/esm/tile/map/BingElevation.js +18 -8
  88. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  89. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +3 -2
  90. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  91. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  92. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  93. package/lib/esm/tile/map/MapTileTree.js +19 -9
  94. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  95. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  96. package/lib/esm/tools/ViewTool.js +2 -3
  97. package/lib/esm/tools/ViewTool.js.map +1 -1
  98. package/package.json +20 -20
@@ -6,6 +6,9 @@ import { GlobalLocation } from "./ViewGlobalLocation";
6
6
  * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].
7
7
  * @public
8
8
  * @extensions
9
+ * @deprecated in 5.11.0. Provide a [[LocationProvider]] implementation via [[IModelAppOptions.geospatialProviders]].
10
+ * @note This class structurally satisfies [[LocationProvider]] but does not use an explicit `implements` clause
11
+ * because api-extractor forbids `@public` classes from referencing `@beta` interfaces (ae-incompatible-release-tags).
9
12
  */
10
13
  export declare class BingLocationProvider {
11
14
  private _locationRequestTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"BingLocation.d.ts","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,wBAAwB,CAAS;;IASzC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAqB7E"}
1
+ {"version":3,"file":"BingLocation.d.ts","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,wBAAwB,CAAS;;IAUzC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAqB7E"}
@@ -12,13 +12,17 @@ import { IModelApp } from "./IModelApp";
12
12
  * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].
13
13
  * @public
14
14
  * @extensions
15
+ * @deprecated in 5.11.0. Provide a [[LocationProvider]] implementation via [[IModelAppOptions.geospatialProviders]].
16
+ * @note This class structurally satisfies [[LocationProvider]] but does not use an explicit `implements` clause
17
+ * because api-extractor forbids `@public` classes from referencing `@beta` interfaces (ae-incompatible-release-tags).
15
18
  */
16
19
  export class BingLocationProvider {
17
20
  _locationRequestTemplate;
18
21
  constructor() {
19
22
  let bingKey = "";
23
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- this deprecated class reads from the deprecated BingMaps key by design
20
24
  if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {
21
- bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;
25
+ bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value; // eslint-disable-line @typescript-eslint/no-deprecated
22
26
  }
23
27
  this._locationRequestTemplate = `https://dev.virtualearth.net/REST/v1/Locations?query={query}&key=${bingKey}`;
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACvB,wBAAwB,CAAS;IAEzC;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5D,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,oEAAoE,OAAO,EAAE,CAAC;IAChH,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { request } from \"./request/Request\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].\r\n * @public\r\n * @extensions\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._locationRequestTemplate = `https://dev.virtualearth.net/REST/v1/Locations?query={query}&key=${bingKey}`;\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n try {\r\n const locationResponse = await request(requestUrl, \"json\");\r\n const point = locationResponse.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IACvB,wBAAwB,CAAS;IAEzC;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,sIAAsI;QACtI,IAAI,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5D,OAAO,GAAG,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,uDAAuD;QAClI,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,oEAAoE,OAAO,EAAE,CAAC;IAChH,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { request } from \"./request/Request\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].\r\n * @public\r\n * @extensions\r\n * @deprecated in 5.11.0. Provide a [[LocationProvider]] implementation via [[IModelAppOptions.geospatialProviders]].\r\n * @note This class structurally satisfies [[LocationProvider]] but does not use an explicit `implements` clause\r\n * because api-extractor forbids `@public` classes from referencing `@beta` interfaces (ae-incompatible-release-tags).\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- this deprecated class reads from the deprecated BingMaps key by design\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value; // eslint-disable-line @typescript-eslint/no-deprecated\r\n }\r\n this._locationRequestTemplate = `https://dev.virtualearth.net/REST/v1/Locations?query={query}&key=${bingKey}`;\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n try {\r\n const locationResponse = await request(requestUrl, \"json\");\r\n const point = locationResponse.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,45 @@
1
+ /** @packageDocumentation
2
+ * @module Views
3
+ */
4
+ import { Cartographic } from "@itwin/core-common";
5
+ import { Range1d, Range2d } from "@itwin/core-geometry";
6
+ import { IModelConnection } from "./IModelConnection";
7
+ import type { GlobalLocation } from "./ViewGlobalLocation";
8
+ /** Provides terrain elevation data.
9
+ * @beta
10
+ */
11
+ export interface ElevationProvider {
12
+ /** Return the height (altitude) at a given cartographic location.
13
+ * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum.
14
+ * If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5').
15
+ */
16
+ getHeight(carto: Cartographic, geodetic?: boolean): Promise<number>;
17
+ /** Return a grid of elevations within the specified range.
18
+ * Returns undefined if elevation data is unavailable for the range.
19
+ * Implementations that do not support bulk grid queries may omit this method.
20
+ */
21
+ getHeights?(range: Range2d): Promise<number[] | undefined>;
22
+ }
23
+ /** Provides geoid undulation — the offset between the geodetic ellipsoid (WGS84) and sea level (EGM2008).
24
+ * @beta
25
+ */
26
+ export interface GeoidProvider {
27
+ /** Return the offset from geodetic height to sea level height at the given cartographic location. */
28
+ getGeodeticToSeaLevelOffset(carto: Cartographic): Promise<number>;
29
+ }
30
+ /** Provides geocoding — converting a query string to a geographic location.
31
+ * @beta
32
+ */
33
+ export interface LocationProvider {
34
+ /** Return the location for a query string, or undefined if not found. */
35
+ getLocation(query: string): Promise<GlobalLocation | undefined>;
36
+ }
37
+ /** Compute the elevation range for an iModel's project extents using the given provider.
38
+ * @beta
39
+ */
40
+ export declare function getHeightRange(provider: ElevationProvider, iModel: IModelConnection): Promise<Range1d>;
41
+ /** Compute the average elevation for an iModel's project extents using the given provider.
42
+ * @beta
43
+ */
44
+ export declare function getHeightAverage(provider: ElevationProvider, iModel: IModelConnection): Promise<number>;
45
+ //# sourceMappingURL=GeoProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoProviders.d.ts","sourceRoot":"","sources":["../../src/GeoProviders.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE;;;OAGG;IACH,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qGAAqG;IACrG,2BAA2B,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB5G;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB7G"}
@@ -0,0 +1,45 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Views
7
+ */
8
+ import { Range1d, Range2d } from "@itwin/core-geometry";
9
+ /** Compute the elevation range for an iModel's project extents using the given provider.
10
+ * @beta
11
+ */
12
+ export async function getHeightRange(provider, iModel) {
13
+ if (!iModel.isGeoLocated)
14
+ return Range1d.createNull();
15
+ const latLongRange = Range2d.createNull();
16
+ const range = iModel.projectExtents.clone();
17
+ // Expand for project surroundings.
18
+ range.expandInPlace(1000);
19
+ for (const corner of range.corners()) {
20
+ const carto = iModel.spatialToCartographicFromEcef(corner);
21
+ latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);
22
+ }
23
+ const heights = await provider.getHeights?.(latLongRange);
24
+ return heights ? Range1d.createArray(heights) : Range1d.createNull();
25
+ }
26
+ /** Compute the average elevation for an iModel's project extents using the given provider.
27
+ * @beta
28
+ */
29
+ export async function getHeightAverage(provider, iModel) {
30
+ if (!iModel.isGeoLocated)
31
+ return 0;
32
+ const latLongRange = Range2d.createNull();
33
+ for (const corner of iModel.projectExtents.corners()) {
34
+ const carto = iModel.spatialToCartographicFromEcef(corner);
35
+ latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);
36
+ }
37
+ const heights = await provider.getHeights?.(latLongRange);
38
+ if (!heights || !heights.length)
39
+ return 0;
40
+ let total = 0.0;
41
+ for (const height of heights)
42
+ total += height;
43
+ return total / heights.length;
44
+ }
45
+ //# sourceMappingURL=GeoProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoProviders.js","sourceRoot":"","sources":["../../src/GeoProviders.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAqCxD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAA2B,EAAE,MAAwB;IACxF,IAAI,CAAC,MAAM,CAAC,YAAY;QACtB,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAE9B,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAE5C,mCAAmC;IACnC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAC3D,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAA2B,EAAE,MAAwB;IAC1F,IAAI,CAAC,MAAM,CAAC,YAAY;QACtB,OAAO,CAAC,CAAC;IAEX,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAC3D,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,OAAO,CAAC,CAAC;IAEX,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,KAAK,MAAM,MAAM,IAAI,OAAO;QAC1B,KAAK,IAAI,MAAM,CAAC;IAElB,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;AAChC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { Range1d, Range2d } from \"@itwin/core-geometry\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport type { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides terrain elevation data.\r\n * @beta\r\n */\r\nexport interface ElevationProvider {\r\n /** Return the height (altitude) at a given cartographic location.\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum.\r\n * If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5').\r\n */\r\n getHeight(carto: Cartographic, geodetic?: boolean): Promise<number>;\r\n\r\n /** Return a grid of elevations within the specified range.\r\n * Returns undefined if elevation data is unavailable for the range.\r\n * Implementations that do not support bulk grid queries may omit this method.\r\n */\r\n getHeights?(range: Range2d): Promise<number[] | undefined>;\r\n}\r\n\r\n/** Provides geoid undulation — the offset between the geodetic ellipsoid (WGS84) and sea level (EGM2008).\r\n * @beta\r\n */\r\nexport interface GeoidProvider {\r\n /** Return the offset from geodetic height to sea level height at the given cartographic location. */\r\n getGeodeticToSeaLevelOffset(carto: Cartographic): Promise<number>;\r\n}\r\n\r\n/** Provides geocoding — converting a query string to a geographic location.\r\n * @beta\r\n */\r\nexport interface LocationProvider {\r\n /** Return the location for a query string, or undefined if not found. */\r\n getLocation(query: string): Promise<GlobalLocation | undefined>;\r\n}\r\n\r\n/** Compute the elevation range for an iModel's project extents using the given provider.\r\n * @beta\r\n */\r\nexport async function getHeightRange(provider: ElevationProvider, iModel: IModelConnection): Promise<Range1d> {\r\n if (!iModel.isGeoLocated)\r\n return Range1d.createNull();\r\n\r\n const latLongRange = Range2d.createNull();\r\n const range = iModel.projectExtents.clone();\r\n\r\n // Expand for project surroundings.\r\n range.expandInPlace(1000);\r\n for (const corner of range.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n\r\n const heights = await provider.getHeights?.(latLongRange);\r\n return heights ? Range1d.createArray(heights) : Range1d.createNull();\r\n}\r\n\r\n/** Compute the average elevation for an iModel's project extents using the given provider.\r\n * @beta\r\n */\r\nexport async function getHeightAverage(provider: ElevationProvider, iModel: IModelConnection): Promise<number> {\r\n if (!iModel.isGeoLocated)\r\n return 0;\r\n\r\n const latLongRange = Range2d.createNull();\r\n for (const corner of iModel.projectExtents.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n\r\n const heights = await provider.getHeights?.(latLongRange);\r\n if (!heights || !heights.length)\r\n return 0;\r\n\r\n let total = 0.0;\r\n for (const height of heights)\r\n total += height;\r\n\r\n return total / heights.length;\r\n}\r\n"]}
@@ -20,6 +20,7 @@ import { RenderSystem } from "./render/RenderSystem";
20
20
  import { TentativePoint } from "./TentativePoint";
21
21
  import { RealityDataSourceProviderRegistry } from "./RealityDataSource";
22
22
  import { MapLayerFormatRegistry, MapLayerOptions, TerrainProviderRegistry, TileAdmin } from "./tile/internal";
23
+ import { ElevationProvider, GeoidProvider, LocationProvider } from "./GeoProviders";
23
24
  import { ToolRegistry } from "./tools/Tool";
24
25
  import { ToolAdmin } from "./tools/ToolAdmin";
25
26
  import { UserPreferencesAccess } from "./UserPreferences";
@@ -60,6 +61,20 @@ export interface IModelAppOptions {
60
61
  * @beta
61
62
  */
62
63
  mapLayerOptions?: MapLayerOptions;
64
+ /** Geospatial service providers for elevation, geoid, and geocoding.
65
+ * If not supplied, deprecated Bing-backed defaults are used for backward compatibility.
66
+ * @note If you have not yet migrated to custom providers, continue supplying the deprecated
67
+ * [[MapLayerOptions.BingMaps]] key as an interim measure. To fully remove the Bing dependency, supply custom implementations here.
68
+ * @beta
69
+ */
70
+ geospatialProviders?: {
71
+ /** Terrain height lookup. Defaults to [[BingElevationProvider]]. */
72
+ elevationProvider?: ElevationProvider;
73
+ /** Geodetic-to-sea-level offset. Defaults to [[BingElevationProvider]] (which implements both). */
74
+ geoidProvider?: GeoidProvider;
75
+ /** Geocoding (query string to location). Defaults to [[BingLocationProvider]]. */
76
+ locationProvider?: LocationProvider;
77
+ };
63
78
  /** If present, supplies the properties with which to initialize the [[TileAdmin]] for this session. */
64
79
  tileAdmin?: TileAdmin.Props;
65
80
  /** If present, supplies the [[NotificationManager]] for this session. */
@@ -169,6 +184,9 @@ export declare class IModelApp {
169
184
  private static _securityOptions;
170
185
  private static _mapLayerFormatRegistry;
171
186
  private static _terrainProviderRegistry;
187
+ private static _elevationProvider;
188
+ private static _geoidProvider;
189
+ private static _locationProvider;
172
190
  private static _realityDataSourceProviders;
173
191
  private static _hubAccess?;
174
192
  private static _realityDataAccess?;
@@ -190,6 +208,21 @@ export declare class IModelApp {
190
208
  static get mapLayerFormatRegistry(): MapLayerFormatRegistry;
191
209
  /** The [[TerrainProviderRegistry]] for this session. */
192
210
  static get terrainProviderRegistry(): TerrainProviderRegistry;
211
+ /** The [[ElevationProvider]] for this session.
212
+ * @beta
213
+ */
214
+ static get elevationProvider(): ElevationProvider;
215
+ static set elevationProvider(provider: ElevationProvider);
216
+ /** The [[GeoidProvider]] for this session.
217
+ * @beta
218
+ */
219
+ static get geoidProvider(): GeoidProvider;
220
+ static set geoidProvider(provider: GeoidProvider);
221
+ /** The [[LocationProvider]] for this session.
222
+ * @beta
223
+ */
224
+ static get locationProvider(): LocationProvider;
225
+ static set locationProvider(provider: LocationProvider);
193
226
  /** The [[RealityDataSourceProviderRegistry]] for this session.
194
227
  * @beta
195
228
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,8 @@ import * as sheetState from "./SheetViewState";
36
36
  import * as spatialViewState from "./SpatialViewState";
37
37
  import { TentativePoint } from "./TentativePoint";
38
38
  import { RealityDataSourceProviderRegistry } from "./RealityDataSource";
39
- import { MapLayerFormatRegistry, TerrainProviderRegistry, TileAdmin } from "./tile/internal";
39
+ import { BingElevationProvider, MapLayerFormatRegistry, TerrainProviderRegistry, TileAdmin } from "./tile/internal";
40
+ import { BingLocationProvider } from "./BingLocation";
40
41
  import * as accudrawTool from "./tools/AccuDrawTool";
41
42
  import * as clipViewTool from "./tools/ClipViewTool";
42
43
  import * as idleTool from "./tools/IdleTool";
@@ -82,6 +83,9 @@ export class IModelApp {
82
83
  static _securityOptions;
83
84
  static _mapLayerFormatRegistry;
84
85
  static _terrainProviderRegistry;
86
+ static _elevationProvider;
87
+ static _geoidProvider;
88
+ static _locationProvider;
85
89
  static _realityDataSourceProviders;
86
90
  static _hubAccess;
87
91
  static _realityDataAccess;
@@ -104,6 +108,21 @@ export class IModelApp {
104
108
  static get mapLayerFormatRegistry() { return this._mapLayerFormatRegistry; }
105
109
  /** The [[TerrainProviderRegistry]] for this session. */
106
110
  static get terrainProviderRegistry() { return this._terrainProviderRegistry; }
111
+ /** The [[ElevationProvider]] for this session.
112
+ * @beta
113
+ */
114
+ static get elevationProvider() { return expectDefined(this._elevationProvider); }
115
+ static set elevationProvider(provider) { this._elevationProvider = provider; }
116
+ /** The [[GeoidProvider]] for this session.
117
+ * @beta
118
+ */
119
+ static get geoidProvider() { return expectDefined(this._geoidProvider); }
120
+ static set geoidProvider(provider) { this._geoidProvider = provider; }
121
+ /** The [[LocationProvider]] for this session.
122
+ * @beta
123
+ */
124
+ static get locationProvider() { return expectDefined(this._locationProvider); }
125
+ static set locationProvider(provider) { this._locationProvider = provider; }
107
126
  /** The [[RealityDataSourceProviderRegistry]] for this session.
108
127
  * @beta
109
128
  */
@@ -279,6 +298,15 @@ export class IModelApp {
279
298
  this._uiAdmin = opts.uiAdmin ?? new UiAdmin();
280
299
  this._mapLayerFormatRegistry = new MapLayerFormatRegistry(opts.mapLayerOptions);
281
300
  this._terrainProviderRegistry = new TerrainProviderRegistry();
301
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- intentional: Bing is the backward-compat default until it is removed in a future major version
302
+ let defaultBingElevation;
303
+ const geo = opts.geospatialProviders;
304
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
305
+ const lazyBing = () => defaultBingElevation ??= new BingElevationProvider();
306
+ this._elevationProvider = geo?.elevationProvider ?? lazyBing();
307
+ this._geoidProvider = geo?.geoidProvider ?? lazyBing();
308
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
309
+ this._locationProvider = geo?.locationProvider ?? new BingLocationProvider();
282
310
  this._realityDataSourceProviders = new RealityDataSourceProviderRegistry();
283
311
  this._realityDataAccess = opts.realityDataAccess;
284
312
  this._formatsProviderManager = new FormatsProviderManager(opts.formatsProvider ?? new QuantityTypeFormatsProvider());
@@ -316,6 +344,9 @@ export class IModelApp {
316
344
  [this.toolAdmin, this.viewManager, this.tileAdmin].forEach((sys) => sys.onShutDown());
317
345
  this.tools.shutdown();
318
346
  this._renderSystem = dispose(this._renderSystem);
347
+ this._elevationProvider = undefined;
348
+ this._geoidProvider = undefined;
349
+ this._locationProvider = undefined;
319
350
  this._entityClasses.clear();
320
351
  this.authorizationClient = undefined;
321
352
  this._initialized = false;