@itwin/map-layers-formats 4.1.0-dev.8 → 4.1.0-dev.80

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 (288) hide show
  1. package/CHANGELOG.md +74 -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/ArcGisFeatureResponse.js.map +1 -1
  22. package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +14 -0
  23. package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -0
  24. package/lib/cjs/ArcGisFeature/{ArcGisFeatureJSON.js → ArcGisJsonFeatureReader.js} +51 -55
  25. package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -0
  26. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +22 -0
  27. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -0
  28. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js +249 -0
  29. package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -0
  30. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +32 -77
  31. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  32. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +88 -128
  33. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  34. package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts +152 -0
  35. package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts.map +1 -0
  36. package/lib/cjs/ArcGisFeature/EsriSymbology.js +181 -0
  37. package/lib/cjs/ArcGisFeature/EsriSymbology.js.map +1 -0
  38. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
  39. package/lib/cjs/Tools/MapFeatureInfoDecorator.d.ts +34 -0
  40. package/lib/cjs/Tools/MapFeatureInfoDecorator.d.ts.map +1 -0
  41. package/lib/cjs/Tools/MapFeatureInfoDecorator.js +281 -0
  42. package/lib/cjs/Tools/MapFeatureInfoDecorator.js.map +1 -0
  43. package/lib/cjs/Tools/MapFeatureInfoTool.d.ts +38 -0
  44. package/lib/cjs/Tools/MapFeatureInfoTool.d.ts.map +1 -0
  45. package/lib/cjs/Tools/MapFeatureInfoTool.js +113 -0
  46. package/lib/cjs/Tools/MapFeatureInfoTool.js.map +1 -0
  47. package/lib/cjs/map-layers-formats.d.ts +1 -0
  48. package/lib/cjs/map-layers-formats.d.ts.map +1 -1
  49. package/lib/cjs/map-layers-formats.js +1 -0
  50. package/lib/cjs/map-layers-formats.js.map +1 -1
  51. package/lib/cjs/mapLayersFormats.d.ts +12 -1
  52. package/lib/cjs/mapLayersFormats.d.ts.map +1 -1
  53. package/lib/cjs/mapLayersFormats.js +11 -1
  54. package/lib/cjs/mapLayersFormats.js.map +1 -1
  55. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts +19 -0
  56. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts.map +1 -0
  57. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.js +42 -0
  58. package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.js.map +1 -0
  59. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.d.ts.map +1 -1
  60. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js +4 -1
  61. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  62. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +16 -8
  63. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
  64. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +158 -46
  65. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  66. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts +5 -0
  67. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  68. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js +4 -0
  69. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js.map +1 -1
  70. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +15 -6
  71. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts.map +1 -1
  72. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +4 -2
  73. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js.map +1 -1
  74. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
  75. package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +14 -0
  76. package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -0
  77. package/lib/esm/ArcGisFeature/{ArcGisFeatureJSON.js → ArcGisJsonFeatureReader.js} +51 -55
  78. package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -0
  79. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +22 -0
  80. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -0
  81. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js +245 -0
  82. package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -0
  83. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +32 -77
  84. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  85. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +84 -124
  86. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  87. package/lib/esm/ArcGisFeature/EsriSymbology.d.ts +152 -0
  88. package/lib/esm/ArcGisFeature/EsriSymbology.d.ts.map +1 -0
  89. package/lib/esm/ArcGisFeature/EsriSymbology.js +170 -0
  90. package/lib/esm/ArcGisFeature/EsriSymbology.js.map +1 -0
  91. package/lib/esm/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
  92. package/lib/esm/Tools/MapFeatureInfoDecorator.d.ts +34 -0
  93. package/lib/esm/Tools/MapFeatureInfoDecorator.d.ts.map +1 -0
  94. package/lib/esm/Tools/MapFeatureInfoDecorator.js +277 -0
  95. package/lib/esm/Tools/MapFeatureInfoDecorator.js.map +1 -0
  96. package/lib/esm/Tools/MapFeatureInfoTool.d.ts +38 -0
  97. package/lib/esm/Tools/MapFeatureInfoTool.d.ts.map +1 -0
  98. package/lib/esm/Tools/MapFeatureInfoTool.js +110 -0
  99. package/lib/esm/Tools/MapFeatureInfoTool.js.map +1 -0
  100. package/lib/esm/map-layers-formats.d.ts +1 -0
  101. package/lib/esm/map-layers-formats.d.ts.map +1 -1
  102. package/lib/esm/map-layers-formats.js +1 -0
  103. package/lib/esm/map-layers-formats.js.map +1 -1
  104. package/lib/esm/mapLayersFormats.d.ts +12 -1
  105. package/lib/esm/mapLayersFormats.d.ts.map +1 -1
  106. package/lib/esm/mapLayersFormats.js +13 -2
  107. package/lib/esm/mapLayersFormats.js.map +1 -1
  108. package/lib/public/locales/en/mapLayersFormats.json +12 -0
  109. package/package.json +19 -22
  110. package/.nycrc +0 -10
  111. package/.rush/temp/operation/build/all.log +0 -3
  112. package/.rush/temp/operation/build/state.json +0 -3
  113. package/.rush/temp/operation/cover/all.log +0 -98
  114. package/.rush/temp/operation/cover/state.json +0 -3
  115. package/.rush/temp/operation/docs/all.log +0 -30
  116. package/.rush/temp/operation/docs/state.json +0 -3
  117. package/.rush/temp/package-deps_build.json +0 -36
  118. package/.rush/temp/package-deps_cover.json +0 -36
  119. package/.rush/temp/package-deps_docs.json +0 -36
  120. package/.rush/temp/shrinkwrap-deps.json +0 -505
  121. package/CHANGELOG.json +0 -119
  122. package/config/rush-project.json +0 -6
  123. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts +0 -15
  124. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts.map +0 -1
  125. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js.map +0 -1
  126. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts +0 -15
  127. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +0 -1
  128. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +0 -201
  129. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js.map +0 -1
  130. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts +0 -33
  131. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts.map +0 -1
  132. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js +0 -143
  133. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js.map +0 -1
  134. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +0 -2
  135. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts.map +0 -1
  136. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +0 -35
  137. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js.map +0 -1
  138. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +0 -2
  139. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts.map +0 -1
  140. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js +0 -162
  141. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js.map +0 -1
  142. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +0 -2
  143. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts.map +0 -1
  144. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js +0 -168
  145. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js.map +0 -1
  146. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +0 -2
  147. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts.map +0 -1
  148. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +0 -680
  149. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +0 -1
  150. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +0 -2
  151. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts.map +0 -1
  152. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js +0 -104
  153. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js.map +0 -1
  154. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +0 -2
  155. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts.map +0 -1
  156. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +0 -215
  157. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js.map +0 -1
  158. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +0 -2
  159. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts.map +0 -1
  160. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +0 -95
  161. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +0 -1
  162. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +0 -2
  163. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts.map +0 -1
  164. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +0 -60
  165. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js.map +0 -1
  166. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts +0 -7
  167. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts.map +0 -1
  168. package/lib/cjs/test/ArcGisFeature/Mocks.js +0 -19
  169. package/lib/cjs/test/ArcGisFeature/Mocks.js.map +0 -1
  170. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts +0 -56
  171. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts.map +0 -1
  172. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js +0 -420
  173. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js.map +0 -1
  174. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +0 -1043
  175. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +0 -1
  176. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js +0 -427
  177. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js.map +0 -1
  178. package/lib/cjs/test/coverage/.nyc_output/43b4d4c9-a360-43df-88fe-ecfb97b8832b.json +0 -1
  179. package/lib/cjs/test/coverage/.nyc_output/5c53bf83-e91a-4706-bc7c-fa9b79502114.json +0 -1
  180. package/lib/cjs/test/coverage/.nyc_output/processinfo/43b4d4c9-a360-43df-88fe-ecfb97b8832b.json +0 -1
  181. package/lib/cjs/test/coverage/.nyc_output/processinfo/5c53bf83-e91a-4706-bc7c-fa9b79502114.json +0 -1
  182. package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +0 -1
  183. package/lib/cjs/test/coverage/cobertura-coverage.xml +0 -1169
  184. package/lib/cjs/test/coverage/lcov-report/base.css +0 -224
  185. package/lib/cjs/test/coverage/lcov-report/block-navigation.js +0 -87
  186. package/lib/cjs/test/coverage/lcov-report/favicon.png +0 -0
  187. package/lib/cjs/test/coverage/lcov-report/index.html +0 -131
  188. package/lib/cjs/test/coverage/lcov-report/prettify.css +0 -1
  189. package/lib/cjs/test/coverage/lcov-report/prettify.js +0 -2
  190. package/lib/cjs/test/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  191. package/lib/cjs/test/coverage/lcov-report/sorter.js +0 -196
  192. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +0 -133
  193. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +0 -550
  194. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +0 -730
  195. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +0 -1546
  196. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +0 -763
  197. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +0 -223
  198. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +0 -598
  199. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +0 -301
  200. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +0 -832
  201. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +0 -236
  202. package/lib/cjs/test/coverage/lcov-report/src/index.html +0 -131
  203. package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +0 -130
  204. package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +0 -163
  205. package/lib/cjs/test/coverage/lcov.info +0 -1358
  206. package/lib/cjs/tsconfig.tsbuildinfo +0 -1
  207. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts +0 -15
  208. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts.map +0 -1
  209. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js.map +0 -1
  210. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts +0 -15
  211. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +0 -1
  212. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +0 -197
  213. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js.map +0 -1
  214. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts +0 -33
  215. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts.map +0 -1
  216. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js +0 -139
  217. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js.map +0 -1
  218. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +0 -2
  219. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts.map +0 -1
  220. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +0 -33
  221. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js.map +0 -1
  222. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +0 -2
  223. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts.map +0 -1
  224. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js +0 -160
  225. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js.map +0 -1
  226. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +0 -2
  227. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts.map +0 -1
  228. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js +0 -166
  229. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js.map +0 -1
  230. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +0 -2
  231. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts.map +0 -1
  232. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +0 -678
  233. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +0 -1
  234. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +0 -2
  235. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts.map +0 -1
  236. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js +0 -102
  237. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js.map +0 -1
  238. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +0 -2
  239. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts.map +0 -1
  240. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +0 -213
  241. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js.map +0 -1
  242. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +0 -2
  243. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts.map +0 -1
  244. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +0 -93
  245. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +0 -1
  246. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +0 -2
  247. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts.map +0 -1
  248. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +0 -58
  249. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js.map +0 -1
  250. package/lib/esm/test/ArcGisFeature/Mocks.d.ts +0 -7
  251. package/lib/esm/test/ArcGisFeature/Mocks.d.ts.map +0 -1
  252. package/lib/esm/test/ArcGisFeature/Mocks.js +0 -16
  253. package/lib/esm/test/ArcGisFeature/Mocks.js.map +0 -1
  254. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts +0 -56
  255. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts.map +0 -1
  256. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js +0 -417
  257. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js.map +0 -1
  258. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +0 -1043
  259. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +0 -1
  260. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js +0 -424
  261. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js.map +0 -1
  262. package/lib/esm/tsconfig.tsbuildinfo +0 -1
  263. package/lib/test/junit_results.xml +0 -159
  264. package/map-layers-formats.build.log +0 -30
  265. package/src/ArcGisFeature/ArcGisFeatureFormat.ts +0 -16
  266. package/src/ArcGisFeature/ArcGisFeatureJSON.ts +0 -155
  267. package/src/ArcGisFeature/ArcGisFeaturePBF.ts +0 -215
  268. package/src/ArcGisFeature/ArcGisFeatureProvider.ts +0 -487
  269. package/src/ArcGisFeature/ArcGisFeatureQuery.ts +0 -226
  270. package/src/ArcGisFeature/ArcGisFeatureReader.ts +0 -46
  271. package/src/ArcGisFeature/ArcGisFeatureRenderer.ts +0 -171
  272. package/src/ArcGisFeature/ArcGisFeatureResponse.ts +0 -72
  273. package/src/ArcGisFeature/ArcGisSymbologyRenderer.ts +0 -249
  274. package/src/ArcGisFeature/esriPBuffer.gen.ts +0 -2612
  275. package/src/map-layers-formats.ts +0 -15
  276. package/src/mapLayersFormats.ts +0 -26
  277. package/src/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.ts +0 -46
  278. package/src/test/ArcGisFeature/ArcGisFeatureJSON.test.ts +0 -202
  279. package/src/test/ArcGisFeature/ArcGisFeaturePBF.test.ts +0 -227
  280. package/src/test/ArcGisFeature/ArcGisFeatureProvider.test.ts +0 -805
  281. package/src/test/ArcGisFeature/ArcGisFeatureQuery.test.ts +0 -117
  282. package/src/test/ArcGisFeature/ArcGisFeatureRenderer.test.ts +0 -296
  283. package/src/test/ArcGisFeature/ArcGisFeatureResponse.test.ts +0 -109
  284. package/src/test/ArcGisFeature/ArcGisSymbologyRenderer.test.ts +0 -77
  285. package/src/test/ArcGisFeature/Mocks.ts +0 -19
  286. package/src/test/ArcGisFeature/NewYorkDataset.ts +0 -423
  287. package/src/test/ArcGisFeature/PhillyLandmarksDataset.ts +0 -455
  288. package/tsconfig.json +0 -20
