@itwin/map-layers-formats 4.1.0-dev.7 → 4.1.0-dev.70

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 (284) hide show
  1. package/CHANGELOG.md +69 -1
  2. package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.d.ts +19 -0
  3. package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.d.ts.map +1 -0
  4. package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.js +46 -0
  5. package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.js.map +1 -0
  6. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.d.ts.map +1 -1
  7. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js +3 -0
  8. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  9. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts +16 -8
  10. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
  11. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +157 -45
  12. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  13. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts +5 -0
  14. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  15. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js +4 -0
  16. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js.map +1 -1
  17. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts +15 -6
  18. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts.map +1 -1
  19. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js +6 -4
  20. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js.map +1 -1
  21. package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +14 -0
  22. package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -0
  23. package/lib/cjs/ArcGisFeature/{ArcGisFeatureJSON.js → ArcGisJsonFeatureReader.js} +51 -55
  24. package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -0
  25. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +22 -0
  26. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -0
  27. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js +249 -0
  28. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -0
  29. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +32 -77
  30. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  31. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +88 -128
  32. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  33. package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts +152 -0
  34. package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts.map +1 -0
  35. package/lib/cjs/ArcGisFeature/EsriSymbology.js +181 -0
  36. package/lib/cjs/ArcGisFeature/EsriSymbology.js.map +1 -0
  37. package/lib/cjs/Tools/MapFeatureInfoDecorator.d.ts +34 -0
  38. package/lib/cjs/Tools/MapFeatureInfoDecorator.d.ts.map +1 -0
  39. package/lib/cjs/Tools/MapFeatureInfoDecorator.js +281 -0
  40. package/lib/cjs/Tools/MapFeatureInfoDecorator.js.map +1 -0
  41. package/lib/cjs/Tools/MapFeatureInfoTool.d.ts +38 -0
  42. package/lib/cjs/Tools/MapFeatureInfoTool.d.ts.map +1 -0
  43. package/lib/cjs/Tools/MapFeatureInfoTool.js +113 -0
  44. package/lib/cjs/Tools/MapFeatureInfoTool.js.map +1 -0
  45. package/lib/cjs/map-layers-formats.d.ts +1 -0
  46. package/lib/cjs/map-layers-formats.d.ts.map +1 -1
  47. package/lib/cjs/map-layers-formats.js +1 -0
  48. package/lib/cjs/map-layers-formats.js.map +1 -1
  49. package/lib/cjs/mapLayersFormats.d.ts +12 -1
  50. package/lib/cjs/mapLayersFormats.d.ts.map +1 -1
  51. package/lib/cjs/mapLayersFormats.js +11 -1
  52. package/lib/cjs/mapLayersFormats.js.map +1 -1
  53. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts +19 -0
  54. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts.map +1 -0
  55. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.js +42 -0
  56. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.js.map +1 -0
  57. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.d.ts.map +1 -1
  58. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js +4 -1
  59. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  60. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +16 -8
  61. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
  62. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +158 -46
  63. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  64. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts +5 -0
  65. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  66. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js +4 -0
  67. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js.map +1 -1
  68. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +15 -6
  69. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts.map +1 -1
  70. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +4 -2
  71. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js.map +1 -1
  72. package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +14 -0
  73. package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -0
  74. package/lib/esm/ArcGisFeature/{ArcGisFeatureJSON.js → ArcGisJsonFeatureReader.js} +51 -55
  75. package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -0
  76. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +22 -0
  77. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -0
  78. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js +245 -0
  79. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -0
  80. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +32 -77
  81. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  82. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +84 -124
  83. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  84. package/lib/esm/ArcGisFeature/EsriSymbology.d.ts +152 -0
  85. package/lib/esm/ArcGisFeature/EsriSymbology.d.ts.map +1 -0
  86. package/lib/esm/ArcGisFeature/EsriSymbology.js +170 -0
  87. package/lib/esm/ArcGisFeature/EsriSymbology.js.map +1 -0
  88. package/lib/esm/Tools/MapFeatureInfoDecorator.d.ts +34 -0
  89. package/lib/esm/Tools/MapFeatureInfoDecorator.d.ts.map +1 -0
  90. package/lib/esm/Tools/MapFeatureInfoDecorator.js +277 -0
  91. package/lib/esm/Tools/MapFeatureInfoDecorator.js.map +1 -0
  92. package/lib/esm/Tools/MapFeatureInfoTool.d.ts +38 -0
  93. package/lib/esm/Tools/MapFeatureInfoTool.d.ts.map +1 -0
  94. package/lib/esm/Tools/MapFeatureInfoTool.js +110 -0
  95. package/lib/esm/Tools/MapFeatureInfoTool.js.map +1 -0
  96. package/lib/esm/map-layers-formats.d.ts +1 -0
  97. package/lib/esm/map-layers-formats.d.ts.map +1 -1
  98. package/lib/esm/map-layers-formats.js +1 -0
  99. package/lib/esm/map-layers-formats.js.map +1 -1
  100. package/lib/esm/mapLayersFormats.d.ts +12 -1
  101. package/lib/esm/mapLayersFormats.d.ts.map +1 -1
  102. package/lib/esm/mapLayersFormats.js +13 -2
  103. package/lib/esm/mapLayersFormats.js.map +1 -1
  104. package/lib/public/locales/en/mapLayersFormats.json +12 -0
  105. package/package.json +19 -22
  106. package/.nycrc +0 -10
  107. package/.rush/temp/operation/build/all.log +0 -3
  108. package/.rush/temp/operation/build/state.json +0 -3
  109. package/.rush/temp/operation/cover/all.log +0 -98
  110. package/.rush/temp/operation/cover/state.json +0 -3
  111. package/.rush/temp/operation/docs/all.log +0 -30
  112. package/.rush/temp/operation/docs/state.json +0 -3
  113. package/.rush/temp/package-deps_build.json +0 -36
  114. package/.rush/temp/package-deps_cover.json +0 -36
  115. package/.rush/temp/package-deps_docs.json +0 -36
  116. package/.rush/temp/shrinkwrap-deps.json +0 -505
  117. package/CHANGELOG.json +0 -119
  118. package/config/rush-project.json +0 -6
  119. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts +0 -15
  120. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts.map +0 -1
  121. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js.map +0 -1
  122. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts +0 -15
  123. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +0 -1
  124. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +0 -201
  125. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js.map +0 -1
  126. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts +0 -33
  127. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts.map +0 -1
  128. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js +0 -143
  129. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js.map +0 -1
  130. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +0 -2
  131. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts.map +0 -1
  132. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +0 -35
  133. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js.map +0 -1
  134. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +0 -2
  135. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts.map +0 -1
  136. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js +0 -162
  137. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js.map +0 -1
  138. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +0 -2
  139. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts.map +0 -1
  140. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js +0 -168
  141. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js.map +0 -1
  142. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +0 -2
  143. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts.map +0 -1
  144. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +0 -680
  145. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +0 -1
  146. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +0 -2
  147. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts.map +0 -1
  148. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js +0 -104
  149. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js.map +0 -1
  150. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +0 -2
  151. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts.map +0 -1
  152. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +0 -215
  153. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js.map +0 -1
  154. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +0 -2
  155. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts.map +0 -1
  156. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +0 -95
  157. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +0 -1
  158. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +0 -2
  159. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts.map +0 -1
  160. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +0 -60
  161. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js.map +0 -1
  162. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts +0 -7
  163. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts.map +0 -1
  164. package/lib/cjs/test/ArcGisFeature/Mocks.js +0 -19
  165. package/lib/cjs/test/ArcGisFeature/Mocks.js.map +0 -1
  166. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts +0 -56
  167. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts.map +0 -1
  168. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js +0 -420
  169. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js.map +0 -1
  170. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +0 -1043
  171. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +0 -1
  172. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js +0 -427
  173. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js.map +0 -1
  174. package/lib/cjs/test/coverage/.nyc_output/2a6113c3-018f-40b1-ae8f-f3d0cbe030ce.json +0 -1
  175. package/lib/cjs/test/coverage/.nyc_output/74410d89-cce2-4b2a-89c9-6d56490c73f1.json +0 -1
  176. package/lib/cjs/test/coverage/.nyc_output/processinfo/2a6113c3-018f-40b1-ae8f-f3d0cbe030ce.json +0 -1
  177. package/lib/cjs/test/coverage/.nyc_output/processinfo/74410d89-cce2-4b2a-89c9-6d56490c73f1.json +0 -1
  178. package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +0 -1
  179. package/lib/cjs/test/coverage/cobertura-coverage.xml +0 -1169
  180. package/lib/cjs/test/coverage/lcov-report/base.css +0 -224
  181. package/lib/cjs/test/coverage/lcov-report/block-navigation.js +0 -87
  182. package/lib/cjs/test/coverage/lcov-report/favicon.png +0 -0
  183. package/lib/cjs/test/coverage/lcov-report/index.html +0 -131
  184. package/lib/cjs/test/coverage/lcov-report/prettify.css +0 -1
  185. package/lib/cjs/test/coverage/lcov-report/prettify.js +0 -2
  186. package/lib/cjs/test/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  187. package/lib/cjs/test/coverage/lcov-report/sorter.js +0 -196
  188. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +0 -133
  189. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +0 -550
  190. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +0 -730
  191. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +0 -1546
  192. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +0 -763
  193. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +0 -223
  194. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +0 -598
  195. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +0 -301
  196. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +0 -832
  197. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +0 -236
  198. package/lib/cjs/test/coverage/lcov-report/src/index.html +0 -131
  199. package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +0 -130
  200. package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +0 -163
  201. package/lib/cjs/test/coverage/lcov.info +0 -1358
  202. package/lib/cjs/tsconfig.tsbuildinfo +0 -1
  203. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts +0 -15
  204. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts.map +0 -1
  205. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js.map +0 -1
  206. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts +0 -15
  207. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +0 -1
  208. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +0 -197
  209. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js.map +0 -1
  210. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts +0 -33
  211. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts.map +0 -1
  212. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js +0 -139
  213. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js.map +0 -1
  214. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +0 -2
  215. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts.map +0 -1
  216. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +0 -33
  217. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js.map +0 -1
  218. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +0 -2
  219. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts.map +0 -1
  220. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js +0 -160
  221. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js.map +0 -1
  222. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +0 -2
  223. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts.map +0 -1
  224. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js +0 -166
  225. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js.map +0 -1
  226. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +0 -2
  227. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts.map +0 -1
  228. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +0 -678
  229. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +0 -1
  230. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +0 -2
  231. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts.map +0 -1
  232. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js +0 -102
  233. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js.map +0 -1
  234. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +0 -2
  235. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts.map +0 -1
  236. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +0 -213
  237. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js.map +0 -1
  238. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +0 -2
  239. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts.map +0 -1
  240. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +0 -93
  241. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +0 -1
  242. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +0 -2
  243. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts.map +0 -1
  244. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +0 -58
  245. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js.map +0 -1
  246. package/lib/esm/test/ArcGisFeature/Mocks.d.ts +0 -7
  247. package/lib/esm/test/ArcGisFeature/Mocks.d.ts.map +0 -1
  248. package/lib/esm/test/ArcGisFeature/Mocks.js +0 -16
  249. package/lib/esm/test/ArcGisFeature/Mocks.js.map +0 -1
  250. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts +0 -56
  251. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts.map +0 -1
  252. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js +0 -417
  253. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js.map +0 -1
  254. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +0 -1043
  255. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +0 -1
  256. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js +0 -424
  257. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js.map +0 -1
  258. package/lib/esm/tsconfig.tsbuildinfo +0 -1
  259. package/lib/test/junit_results.xml +0 -159
  260. package/map-layers-formats.build.log +0 -30
  261. package/src/ArcGisFeature/ArcGisFeatureFormat.ts +0 -16
  262. package/src/ArcGisFeature/ArcGisFeatureJSON.ts +0 -155
  263. package/src/ArcGisFeature/ArcGisFeaturePBF.ts +0 -215
  264. package/src/ArcGisFeature/ArcGisFeatureProvider.ts +0 -487
  265. package/src/ArcGisFeature/ArcGisFeatureQuery.ts +0 -226
  266. package/src/ArcGisFeature/ArcGisFeatureReader.ts +0 -46
  267. package/src/ArcGisFeature/ArcGisFeatureRenderer.ts +0 -171
  268. package/src/ArcGisFeature/ArcGisFeatureResponse.ts +0 -72
  269. package/src/ArcGisFeature/ArcGisSymbologyRenderer.ts +0 -249
  270. package/src/ArcGisFeature/esriPBuffer.gen.ts +0 -2612
  271. package/src/map-layers-formats.ts +0 -15
  272. package/src/mapLayersFormats.ts +0 -26
  273. package/src/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.ts +0 -46
  274. package/src/test/ArcGisFeature/ArcGisFeatureJSON.test.ts +0 -202
  275. package/src/test/ArcGisFeature/ArcGisFeaturePBF.test.ts +0 -227
  276. package/src/test/ArcGisFeature/ArcGisFeatureProvider.test.ts +0 -805
  277. package/src/test/ArcGisFeature/ArcGisFeatureQuery.test.ts +0 -117
  278. package/src/test/ArcGisFeature/ArcGisFeatureRenderer.test.ts +0 -296
  279. package/src/test/ArcGisFeature/ArcGisFeatureResponse.test.ts +0 -109
  280. package/src/test/ArcGisFeature/ArcGisSymbologyRenderer.test.ts +0 -77
  281. package/src/test/ArcGisFeature/Mocks.ts +0 -19
  282. package/src/test/ArcGisFeature/NewYorkDataset.ts +0 -423
  283. package/src/test/ArcGisFeature/PhillyLandmarksDataset.ts +0 -455
  284. package/tsconfig.json +0 -20
package/CHANGELOG.md CHANGED
@@ -1,6 +1,74 @@
1
1
  # Change Log - @itwin/map-layers-formats
2
2
 
3
- This log was last generated on Tue, 25 Apr 2023 17:50:35 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 18 Jul 2023 13:47:06 GMT and should not be manually modified.
4
+
5
+ ## 4.0.5
6
+ Tue, 18 Jul 2023 12:21:56 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 4.0.4
11
+ Wed, 12 Jul 2023 15:50:01 GMT
12
+
13
+ _Version update only_
14
+
15
+ ## 4.0.3
16
+ Mon, 03 Jul 2023 15:28:41 GMT
17
+
18
+ _Version update only_
19
+
20
+ ## 4.0.2
21
+ Wed, 21 Jun 2023 22:04:43 GMT
22
+
23
+ _Version update only_
24
+
25
+ ## 4.0.1
26
+ Wed, 21 Jun 2023 20:29:14 GMT
27
+
28
+ _Version update only_
29
+
30
+ ## 4.0.0
31
+ Mon, 22 May 2023 15:34:14 GMT
32
+
33
+ ### Updates
34
+
35
+ - Update to eslint@8
36
+ - Upgrade TypeScript compile target to es2021.
37
+
38
+ ## 3.7.11
39
+ Tue, 11 Jul 2023 17:17:22 GMT
40
+
41
+ _Version update only_
42
+
43
+ ## 3.7.10
44
+ Wed, 05 Jul 2023 13:41:21 GMT
45
+
46
+ _Version update only_
47
+
48
+ ## 3.7.9
49
+ Tue, 20 Jun 2023 12:51:02 GMT
50
+
51
+ _Version update only_
52
+
53
+ ## 3.7.8
54
+ Thu, 01 Jun 2023 17:00:39 GMT
55
+
56
+ _Version update only_
57
+
58
+ ## 3.7.7
59
+ Wed, 24 May 2023 17:27:09 GMT
60
+
61
+ _Version update only_
62
+
63
+ ## 3.7.6
64
+ Mon, 15 May 2023 18:23:41 GMT
65
+
66
+ _Version update only_
67
+
68
+ ## 3.7.5
69
+ Thu, 04 May 2023 19:43:18 GMT
70
+
71
+ _Version update only_
4
72
 