package/CHANGELOG.md CHANGED
@@ -1,6 +1,79 @@
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 Mon, 24 Jul 2023 12:35:20 GMT and should not be manually modified.
4
+
5
+ ## 4.0.6
6
+ Mon, 24 Jul 2023 05:07:33 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 4.0.5
11
+ Tue, 18 Jul 2023 12:21:56 GMT
12
+
13
+ _Version update only_
14
+
15
+ ## 4.0.4
16
+ Wed, 12 Jul 2023 15:50:01 GMT
17
+
18
+ _Version update only_
19
+
20
+ ## 4.0.3
21
+ Mon, 03 Jul 2023 15:28:41 GMT
22
+
23
+ _Version update only_
24
+
25
+ ## 4.0.2
26
+ Wed, 21 Jun 2023 22:04:43 GMT
27
+
28
+ _Version update only_
29
+
30
+ ## 4.0.1
31
+ Wed, 21 Jun 2023 20:29:14 GMT
32
+
33
+ _Version update only_
34
+
35
+ ## 4.0.0
36
+ Mon, 22 May 2023 15:34:14 GMT
37
+
38
+ ### Updates
39
+
40
+ - Update to eslint@8
41
+ - Upgrade TypeScript compile target to es2021.
42
+
43
+ ## 3.7.11
44
+ Tue, 11 Jul 2023 17:17:22 GMT
45
+
46
+ _Version update only_
47
+
48
+ ## 3.7.10
49
+ Wed, 05 Jul 2023 13:41:21 GMT
50
+
51
+ _Version update only_
52
+
53
+ ## 3.7.9
54
+ Tue, 20 Jun 2023 12:51:02 GMT
55
+
56
+ _Version update only_
57
+
58
+ ## 3.7.8
59
+ Thu, 01 Jun 2023 17:00:39 GMT
60
+
61
+ _Version update only_
62
+
63
+ ## 3.7.7
64
+ Wed, 24 May 2023 17:27:09 GMT
65
+
66
+ _Version update only_
67
+
68
+ ## 3.7.6
69
+ Mon, 15 May 2023 18:23:41 GMT
70
+
71
+ _Version update only_
72
+
73
+ ## 3.7.5
74
+ Thu, 04 May 2023 19:43:18 GMT
75
+
76
+ _Version update only_
4
77
 