5
73
  ## 3.7.4
6
74
  Tue, 25 Apr 2023 17:50:35 GMT
@@ -0,0 +1,19 @@
1
+ import { Transform } from "@itwin/core-geometry";
2
+ import { ArcGisSymbologyRenderer } from "./ArcGisSymbologyRenderer";
3
+ import { ArcGisAttributeDrivenSymbology, ArcGisGeometryBaseRenderer } from "@itwin/core-frontend";
4
+ /** @internal */
5
+ export declare class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {
6
+ private _context;
7
+ private _symbol;
8
+ get attributeSymbology(): ArcGisAttributeDrivenSymbology | undefined;
9
+ constructor(context: CanvasRenderingContext2D, symbol: ArcGisSymbologyRenderer, world2PixelTransform?: Transform);
10
+ protected beginPath(): void;
11
+ protected closePath(): void;
12
+ protected lineTo(x: number, y: number): void;
13
+ protected moveTo(x: number, y: number): void;
14
+ protected fill(): Promise<void>;
15
+ protected stroke(): Promise<void>;
16
+ protected finishPoints(): Promise<void>;
17
+ protected drawPoint(x: number, y: number): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=ArcGisCanvasRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGisCanvasRenderer.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisCanvasRenderer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElG,gBAAgB;AAChB,qBAAa,oBAAqB,SAAQ,0BAA0B;IAClE,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAA0B;IAEzC,IAAoB,kBAAkB,IAAI,8BAA8B,GAAG,SAAS,CAEnF;gBAEW,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,EAAE,SAAS;IAMhH,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAIrC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;cAIrB,IAAI;cAKJ,MAAM;cAKN,YAAY;cAGZ,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAG/C"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ArcGisCanvasRenderer = void 0;
8
+ const core_frontend_1 = require("@itwin/core-frontend");
9
+ /** @internal */
10
+ class ArcGisCanvasRenderer extends core_frontend_1.ArcGisGeometryBaseRenderer {
11
+ get attributeSymbology() {
12
+ return this._symbol.isAttributeDriven() ? this._symbol : undefined;
13
+ }
14
+ constructor(context, symbol, world2PixelTransform) {
15
+ super(world2PixelTransform);
16
+ this._symbol = symbol;
17
+ this._context = context;
18
+ }
19
+ beginPath() {
20
+ this._context.beginPath();
21
+ }
22
+ closePath() {
23
+ this._context.closePath();
24
+ }
25
+ lineTo(x, y) {
26
+ this._context.lineTo(x, y);
27
+ }
28
+ moveTo(x, y) {
29
+ this._context.moveTo(x, y);
30
+ }
31
+ async fill() {
32
+ this._symbol.applyFillStyle(this._context);
33
+ this._context.fill();
34
+ }
35
+ async stroke() {
36
+ this._symbol.applyStrokeStyle(this._context);
37
+ this._context.stroke();
38
+ }
39
+ async finishPoints() {
40
+ }
41
+ async drawPoint(x, y) {
42
+ this._symbol.drawPoint(this._context, x, y);
43
+ }
44
+ }
45
+ exports.ArcGisCanvasRenderer = ArcGisCanvasRenderer;
46
+ //# sourceMappingURL=ArcGisCanvasRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGisCanvasRenderer.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisCanvasRenderer.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAI/F,wDAAkG;AAElG,gBAAgB;AAChB,MAAa,oBAAqB,SAAQ,0CAA0B;IAIlE,IAAoB,kBAAkB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAED,YAAY,OAAiC,EAAE,MAA+B,EAAE,oBAAgC;QAC9G,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAES,MAAM,CAAC,CAAS,EAAE,CAAS;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAES,MAAM,CAAC,CAAS,EAAE,CAAS;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,MAAM;QACpB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,YAAY;IAC5B,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS;QAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF;AA9CD,oDA8CC","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\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ArcGisSymbologyRenderer } from \"./ArcGisSymbologyRenderer\";\r\nimport { ArcGisAttributeDrivenSymbology, ArcGisGeometryBaseRenderer } from \"@itwin/core-frontend\";\r\n\r\n/** @internal */\r\nexport class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {\r\n private _context: CanvasRenderingContext2D;\r\n private _symbol: ArcGisSymbologyRenderer;\r\n\r\n public override get attributeSymbology(): ArcGisAttributeDrivenSymbology | undefined {\r\n return this._symbol.isAttributeDriven() ? this._symbol : undefined;\r\n }\r\n\r\n constructor(context: CanvasRenderingContext2D, symbol: ArcGisSymbologyRenderer, world2PixelTransform?: Transform) {\r\n super(world2PixelTransform);\r\n this._symbol = symbol;\r\n this._context = context;\r\n }\r\n\r\n protected beginPath() {\r\n this._context.beginPath();\r\n }\r\n\r\n protected closePath() {\r\n this._context.closePath();\r\n }\r\n\r\n protected lineTo(x: number, y: number) {\r\n this._context.lineTo(x, y);\r\n }\r\n\r\n protected moveTo(x: number, y: number) {\r\n this._context.moveTo(x, y);\r\n }\r\n\r\n protected async fill() {\r\n this._symbol.applyFillStyle(this._context);\r\n this._context.fill();\r\n }\r\n\r\n protected async stroke() {\r\n this._symbol.applyStrokeStyle(this._context);\r\n this._context.stroke();\r\n }\r\n\r\n protected async finishPoints() {\r\n }\r\n\r\n protected async drawPoint(x: number, y: number) {\r\n this._symbol.drawPoint(this._context, x, y);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisFeatureFormat.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAmB,qBAAqB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGjI,gBAAgB;AAChB,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAuB,QAAQ,SAAmB;WAC3B,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,SAAS;WACrF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAGzJ"}
1
+ {"version":3,"file":"ArcGisFeatureFormat.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAmB,qBAAqB,EAAE,uBAAuB,EAAwB,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGvJ,gBAAgB;AAChB,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAuB,QAAQ,SAAmB;WAC3B,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,SAAS;WACrF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAOzJ"}
@@ -7,6 +7,9 @@ const ArcGisFeatureProvider_1 = require("./ArcGisFeatureProvider");
7
7
  class ArcGisFeatureMapLayerFormat extends core_frontend_1.ImageryMapLayerFormat {
8
8
  static createImageryProvider(settings) { return new ArcGisFeatureProvider_1.ArcGisFeatureProvider(settings); }
9
9
  static async validateSource(url, userName, password, ignoreCache) {
10
+ const urlValidation = core_frontend_1.ArcGisUtilities.validateUrl(url, "FeatureServer");
11
+ if (urlValidation !== core_frontend_1.MapLayerSourceStatus.Valid)
12
+ return { status: urlValidation };
10
13
  return core_frontend_1.ArcGisUtilities.validateSource(url, this.formatId, ["query"], userName, password, ignoreCache);
11
14
  }
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisFeatureFormat.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":";;;AAKA,wDAAiI;AACjI,mEAAgE;AAEhE,gBAAgB;AAChB,MAAa,2BAA4B,SAAQ,qCAAqB;IAE7D,MAAM,CAAU,qBAAqB,CAAC,QAA+B,IAAyC,OAAO,IAAI,6CAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3J,MAAM,CAAU,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,QAAiB,EAAE,QAAiB,EAAE,WAAqB;QAClH,OAAO,+BAAe,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxG,CAAC;;AAJsB,oCAAQ,GAAG,eAAe,CAAC;AADvC,kEAA2B","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\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\r\nimport { ArcGisUtilities, ImageryMapLayerFormat, MapLayerImageryProvider, MapLayerSourceValidation } from \"@itwin/core-frontend\";\r\nimport { ArcGisFeatureProvider } from \"./ArcGisFeatureProvider\";\r\n\r\n/** @internal */\r\nexport class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"ArcGISFeature\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined { return new ArcGisFeatureProvider(settings); }\r\n public static override async validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n return ArcGisUtilities.validateSource(url, this.formatId, [\"query\"], userName, password, ignoreCache);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ArcGisFeatureFormat.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":";;;AAKA,wDAAuJ;AACvJ,mEAAgE;AAEhE,gBAAgB;AAChB,MAAa,2BAA4B,SAAQ,qCAAqB;IAE7D,MAAM,CAAU,qBAAqB,CAAC,QAA+B,IAAyC,OAAO,IAAI,6CAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3J,MAAM,CAAU,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,QAAiB,EAAE,QAAiB,EAAE,WAAqB;QAClH,MAAM,aAAa,GAAG,+BAAe,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxE,IAAI,aAAa,KAAK,oCAAoB,CAAC,KAAK;YAC9C,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC;QAEjC,OAAO,+BAAe,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxG,CAAC;;AARsB,oCAAQ,GAAG,eAAe,CAAC;AADvC,kEAA2B","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\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\r\nimport { ArcGisUtilities, ImageryMapLayerFormat, MapLayerImageryProvider, MapLayerSourceStatus, MapLayerSourceValidation } from \"@itwin/core-frontend\";\r\nimport { ArcGisFeatureProvider } from \"./ArcGisFeatureProvider\";\r\n\r\n/** @internal */\r\nexport class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"ArcGISFeature\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined { return new ArcGisFeatureProvider(settings); }\r\n public static override async validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n const urlValidation = ArcGisUtilities.validateUrl(url, \"FeatureServer\");\r\n if (urlValidation !== MapLayerSourceStatus.Valid)\r\n return {status: urlValidation};\r\n\r\n return ArcGisUtilities.validateSource(url, this.formatId, [\"query\"], userName, password, ignoreCache);\r\n }\r\n}\r\n"]}
@@ -1,7 +1,8 @@
1
1
  import { Cartographic, ImageMapLayerSettings, ImageSource } from "@itwin/core-common";
2
2
  import { Transform } from "@itwin/core-geometry";
3
- import { ArcGISImageryProvider, ImageryMapTileTree, MapLayerFeatureInfo, QuadId } from "@itwin/core-frontend";
4
- import { ArcGisExtent, ArcGisFeatureFormat, ArcGisGeometry } from "./ArcGisFeatureQuery";
3
+ import { ArcGISImageryProvider, HitDetail, ImageryMapTileTree, MapLayerFeatureInfo, QuadId } from "@itwin/core-frontend";
4
+ import { ArcGisExtent, ArcGisFeatureFormat, ArcGisFeatureGeometryType, ArcGisFeatureResultType, ArcGisGeometry } from "./ArcGisFeatureQuery";
5
+ import { EsriPMS, EsriSFS, EsriSLS } from "./EsriSymbology";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -16,26 +17,33 @@ export declare class ArcGisFeatureProvider extends ArcGISImageryProvider {
16
17
  private _drawDebugInfo;
17
18
  private _debugFeatureGeom;
18
19
  private _supportsCoordinatesQuantization;
19
- private _querySupported;
20
20
  private _layerId;
21
21
  private _layerMetadata;
22
22
  private _format;
23
- serviceJson: any;
24
- private _symbologyRenderer;
25
- private static readonly _nbSubTiles;
26
23
  private _outSR;
27
24
  private _maxDepthFromLod;
28
25
  private _minDepthFromLod;
26
+ private _defaultSymbol;
27
+ private _renderer;
28
+ private static readonly _nbSubTiles;
29
+ serviceJson: any;
30
+ private static readonly defaultPMS;
31
+ private static readonly defaultSLS;
32
+ private static readonly defaultSFS;
29
33
  get minimumZoomLevel(): number;
30
34
  get maximumZoomLevel(): number;
35
+ private static _extentCache;
31
36
  constructor(settings: ImageMapLayerSettings);
32
37
  initialize(): Promise<void>;
38
+ static getDefaultSymbology(geomType: ArcGisFeatureGeometryType): EsriSFS | EsriSLS | EsriPMS | undefined;
39
+ private fetchLayerExtent;
40
+ private setCartoRangeFromExtentJson;
33
41
  protected getLayerMetadata(layerId: number): Promise<any>;
34
42
  get tileSize(): number;
35
43
  get format(): ArcGisFeatureFormat | undefined;
36
44
  constructUrl(_row: number, _column: number, _zoomLevel: number): Promise<string>;
37
- constructFeatureUrl(row: number, column: number, zoomLevel: number, format: ArcGisFeatureFormat, geomOverride?: ArcGisGeometry, outFields?: string, tolerance?: number, returnGeometry?: boolean): ArcGisFeatureUrl | undefined;
38
- getFeatureInfo(featureInfos: MapLayerFeatureInfo[], quadId: QuadId, carto: Cartographic, _tree: ImageryMapTileTree): Promise<void>;
45
+ constructFeatureUrl(row: number, column: number, zoomLevel: number, format: ArcGisFeatureFormat, resultType: ArcGisFeatureResultType, geomOverride?: ArcGisGeometry, outFields?: string, tolerance?: number, returnGeometry?: boolean, maxAllowableOffset?: number): ArcGisFeatureUrl | undefined;
46
+ getFeatureInfo(featureInfos: MapLayerFeatureInfo[], quadId: QuadId, carto: Cartographic, _tree: ImageryMapTileTree, hit: HitDetail): Promise<void>;
39
47
  private fetchTile;
40
48
  drawTileDebugInfo(row: number, column: number, zoomLevel: number, context: CanvasRenderingContext2D): void;
41
49
  protected computeTileWorld2CanvasTransform(row: number, column: number, zoomLevel: number): Transform | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisFeatureProvider.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAkC,MAAM,oBAAoB,CAAC;AAEtH,OAAO,EAA8B,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAmB,qBAAqB,EAA0C,kBAAkB,EAAqB,mBAAmB,EAAiC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEzN,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAsB,cAAc,EAAkC,MAAM,sBAAsB,CAAC;AAO7I;;EAEE;AACF,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;EAEE;AACF,qBAAa,qBAAsB,SAAQ,qBAAqB;IAE9D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,gCAAgC,CAAS;IACjD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,OAAO,CAAgC;IACxC,WAAW,EAAE,GAAG,CAAC;IACxB,OAAO,CAAC,kBAAkB,CAAoC;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,IAAoB,gBAAgB,IAAI,MAAM,CAAkC;IAChF,IAAoB,gBAAgB,IAAI,MAAM,CAAkC;gBAEpE,QAAQ,EAAE,qBAAqB;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cA+IjC,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAYhD,IAAoB,QAAQ,IAAI,MAAM,CAAgB;IACtD,IAAW,MAAM,IAAI,mBAAmB,GAAC,SAAS,CAAyB;IAG9D,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItF,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS;IAyD/M,cAAc,CAAC,YAAY,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YA4D3I,SAAS;IAgBf,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB;IAU3G,SAAS,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAsBnE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CA0GjH"}
1
+ {"version":3,"file":"ArcGisFeatureProvider.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAkC,MAAM,oBAAoB,CAAC;AAEtH,OAAO,EAA8B,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAA2C,qBAAqB,EAA0C,SAAS,EAAE,kBAAkB,EAAqB,mBAAmB,EAAiC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5P,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAsB,uBAAuB,EAAE,cAAc,EAAkC,MAAM,sBAAsB,CAAC;AAOjM,OAAO,EAAE,OAAO,EAA8B,OAAO,EAAgB,OAAO,EAAqD,MAAM,iBAAiB,CAAC;AAGzJ;;EAEE;AACF,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;EAEE;AACF,qBAAa,qBAAsB,SAAQ,qBAAqB;IAE9D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,gCAAgC,CAAS;IAEjD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,SAAS,CAAyB;IAE1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACjC,WAAW,EAAE,GAAG,CAAC;IAExB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAShC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAKhC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAKhC;IAEF,IAAoB,gBAAgB,IAAI,MAAM,CAAkC;IAChF,IAAoB,gBAAgB,IAAI,MAAM,CAAkC;IAEhF,OAAO,CAAC,MAAM,CAAC,YAAY,CAA0B;gBAEzC,QAAQ,EAAE,qBAAqB;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WAsKnC,mBAAmB,CAAC,QAAQ,EAAE,yBAAyB;YAavD,gBAAgB;IAmB9B,OAAO,CAAC,2BAA2B;cAanB,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAYhD,IAAoB,QAAQ,IAAI,MAAM,CAAgB;IACtD,IAAW,MAAM,IAAI,mBAAmB,GAAG,SAAS,CAAyB;IAGhE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItF,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,uBAAuB,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IA4DlR,cAAc,CAAC,YAAY,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YA+E1J,SAAS;IAsBhB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB;IAU1G,SAAS,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAsBnE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CA0GjH"}
@@ -3,6 +3,7 @@
3
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
+ var _a;
6
7
  Object.defineProperty(exports, "__esModule", { value: true });
7
8
  exports.ArcGisFeatureProvider = void 0;
8
9
  const core_common_1 = require("@itwin/core-common");
@@ -11,10 +12,11 @@ const core_geometry_1 = require("@itwin/core-geometry");
11
12
  const core_frontend_1 = require("@itwin/core-frontend");
12
13
  const ArcGisSymbologyRenderer_1 = require("./ArcGisSymbologyRenderer");
13
14
  const ArcGisFeatureQuery_1 = require("./ArcGisFeatureQuery");
14
- const ArcGisFeatureRenderer_1 = require("./ArcGisFeatureRenderer");
15
- const ArcGisFeaturePBF_1 = require("./ArcGisFeaturePBF");
16
- const ArcGisFeatureJSON_1 = require("./ArcGisFeatureJSON");
15
+ const ArcGisPbfFeatureReader_1 = require("./ArcGisPbfFeatureReader");
16
+ const ArcGisJsonFeatureReader_1 = require("./ArcGisJsonFeatureReader");
17
17
  const ArcGisFeatureResponse_1 = require("./ArcGisFeatureResponse");
18
+ const ArcGisCanvasRenderer_1 = require("./ArcGisCanvasRenderer");
19
+ const EsriSymbology_1 = require("./EsriSymbology");
18
20
  const loggerCategory = "MapLayersFormats.ArcGISFeature";
19
21
  /** Provide tiles from a ESRI ArcGIS Feature service
20
22
  * @internal
@@ -24,11 +26,10 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
24
26
  get maximumZoomLevel() { return this._maxDepthFromLod; }
25
27
  constructor(settings) {
26
28
  super(settings, true);
27
- // Debug flags, should always be commited to FALSE !
29
+ // Debug flags, should always be committed to FALSE !
28
30
  this._drawDebugInfo = false;
29
31
  this._debugFeatureGeom = false;
30
32
  this._supportsCoordinatesQuantization = false;
31
- this._querySupported = false;
32
33
  this._layerId = 0;
33
34
  this._outSR = 102100;
34
35
  this._maxDepthFromLod = 0;
@@ -74,6 +75,7 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
74
75
  for (const layer of this.serviceJson.layers) {
75
76
  if (layer.defaultVisibility) {
76
77
  this._layerId = layer.id;
78
+ break;
77
79
  }
78
80
  }
79
81
  }
@@ -137,17 +139,23 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
137
139
  throw new core_common_1.ServerError(core_bentley_1.IModelStatus.ValidationFailed, "");
138
140
  }
139
141
  // Read range using full extent from service metadata
140
- if (json.fullExtent) {
141
- if (json.fullExtent.spatialReference.latestWkid === 3857 || json.fullExtent.spatialReference.wkid === 102100) {
142
- const range3857 = core_geometry_1.Range2d.createFrom({
143
- low: { x: json.fullExtent.xmin, y: json.fullExtent.ymin },
144
- high: { x: json.fullExtent.xmax, y: json.fullExtent.ymax }
145
- });
146
- const west = this.getEPSG4326Lon(range3857.xLow);
147
- const south = this.getEPSG4326Lat(range3857.yLow);
148
- const east = this.getEPSG4326Lon(range3857.xHigh);
149
- const north = this.getEPSG4326Lat(range3857.yHigh);
150
- this.cartoRange = core_frontend_1.MapCartoRectangle.fromDegrees(west, south, east, north);
142
+ if (this._layerMetadata?.extent) {
143
+ const layerExtent = this._layerMetadata.extent;
144
+ if (layerExtent.spatialReference.latestWkid === 3857 || layerExtent.spatialReference.wkid === 102100) {
145
+ this.setCartoRangeFromExtentJson(layerExtent);
146
+ }
147
+ }
148
+ if (!this.cartoRange) {
149
+ // Range could not be found (or is not in a coordinate system we support), make a request to compute the extent
150
+ try {
151
+ const extentJson = await this.fetchLayerExtent();
152
+ if (extentJson)
153
+ this.setCartoRangeFromExtentJson(extentJson);
154
+ else
155
+ core_bentley_1.Logger.logWarning(loggerCategory, `Could not get features extent, disabling extent filtering`);
156
+ }
157
+ catch {
158
+ core_bentley_1.Logger.logError(loggerCategory, `Could not get feature extent`);
151
159
  }
152
160
  }
153
161
  // Check for minScale / max scale
@@ -158,7 +166,65 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
158
166
  this._minDepthFromLod = scales.minLod;
159
167
  // Some servers advertises a max LOD of 0, it should be interpreted as 'not defined' (otherwise a max lod of 0 would would mean never display anything)
160
168
  this._maxDepthFromLod = (scales.maxLod ? scales.maxLod : this.defaultMaximumZoomLevel);
161
- this._symbologyRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer(this._layerMetadata?.geometryType, this._layerMetadata?.drawingInfo?.renderer);
169
+ this._defaultSymbol = ArcGisFeatureProvider.getDefaultSymbology(this._layerMetadata?.geometryType);
170
+ if (!this._defaultSymbol) {
171
+ core_bentley_1.Logger.logError(loggerCategory, "Could not determine default symbology: geometry type not supported");
172
+ throw new Error("Could not determine default symbology: geometry type not supported");
173
+ }
174
+ if (this._defaultSymbol.type === "esriPMS") {
175
+ await this._defaultSymbol.loadImage();
176
+ }
177
+ try {
178
+ this._renderer = EsriSymbology_1.EsriRenderer.fromJSON(this._layerMetadata?.drawingInfo?.renderer);
179
+ await this._renderer.initialize();
180
+ }
181
+ catch {
182
+ core_bentley_1.Logger.logError(loggerCategory, `Could not initialize symbology renderer`);
183
+ }
184
+ }
185
+ static getDefaultSymbology(geomType) {
186
+ if (geomType) {
187
+ if (geomType === "esriGeometryPoint" || geomType === "esriGeometryMultipoint") {
188
+ return EsriSymbology_1.EsriPMS.fromJSON(ArcGisFeatureProvider.defaultPMS);
189
+ }
190
+ else if (geomType === "esriGeometryLine" || geomType === "esriGeometryPolyline") {
191
+ return EsriSymbology_1.EsriSLS.fromJSON(ArcGisFeatureProvider.defaultSLS);
192
+ }
193
+ else if (geomType === "esriGeometryPolygon") {
194
+ return EsriSymbology_1.EsriSFS.fromJSON(ArcGisFeatureProvider.defaultSFS);
195
+ }
196
+ }
197
+ return undefined;
198
+ }
199
+ async fetchLayerExtent() {
200
+ let extentJson;
201
+ const tmpUrl = new URL(this._settings.url);
202
+ tmpUrl.pathname = `${tmpUrl.pathname}/${this._layerId}/query`;
203
+ tmpUrl.searchParams.append("where", "1=1");
204
+ tmpUrl.searchParams.append("outSR", "3857");
205
+ tmpUrl.searchParams.append("returnExtentOnly", "true");
206
+ tmpUrl.searchParams.append("f", "json");
207
+ const cached = ArcGisFeatureProvider._extentCache.get(tmpUrl.toString());
208
+ if (cached) {
209
+ extentJson = cached;
210
+ }
211
+ else {
212
+ const response = await this.fetch(tmpUrl, { method: "GET" });
213
+ extentJson = await response.json();
214
+ ArcGisFeatureProvider._extentCache.set(tmpUrl.toString(), extentJson);
215
+ }
216
+ return (extentJson ? extentJson.extent : undefined);
217
+ }
218
+ setCartoRangeFromExtentJson(extent) {
219
+ const range3857 = core_geometry_1.Range2d.createFrom({
220
+ low: { x: extent.xmin, y: extent.ymin },
221
+ high: { x: extent.xmax, y: extent.ymax },
222
+ });
223
+ const west = this.getEPSG4326Lon(range3857.xLow);
224
+ const south = this.getEPSG4326Lat(range3857.yLow);
225
+ const east = this.getEPSG4326Lon(range3857.xHigh);
226
+ const north = this.getEPSG4326Lat(range3857.yHigh);
227
+ this.cartoRange = core_frontend_1.MapCartoRectangle.fromDegrees(west, south, east, north);
162
228
  }
163
229
  async getLayerMetadata(layerId) {
164
230
  let metadata;
@@ -177,7 +243,7 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
177
243
  async constructUrl(_row, _column, _zoomLevel) {
178
244
  return "";
179
245
  }
180
- constructFeatureUrl(row, column, zoomLevel, format, geomOverride, outFields, tolerance, returnGeometry) {
246
+ constructFeatureUrl(row, column, zoomLevel, format, resultType, geomOverride, outFields, tolerance, returnGeometry, maxAllowableOffset) {
181
247
  const tileExtent = this.getEPSG3857Extent(row, column, zoomLevel);
182
248
  const tileEnvelope = {
183
249
  xmin: tileExtent.left, ymin: tileExtent.bottom,
@@ -197,7 +263,7 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
197
263
  }
198
264
  let quantizationParameters;
199
265
  const toleranceWorld = (tileExtent.top - tileExtent.bottom) / this.tileSize;
200
- if (this._supportsCoordinatesQuantization) {
266
+ if (resultType === "tile" && this._supportsCoordinatesQuantization) {
201
267
  quantizationParameters = {
202
268
  mode: "view",
203
269
  originPosition: "upperLeft",
@@ -205,15 +271,18 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
205
271
  extent: tileEnvelope,
206
272
  };
207
273
  }
208
- const url = new ArcGisFeatureQuery_1.ArcGisFeatureQuery(this._settings.url, this._layerId, format, this._outSR, { geometry,
274
+ const url = new ArcGisFeatureQuery_1.ArcGisFeatureQuery(this._settings.url, this._layerId, format, this._outSR, {
275
+ geometry,
209
276
  geometryType: "esriGeometryEnvelope",
210
277
  returnExceededLimitFeatures: false,
211
278
  maxRecordCountFactor: 3,
212
- resultType: "tile",
279
+ resultType,
213
280
  quantizationParameters,
214
281
  outFields,
215
282
  returnGeometry,
216
- distance: (tolerance ? tolerance * toleranceWorld : undefined) });
283
+ distance: (tolerance ? tolerance * toleranceWorld : undefined),
284
+ maxAllowableOffset,
285
+ });
217
286
  let envelope;
218
287
  if (geomOverride && geomOverride.type === "esriGeometryEnvelope") {
219
288
  envelope = geomOverride.geom;
@@ -224,16 +293,27 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
224
293
  return { url: url.toString(), envelope };
225
294
  }
226
295
  // Makes an identify request to ESRI MapService , and return it as a list MapLayerFeatureInfo object
227
- async getFeatureInfo(featureInfos, quadId, carto, _tree) {
296
+ async getFeatureInfo(featureInfos, quadId, carto, _tree, hit) {
228
297
  if (!this._querySupported || this.format === undefined)
229
298
  return;
230
- const cartoPoint = {
231
- x: this.getEPSG3857X(carto.longitudeDegrees),
232
- y: this.getEPSG3857Y(carto.latitudeDegrees),
233
- spatialReference: { wkid: 102100, latestWkid: 3857 },
299
+ const epsg3857X = this.getEPSG3857X(carto.longitudeDegrees);
300
+ const epsg3857Y = this.getEPSG3857Y(carto.latitudeDegrees);
301
+ const tileExtent = this.getEPSG3857Extent(quadId.row, quadId.column, quadId.level);
302
+ const tilePixelSize = (tileExtent.top - tileExtent.bottom) / this.tileSize;
303
+ const tolerancePixel = 3;
304
+ const toleranceWorld = tilePixelSize * tolerancePixel;
305
+ // Note: We used to pass a single point as the query 'geometry' and leverage the 'distance' parameter, turns
306
+ // out that approach was a lot slower on some server compared to using a single envelope.
307
+ const queryEnvelope = {
308
+ type: "esriGeometryEnvelope",
309
+ geom: {
310
+ xmin: epsg3857X - toleranceWorld, ymin: epsg3857Y - toleranceWorld,
311
+ xmax: epsg3857X + toleranceWorld, ymax: epsg3857Y + toleranceWorld,
312
+ spatialReference: { wkid: 102100, latestWkid: 3857 },
313
+ }
234
314
  };
235
315
  const doFeatureInfoQuery = async (format, outFields, returnGeometry) => {
236
- const infoUrl = this.constructFeatureUrl(quadId.row, quadId.column, quadId.level, format, { geom: cartoPoint, type: "esriGeometryPoint" }, outFields, 3 /* tolerance in pixel*/, returnGeometry);
316
+ const infoUrl = this.constructFeatureUrl(quadId.row, quadId.column, quadId.level, format, "standard", queryEnvelope, outFields, undefined, returnGeometry, toleranceWorld);
237
317
  if (!infoUrl || infoUrl.url.length === 0) {
238
318
  core_bentley_1.Logger.logError(loggerCategory, `Could not construct feature info query URL`);
239
319
  return undefined;
@@ -246,32 +326,36 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
246
326
  try {
247
327
  let responseData = await doFeatureInfoQuery("PBF", "", true);
248
328
  if (responseData) {
249
- core_bentley_1.Logger.logInfo(loggerCategory, JSON.stringify(responseData.data.toObject()));
329
+ const json = JSON.stringify(responseData.data.toObject());
330
+ core_bentley_1.Logger.logInfo(loggerCategory, json);
250
331
  }
251
332
  responseData = await doFeatureInfoQuery("JSON", "", true);
252
333
  if (responseData) {
253
- core_bentley_1.Logger.logInfo(loggerCategory, JSON.stringify(responseData.data));
334
+ const json = JSON.stringify(responseData.data);
335
+ core_bentley_1.Logger.logInfo(loggerCategory, json);
254
336
  }
255
337
  }
256
338
  catch (e) {
257
- core_bentley_1.Logger.logInfo(loggerCategory, `Error occured with debug FeatureInfo: ${e}`);
339
+ core_bentley_1.Logger.logInfo(loggerCategory, `Error occurred with debug FeatureInfo: ${e}`);
258
340
  }
259
341
  }
260
342
  try {
261
- const responseData = await doFeatureInfoQuery(this.format, "*", false);
343
+ // Feature Info requests are always made in JSON for now.
344
+ const responseData = await doFeatureInfoQuery("JSON", "*", true);
262
345
  if (!responseData) {
263
346
  core_bentley_1.Logger.logError(loggerCategory, `Could not get feature info data`);
264
347
  return;
265
348
  }
266
349
  if (responseData.exceedTransferLimit) {
267
- core_bentley_1.Logger.logError(loggerCategory, `Could not get feature info : transfert limit exeeded.`);
350
+ core_bentley_1.Logger.logError(loggerCategory, `Could not get feature info : transfer limit exceeded.`);
268
351
  return;
269
352
  }
270
- const featureReader = this.format === "PBF" ? new ArcGisFeaturePBF_1.ArcGisFeaturePBF(this._settings, this._layerMetadata) : new ArcGisFeatureJSON_1.ArcGisFeatureJSON(this._settings, this._layerMetadata);
271
- featureReader.readFeatureInfo(responseData, featureInfos);
353
+ const featureReader = new ArcGisJsonFeatureReader_1.ArcGisJsonFeatureReader(this._settings, this._layerMetadata);
354
+ const renderer = new core_frontend_1.ArcGisGraphicsRenderer(hit.iModel);
355
+ await featureReader.readFeatureInfo(responseData, featureInfos, renderer);
272
356
  }
273
357
  catch (e) {
274
- core_bentley_1.Logger.logError(loggerCategory, `Exception occured while loading feature info data : ${e}`);
358
+ core_bentley_1.Logger.logError(loggerCategory, `Exception occurred while loading feature info data : ${e}`);
275
359
  return;
276
360
  }
277
361
  return;
@@ -281,7 +365,13 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
281
365
  return undefined;
282
366
  }
283
367
  const geomOverride = (refineEnvelope ? { geom: refineEnvelope, type: "esriGeometryEnvelope" } : undefined);
284
- const tileUrl = this.constructFeatureUrl(row, column, zoomLevel, this.format, geomOverride);
368
+ let outFields;
369
+ if (this._renderer?.type === "uniqueValue") {
370
+ const uvRenderer = this._renderer;
371
+ if (uvRenderer.field1)
372
+ outFields = uvRenderer.field1;
373
+ }
374
+ const tileUrl = this.constructFeatureUrl(row, column, zoomLevel, this.format, "tile", geomOverride, outFields);
285
375
  if (!tileUrl || tileUrl.url.length === 0) {
286
376
  core_bentley_1.Logger.logError(loggerCategory, `Could not construct feature query URL for tile ${zoomLevel}/${row}/${column}`);
287
377
  return undefined;
@@ -328,10 +418,6 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
328
418
  core_bentley_1.Logger.logError(loggerCategory, "No canvas context available for loading tile.");
329
419
  return undefined;
330
420
  }
331
- if (!this._symbologyRenderer) {
332
- core_bentley_1.Logger.logError(loggerCategory, "No symbology renderer available for loading tile.");
333
- return undefined;
334
- }
335
421
  try {
336
422
  // Compute transform if CoordinatesQuantization is not supported by service
337
423
  let transfo;
@@ -341,8 +427,10 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
341
427
  core_bentley_1.Logger.logError(loggerCategory, `Could not compute data transformation for tile (${zoomLevel}/${row}/${column})`);
342
428
  }
343
429
  }
344
- const renderer = new ArcGisFeatureRenderer_1.ArcGisFeatureRenderer(ctx, this._symbologyRenderer, transfo);
345
- const featureReader = this.format === "PBF" ? new ArcGisFeaturePBF_1.ArcGisFeaturePBF(this._settings, this._layerMetadata) : new ArcGisFeatureJSON_1.ArcGisFeatureJSON(this._settings, this._layerMetadata);
430
+ // Create the renderer
431
+ const symbRenderer = ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer.create(this._renderer, this._defaultSymbol);
432
+ const renderer = new ArcGisCanvasRenderer_1.ArcGisCanvasRenderer(ctx, symbRenderer, transfo);
433
+ const featureReader = this.format === "PBF" ? new ArcGisPbfFeatureReader_1.ArcGisPbfFeatureReader(this._settings, this._layerMetadata) : new ArcGisJsonFeatureReader_1.ArcGisJsonFeatureReader(this._settings, this._layerMetadata);
346
434
  const getSubEnvelopes = (envelope) => {
347
435
  const dx = (envelope.xmax - envelope.xmin) * 0.5;
348
436
  const dy = (envelope.xmax - envelope.xmin) * 0.5;
@@ -395,7 +483,7 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
395
483
  }
396
484
  }