5
78
  ## 3.7.4
6
79
  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":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { Transform } from \"@itwin/core-geometry\";\nimport { ArcGisSymbologyRenderer } from \"./ArcGisSymbologyRenderer\";\nimport { ArcGisAttributeDrivenSymbology, ArcGisGeometryBaseRenderer } from \"@itwin/core-frontend\";\n\n/** @internal */\nexport class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {\n private _context: CanvasRenderingContext2D;\n private _symbol: ArcGisSymbologyRenderer;\n\n public override get attributeSymbology(): ArcGisAttributeDrivenSymbology | undefined {\n return this._symbol.isAttributeDriven() ? this._symbol : undefined;\n }\n\n constructor(context: CanvasRenderingContext2D, symbol: ArcGisSymbologyRenderer, world2PixelTransform?: Transform) {\n super(world2PixelTransform);\n this._symbol = symbol;\n this._context = context;\n }\n\n protected beginPath() {\n this._context.beginPath();\n }\n\n protected closePath() {\n this._context.closePath();\n }\n\n protected lineTo(x: number, y: number) {\n this._context.lineTo(x, y);\n }\n\n protected moveTo(x: number, y: number) {\n this._context.moveTo(x, y);\n }\n\n protected async fill() {\n this._symbol.applyFillStyle(this._context);\n this._context.fill();\n }\n\n protected async stroke() {\n this._symbol.applyStrokeStyle(this._context);\n this._context.stroke();\n }\n\n protected async finishPoints() {\n }\n\n protected async drawPoint(x: number, y: number) {\n this._symbol.drawPoint(this._context, x, y);\n }\n}\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":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\nimport { ArcGisUtilities, ImageryMapLayerFormat, MapLayerImageryProvider, MapLayerSourceStatus, MapLayerSourceValidation } from \"@itwin/core-frontend\";\nimport { ArcGisFeatureProvider } from \"./ArcGisFeatureProvider\";\n\n/** @internal */\nexport class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {\n public static override formatId = \"ArcGISFeature\";\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined { return new ArcGisFeatureProvider(settings); }\n public static override async validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\n const urlValidation = ArcGisUtilities.validateUrl(url, \"FeatureServer\");\n if (urlValidation !== MapLayerSourceStatus.Valid)\n return {status: urlValidation};\n\n return ArcGisUtilities.validateSource(url, this.formatId, [\"query\"], userName, password, ignoreCache);\n }\n}\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