397
485
  else {
398
- featureReader.readAndRender(responseData, renderer);
486
+ await featureReader.readAndRender(responseData, renderer);
399
487
  }
400
488
  };
401
489
  await renderData();
@@ -417,6 +505,30 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
417
505
  return undefined;
418
506
  }
419
507
  }
420
- ArcGisFeatureProvider._nbSubTiles = 2;
508
+ _a = ArcGisFeatureProvider;
509
+ ArcGisFeatureProvider._nbSubTiles = 2; // Number of subtiles for a single axis
510
+ ArcGisFeatureProvider.defaultPMS = {
511
+ type: "esriPMS",
512
+ url: "",
513
+ contentType: "image/png",
514
+ imageData: "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAmBJREFUOE+Nk01IVFEUx//n3jfvOZOaJkMtiiJ7o9RG3LgoqKhFSFJBTS1ahFBBi0ijfJXCIyQr+hBbSIsoW7iQoKKFCw2CkAI3tZAgy8Ei+xhoTCbnje/NPfHGnA816KzuPR+/c8/HJRQJE7o+VUhym0DcCOYGgBQEXjOLlyqo+nHanCkMoaL4rslKjZwOQLT4ek3Mmz3FACFNLB67ut6M1nWphbg8wI6VyJK5KEH0EQFVJRKbwzokAW++p/ErraAYSQK3u47bC3vLnA+ZB9i2gHF0oyQMCfCGNaUa+vauxs71wWz2V18cnBj8gQ8J1/eeBnHUa4sMFQDGdGno+4gwEAoQzjVUon3rqlx1KY9x7+0MWobjAPg3QJ2eZV4tAEyFNCN5FkSXyw2B3j1hRGvLcgBXMV5MptA4MOXr0gT0u5bZnAf0jBsyiSgJPAxqhON1K3FlRxUMvwFAtv7u0Wl0jvwEmJNEuOhakTt5wKEBifr6Oo14BIBRpgt07w6jcVMIngKGY7NofR5HwlF+zDcpsC193vyYB/innvHywCzdZfAR/+onX1segBTAxHzzfPE7/8yzzIPLjJE1LTixHZx5CtCK4gXLzovBiDPUsYxVM7gUkB3nWKlm6DYEnQGzXARxCOK+a1WfKtQXb6LNAvr7iCboCUA1Ocdsdv5KLPe7F6pH/w3wLbc+BwOuc5IZ1wEE/jonQbjptZn24tKKX7BgvR2r0NKZRwDvAqCI+Z30VJPTURv7P4A9psuQcYAUPwAoReBLrmX2Lmls7i8sZ7kWLwuoxA1FVJGxzMPLufi6P2r+2xFbOUjGAAAAAElFTkSuQmCC",
515
+ width: 16,
516
+ height: 16,
517
+ xoffset: -8,
518
+ yoffset: -16,
519
+ };
520
+ ArcGisFeatureProvider.defaultSLS = {
521
+ type: "esriSLS",
522
+ color: [0, 0, 0, 255],
523
+ width: 1,
524
+ style: "esriSLSSolid",
525
+ };
526
+ ArcGisFeatureProvider.defaultSFS = {
527
+ type: "esriSFS",
528
+ color: [0, 0, 255, 255],
529
+ style: "esriSFSSolid",
530
+ outline: _a.defaultSLS,
531
+ };
532
+ ArcGisFeatureProvider._extentCache = new Map();
421
533
  exports.ArcGisFeatureProvider = ArcGisFeatureProvider;
422
534
  //# sourceMappingURL=ArcGisFeatureProvider.js.map