@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
@@ -11,6 +11,7 @@ exports.MapLayersFormats = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_frontend_1 = require("@itwin/core-frontend");
13
13
  const ArcGisFeatureFormat_1 = require("./ArcGisFeature/ArcGisFeatureFormat");
14
+ const MapFeatureInfoTool_1 = require("./Tools/MapFeatureInfoTool");
14
15
  /** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.
15
16
  * @beta
16
17
  */
@@ -19,11 +20,20 @@ class MapLayersFormats {
19
20
  * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).
20
21
  * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).
21
22
  */
22
- static initialize() {
23
+ static async initialize(config) {
23
24
  (0, core_bentley_1.assert)(core_frontend_1.IModelApp.initialized, "MapLayersFormats.initialize must be called after IModelApp.startup and before IModelApp.shutdown");
24
25
  if (core_frontend_1.IModelApp.initialized)
25
26
  core_frontend_1.IModelApp.mapLayerFormatRegistry.register(ArcGisFeatureFormat_1.ArcGisFeatureMapLayerFormat);
27
+ // register namespace containing localized strings for this package
28
+ MapLayersFormats.localization = config?.localization ?? core_frontend_1.IModelApp.localization;
29
+ await MapLayersFormats.localization.registerNamespace(MapLayersFormats.localizationNamespace);
30
+ MapFeatureInfoTool_1.MapFeatureInfoTool.register(MapLayersFormats.localizationNamespace);
31
+ }
32
+ /** The internationalization service namespace. */
33
+ static get localizationNamespace() {
34
+ return MapLayersFormats._defaultNs;
26
35
  }
27
36
  }
37
+ MapLayersFormats._defaultNs = "mapLayersFormats";
28
38
  exports.MapLayersFormats = MapLayersFormats;
29
39
  //# sourceMappingURL=mapLayersFormats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapLayersFormats.js","sourceRoot":"","sources":["../../src/mapLayersFormats.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AACH,sDAA6C;AAC7C,wDAAiD;AACjD,6EAAkF;AAElF;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;;OAGG;IACI,MAAM,CAAC,UAAU;QACtB,IAAA,qBAAM,EAAC,yBAAS,CAAC,WAAW,EAAE,kGAAkG,CAAC,CAAC;QAClI,IAAI,yBAAS,CAAC,WAAW;YACvB,yBAAS,CAAC,sBAAsB,CAAC,QAAQ,CAAC,iDAA2B,CAAC,CAAC;IAC3E,CAAC;CACF;AAVD,4CAUC","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\n/** @packageDocumentation\r\n * @module MapLayersFormats\r\n */\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { ArcGisFeatureMapLayerFormat } from \"./ArcGisFeature/ArcGisFeatureFormat\";\r\n\r\n/** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.\r\n * @beta\r\n */\r\nexport class MapLayersFormats {\r\n /** Registers the [MapLayerFormat]($frontend)s provided by this package for use with [IModelApp]($frontend).\r\n * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).\r\n * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).\r\n */\r\n public static initialize() {\r\n assert(IModelApp.initialized, \"MapLayersFormats.initialize must be called after IModelApp.startup and before IModelApp.shutdown\");\r\n if (IModelApp.initialized)\r\n IModelApp.mapLayerFormatRegistry.register(ArcGisFeatureMapLayerFormat);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"mapLayersFormats.js","sourceRoot":"","sources":["../../src/mapLayersFormats.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AACH,sDAA6C;AAC7C,wDAAiD;AACjD,6EAAkF;AAClF,mEAAgE;AAUhE;;GAEG;AACH,MAAa,gBAAgB;IAK3B;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA+B;QAC5D,IAAA,qBAAM,EAAC,yBAAS,CAAC,WAAW,EAAE,kGAAkG,CAAC,CAAC;QAClI,IAAI,yBAAS,CAAC,WAAW;YACvB,yBAAS,CAAC,sBAAsB,CAAC,QAAQ,CAAC,iDAA2B,CAAC,CAAC;QAEzE,mEAAmE;QACnE,gBAAgB,CAAC,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,yBAAS,CAAC,YAAY,CAAC;QAC/E,MAAM,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,CACnD,gBAAgB,CAAC,qBAAqB,CACvC,CAAC;QAEF,uCAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACtE,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACrC,CAAC;;AAxBc,2BAAU,GAAG,kBAAkB,CAAC;AAFpC,4CAAgB","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\n/** @packageDocumentation\n * @module MapLayersFormats\n */\nimport { assert } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { ArcGisFeatureMapLayerFormat } from \"./ArcGisFeature/ArcGisFeatureFormat\";\nimport { MapFeatureInfoTool } from \"./Tools/MapFeatureInfoTool\";\nimport { Localization } from \"@itwin/core-common\";\n\n/** Configuration options.\n * @beta\n */\nexport interface MapLayersFormatsConfig {\n localization?: Localization;\n}\n\n/** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.\n * @beta\n */\nexport class MapLayersFormats {\n\n private static _defaultNs = \"mapLayersFormats\";\n public static localization: Localization;\n\n /** Registers the [MapLayerFormat]($frontend)s provided by this package for use with [IModelApp]($frontend).\n * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).\n * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).\n */\n public static async initialize(config?: MapLayersFormatsConfig): Promise<void> {\n assert(IModelApp.initialized, \"MapLayersFormats.initialize must be called after IModelApp.startup and before IModelApp.shutdown\");\n if (IModelApp.initialized)\n IModelApp.mapLayerFormatRegistry.register(ArcGisFeatureMapLayerFormat);\n\n // register namespace containing localized strings for this package\n MapLayersFormats.localization = config?.localization ?? IModelApp.localization;\n await MapLayersFormats.localization.registerNamespace(\n MapLayersFormats.localizationNamespace,\n );\n\n MapFeatureInfoTool.register(MapLayersFormats.localizationNamespace);\n }\n\n /** The internationalization service namespace. */\n public static get localizationNamespace(): string {\n return MapLayersFormats._defaultNs;\n }\n\n}\n"]}
@@ -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,42 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { ArcGisGeometryBaseRenderer } from "@itwin/core-frontend";
6
+ /** @internal */
7
+ export class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {
8
+ get attributeSymbology() {
9
+ return this._symbol.isAttributeDriven() ? this._symbol : undefined;
10
+ }
11
+ constructor(context, symbol, world2PixelTransform) {
12
+ super(world2PixelTransform);
13
+ this._symbol = symbol;
14
+ this._context = context;
15
+ }
16
+ beginPath() {
17
+ this._context.beginPath();
18
+ }
19
+ closePath() {
20
+ this._context.closePath();
21
+ }
22
+ lineTo(x, y) {
23
+ this._context.lineTo(x, y);
24
+ }
25
+ moveTo(x, y) {
26
+ this._context.moveTo(x, y);
27
+ }
28
+ async fill() {
29
+ this._symbol.applyFillStyle(this._context);
30
+ this._context.fill();
31
+ }
32
+ async stroke() {
33
+ this._symbol.applyStrokeStyle(this._context);
34
+ this._context.stroke();
35
+ }
36
+ async finishPoints() {
37
+ }
38
+ async drawPoint(x, y) {
39
+ this._symbol.drawPoint(this._context, x, y);
40
+ }
41
+ }
42
+ //# 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,OAAO,EAAkC,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElG,gBAAgB;AAChB,MAAM,OAAO,oBAAqB,SAAQ,0BAA0B;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","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"}
@@ -1,9 +1,12 @@
1
- import { ArcGisUtilities, ImageryMapLayerFormat } from "@itwin/core-frontend";
1
+ import { ArcGisUtilities, ImageryMapLayerFormat, MapLayerSourceStatus } from "@itwin/core-frontend";
2
2
  import { ArcGisFeatureProvider } from "./ArcGisFeatureProvider";
3
3
  /** @internal */
4
4
  class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {
5
5
  static createImageryProvider(settings) { return new ArcGisFeatureProvider(settings); }
6
6
  static async validateSource(url, userName, password, ignoreCache) {
7
+ const urlValidation = ArcGisUtilities.validateUrl(url, "FeatureServer");
8
+ if (urlValidation !== MapLayerSourceStatus.Valid)
9
+ return { status: urlValidation };
7
10
  return ArcGisUtilities.validateSource(url, this.formatId, ["query"], userName, password, ignoreCache);
8
11
  }
9
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisFeatureFormat.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAqD,MAAM,sBAAsB,CAAC;AACjI,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,gBAAgB;AAChB,MAAa,2BAA4B,SAAQ,qBAAqB;IAE7D,MAAM,CAAU,qBAAqB,CAAC,QAA+B,IAAyC,OAAO,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3J,MAAM,CAAU,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,QAAiB,EAAE,QAAiB,EAAE,WAAqB;QAClH,OAAO,eAAe,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;SADvC,2BAA2B","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,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA2B,oBAAoB,EAA4B,MAAM,sBAAsB,CAAC;AACvJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,gBAAgB;AAChB,MAAa,2BAA4B,SAAQ,qBAAqB;IAE7D,MAAM,CAAU,qBAAqB,CAAC,QAA+B,IAAyC,OAAO,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3J,MAAM,CAAU,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,QAAiB,EAAE,QAAiB,EAAE,WAAqB;QAClH,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxE,IAAI,aAAa,KAAK,oBAAoB,CAAC,KAAK;YAC9C,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC;QAEjC,OAAO,eAAe,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;SADvC,2BAA2B","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"}
@@ -2,16 +2,18 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ var _a;
5
6
  import { ImageSource, ImageSourceFormat, ServerError } from "@itwin/core-common";
6
7
  import { base64StringToUint8Array, IModelStatus, Logger } from "@itwin/core-bentley";
7
8
  import { Matrix4d, Point3d, Range2d } from "@itwin/core-geometry";
8
- import { ArcGisErrorCode, ArcGISImageryProvider, ArcGisUtilities, MapCartoRectangle, MapLayerImageryProviderStatus } from "@itwin/core-frontend";
9
+ import { ArcGisErrorCode, ArcGisGraphicsRenderer, ArcGISImageryProvider, ArcGisUtilities, MapCartoRectangle, MapLayerImageryProviderStatus } from "@itwin/core-frontend";
9
10
  import { ArcGisSymbologyRenderer } from "./ArcGisSymbologyRenderer";
10
11
  import { ArcGisFeatureQuery } from "./ArcGisFeatureQuery";
11
- import { ArcGisFeatureRenderer } from "./ArcGisFeatureRenderer";
12
- import { ArcGisFeaturePBF } from "./ArcGisFeaturePBF";
13
- import { ArcGisFeatureJSON } from "./ArcGisFeatureJSON";
12
+ import { ArcGisPbfFeatureReader } from "./ArcGisPbfFeatureReader";
13
+ import { ArcGisJsonFeatureReader } from "./ArcGisJsonFeatureReader";
14
14
  import { ArcGisFeatureResponse } from "./ArcGisFeatureResponse";
15
+ import { ArcGisCanvasRenderer } from "./ArcGisCanvasRenderer";
16
+ import { EsriPMS, EsriRenderer, EsriSFS, EsriSLS } from "./EsriSymbology";
15
17
  const loggerCategory = "MapLayersFormats.ArcGISFeature";
16
18
  /** Provide tiles from a ESRI ArcGIS Feature service
17
19
  * @internal
@@ -21,11 +23,10 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
21
23
  get maximumZoomLevel() { return this._maxDepthFromLod; }
22
24
  constructor(settings) {
23
25
  super(settings, true);
24
- // Debug flags, should always be commited to FALSE !
26
+ // Debug flags, should always be committed to FALSE !
25
27
  this._drawDebugInfo = false;
26
28
  this._debugFeatureGeom = false;
27
29
  this._supportsCoordinatesQuantization = false;
28
- this._querySupported = false;
29
30
  this._layerId = 0;
30
31
  this._outSR = 102100;
31
32
  this._maxDepthFromLod = 0;
@@ -71,6 +72,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
71
72
  for (const layer of this.serviceJson.layers) {
72
73
  if (layer.defaultVisibility) {
73
74
  this._layerId = layer.id;
75
+ break;
74
76
  }
75
77
  }
76
78
  }
@@ -134,17 +136,23 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
134
136
  throw new ServerError(IModelStatus.ValidationFailed, "");
135
137
  }
136
138
  // Read range using full extent from service metadata
137
- if (json.fullExtent) {
138
- if (json.fullExtent.spatialReference.latestWkid === 3857 || json.fullExtent.spatialReference.wkid === 102100) {
139
- const range3857 = Range2d.createFrom({
140
- low: { x: json.fullExtent.xmin, y: json.fullExtent.ymin },
141
- high: { x: json.fullExtent.xmax, y: json.fullExtent.ymax }
142
- });
143
- const west = this.getEPSG4326Lon(range3857.xLow);
144
- const south = this.getEPSG4326Lat(range3857.yLow);
145
- const east = this.getEPSG4326Lon(range3857.xHigh);
146
- const north = this.getEPSG4326Lat(range3857.yHigh);
147
- this.cartoRange = MapCartoRectangle.fromDegrees(west, south, east, north);
139
+ if (this._layerMetadata?.extent) {
140
+ const layerExtent = this._layerMetadata.extent;
141
+ if (layerExtent.spatialReference.latestWkid === 3857 || layerExtent.spatialReference.wkid === 102100) {
142
+ this.setCartoRangeFromExtentJson(layerExtent);
143
+ }
144
+ }
145
+ if (!this.cartoRange) {
146
+ // Range could not be found (or is not in a coordinate system we support), make a request to compute the extent
147
+ try {
148
+ const extentJson = await this.fetchLayerExtent();
149
+ if (extentJson)
150
+ this.setCartoRangeFromExtentJson(extentJson);
151
+ else
152
+ Logger.logWarning(loggerCategory, `Could not get features extent, disabling extent filtering`);
153
+ }
154
+ catch {
155
+ Logger.logError(loggerCategory, `Could not get feature extent`);
148
156
  }
149
157
  }
150
158
  // Check for minScale / max scale
@@ -155,7 +163,65 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
155
163
  this._minDepthFromLod = scales.minLod;
156
164
  // 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)
157
165
  this._maxDepthFromLod = (scales.maxLod ? scales.maxLod : this.defaultMaximumZoomLevel);
158
- this._symbologyRenderer = new ArcGisSymbologyRenderer(this._layerMetadata?.geometryType, this._layerMetadata?.drawingInfo?.renderer);
166
+ this._defaultSymbol = ArcGisFeatureProvider.getDefaultSymbology(this._layerMetadata?.geometryType);
167
+ if (!this._defaultSymbol) {
168
+ Logger.logError(loggerCategory, "Could not determine default symbology: geometry type not supported");
169
+ throw new Error("Could not determine default symbology: geometry type not supported");
170
+ }
171
+ if (this._defaultSymbol.type === "esriPMS") {
172
+ await this._defaultSymbol.loadImage();
173
+ }
174
+ try {
175
+ this._renderer = EsriRenderer.fromJSON(this._layerMetadata?.drawingInfo?.renderer);
176
+ await this._renderer.initialize();
177
+ }
178
+ catch {
179
+ Logger.logError(loggerCategory, `Could not initialize symbology renderer`);
180
+ }
181
+ }
182
+ static getDefaultSymbology(geomType) {
183
+ if (geomType) {
184
+ if (geomType === "esriGeometryPoint" || geomType === "esriGeometryMultipoint") {
185
+ return EsriPMS.fromJSON(ArcGisFeatureProvider.defaultPMS);
186
+ }
187
+ else if (geomType === "esriGeometryLine" || geomType === "esriGeometryPolyline") {
188
+ return EsriSLS.fromJSON(ArcGisFeatureProvider.defaultSLS);
189
+ }
190
+ else if (geomType === "esriGeometryPolygon") {
191
+ return EsriSFS.fromJSON(ArcGisFeatureProvider.defaultSFS);
192
+ }
193
+ }
194
+ return undefined;
195
+ }
196
+ async fetchLayerExtent() {
197
+ let extentJson;
198
+ const tmpUrl = new URL(this._settings.url);
199
+ tmpUrl.pathname = `${tmpUrl.pathname}/${this._layerId}/query`;
200
+ tmpUrl.searchParams.append("where", "1=1");
201
+ tmpUrl.searchParams.append("outSR", "3857");
202
+ tmpUrl.searchParams.append("returnExtentOnly", "true");
203
+ tmpUrl.searchParams.append("f", "json");
204
+ const cached = ArcGisFeatureProvider._extentCache.get(tmpUrl.toString());
205
+ if (cached) {
206
+ extentJson = cached;
207
+ }
208
+ else {
209
+ const response = await this.fetch(tmpUrl, { method: "GET" });
210
+ extentJson = await response.json();
211
+ ArcGisFeatureProvider._extentCache.set(tmpUrl.toString(), extentJson);
212
+ }
213
+ return (extentJson ? extentJson.extent : undefined);
214
+ }
215
+ setCartoRangeFromExtentJson(extent) {
216
+ const range3857 = Range2d.createFrom({
217
+ low: { x: extent.xmin, y: extent.ymin },
218
+ high: { x: extent.xmax, y: extent.ymax },
219
+ });
220
+ const west = this.getEPSG4326Lon(range3857.xLow);
221
+ const south = this.getEPSG4326Lat(range3857.yLow);
222
+ const east = this.getEPSG4326Lon(range3857.xHigh);
223
+ const north = this.getEPSG4326Lat(range3857.yHigh);
224
+ this.cartoRange = MapCartoRectangle.fromDegrees(west, south, east, north);
159
225
  }
160
226
  async getLayerMetadata(layerId) {
161
227
  let metadata;
@@ -174,7 +240,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
174
240
  async constructUrl(_row, _column, _zoomLevel) {
175
241
  return "";
176
242
  }
177
- constructFeatureUrl(row, column, zoomLevel, format, geomOverride, outFields, tolerance, returnGeometry) {
243
+ constructFeatureUrl(row, column, zoomLevel, format, resultType, geomOverride, outFields, tolerance, returnGeometry, maxAllowableOffset) {
178
244
  const tileExtent = this.getEPSG3857Extent(row, column, zoomLevel);
179
245
  const tileEnvelope = {
180
246
  xmin: tileExtent.left, ymin: tileExtent.bottom,
@@ -194,7 +260,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
194
260
  }
195
261
  let quantizationParameters;
196
262
  const toleranceWorld = (tileExtent.top - tileExtent.bottom) / this.tileSize;
197
- if (this._supportsCoordinatesQuantization) {
263
+ if (resultType === "tile" && this._supportsCoordinatesQuantization) {
198
264
  quantizationParameters = {
199
265
  mode: "view",
200
266
  originPosition: "upperLeft",
@@ -202,15 +268,18 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
202
268
  extent: tileEnvelope,
203
269
  };
204
270
  }
205
- const url = new ArcGisFeatureQuery(this._settings.url, this._layerId, format, this._outSR, { geometry,
271
+ const url = new ArcGisFeatureQuery(this._settings.url, this._layerId, format, this._outSR, {
272
+ geometry,
206
273
  geometryType: "esriGeometryEnvelope",
207
274
  returnExceededLimitFeatures: false,
208
275
  maxRecordCountFactor: 3,
209
- resultType: "tile",
276
+ resultType,
210
277
  quantizationParameters,
211
278
  outFields,
212
279
  returnGeometry,
213
- distance: (tolerance ? tolerance * toleranceWorld : undefined) });
280
+ distance: (tolerance ? tolerance * toleranceWorld : undefined),
281
+ maxAllowableOffset,
282
+ });
214
283
  let envelope;
215
284
  if (geomOverride && geomOverride.type === "esriGeometryEnvelope") {
216
285
  envelope = geomOverride.geom;
@@ -221,16 +290,27 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
221
290
  return { url: url.toString(), envelope };
222
291
  }
223
292
  // Makes an identify request to ESRI MapService , and return it as a list MapLayerFeatureInfo object
224
- async getFeatureInfo(featureInfos, quadId, carto, _tree) {
293
+ async getFeatureInfo(featureInfos, quadId, carto, _tree, hit) {
225
294
  if (!this._querySupported || this.format === undefined)
226
295
  return;
227
- const cartoPoint = {
228
- x: this.getEPSG3857X(carto.longitudeDegrees),
229
- y: this.getEPSG3857Y(carto.latitudeDegrees),
230
- spatialReference: { wkid: 102100, latestWkid: 3857 },
296
+ const epsg3857X = this.getEPSG3857X(carto.longitudeDegrees);
297
+ const epsg3857Y = this.getEPSG3857Y(carto.latitudeDegrees);
298
+ const tileExtent = this.getEPSG3857Extent(quadId.row, quadId.column, quadId.level);
299
+ const tilePixelSize = (tileExtent.top - tileExtent.bottom) / this.tileSize;
300
+ const tolerancePixel = 3;
301
+ const toleranceWorld = tilePixelSize * tolerancePixel;
302
+ // Note: We used to pass a single point as the query 'geometry' and leverage the 'distance' parameter, turns
303
+ // out that approach was a lot slower on some server compared to using a single envelope.
304
+ const queryEnvelope = {
305
+ type: "esriGeometryEnvelope",
306
+ geom: {
307
+ xmin: epsg3857X - toleranceWorld, ymin: epsg3857Y - toleranceWorld,
308
+ xmax: epsg3857X + toleranceWorld, ymax: epsg3857Y + toleranceWorld,
309
+ spatialReference: { wkid: 102100, latestWkid: 3857 },
310
+ }
231
311
  };
232
312
  const doFeatureInfoQuery = async (format, outFields, returnGeometry) => {
233
- const infoUrl = this.constructFeatureUrl(quadId.row, quadId.column, quadId.level, format, { geom: cartoPoint, type: "esriGeometryPoint" }, outFields, 3 /* tolerance in pixel*/, returnGeometry);
313
+ const infoUrl = this.constructFeatureUrl(quadId.row, quadId.column, quadId.level, format, "standard", queryEnvelope, outFields, undefined, returnGeometry, toleranceWorld);
234
314
  if (!infoUrl || infoUrl.url.length === 0) {
235
315
  Logger.logError(loggerCategory, `Could not construct feature info query URL`);
236
316
  return undefined;
@@ -243,32 +323,36 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
243
323
  try {
244
324
  let responseData = await doFeatureInfoQuery("PBF", "", true);
245
325
  if (responseData) {
246
- Logger.logInfo(loggerCategory, JSON.stringify(responseData.data.toObject()));
326
+ const json = JSON.stringify(responseData.data.toObject());
327
+ Logger.logInfo(loggerCategory, json);
247
328
  }
248
329
  responseData = await doFeatureInfoQuery("JSON", "", true);
249
330
  if (responseData) {
250
- Logger.logInfo(loggerCategory, JSON.stringify(responseData.data));
331
+ const json = JSON.stringify(responseData.data);
332
+ Logger.logInfo(loggerCategory, json);
251
333
  }
252
334
  }
253
335
  catch (e) {
254
- Logger.logInfo(loggerCategory, `Error occured with debug FeatureInfo: ${e}`);
336
+ Logger.logInfo(loggerCategory, `Error occurred with debug FeatureInfo: ${e}`);
255
337
  }
256
338
  }
257
339
  try {
258
- const responseData = await doFeatureInfoQuery(this.format, "*", false);
340
+ // Feature Info requests are always made in JSON for now.
341
+ const responseData = await doFeatureInfoQuery("JSON", "*", true);
259
342
  if (!responseData) {
260
343
  Logger.logError(loggerCategory, `Could not get feature info data`);
261
344
  return;
262
345
  }
263
346
  if (responseData.exceedTransferLimit) {
264
- Logger.logError(loggerCategory, `Could not get feature info : transfert limit exeeded.`);
347
+ Logger.logError(loggerCategory, `Could not get feature info : transfer limit exceeded.`);
265
348
  return;
266
349
  }
267
- const featureReader = this.format === "PBF" ? new ArcGisFeaturePBF(this._settings, this._layerMetadata) : new ArcGisFeatureJSON(this._settings, this._layerMetadata);
268
- featureReader.readFeatureInfo(responseData, featureInfos);
350
+ const featureReader = new ArcGisJsonFeatureReader(this._settings, this._layerMetadata);
351
+ const renderer = new ArcGisGraphicsRenderer(hit.iModel);
352
+ await featureReader.readFeatureInfo(responseData, featureInfos, renderer);
269
353
  }
270
354
  catch (e) {
271
- Logger.logError(loggerCategory, `Exception occured while loading feature info data : ${e}`);
355
+ Logger.logError(loggerCategory, `Exception occurred while loading feature info data : ${e}`);
272
356
  return;
273
357
  }
274
358
  return;
@@ -278,7 +362,13 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
278
362
  return undefined;
279
363
  }
280
364
  const geomOverride = (refineEnvelope ? { geom: refineEnvelope, type: "esriGeometryEnvelope" } : undefined);
281
- const tileUrl = this.constructFeatureUrl(row, column, zoomLevel, this.format, geomOverride);
365
+ let outFields;
366
+ if (this._renderer?.type === "uniqueValue") {
367
+ const uvRenderer = this._renderer;
368
+ if (uvRenderer.field1)
369
+ outFields = uvRenderer.field1;
370
+ }
371
+ const tileUrl = this.constructFeatureUrl(row, column, zoomLevel, this.format, "tile", geomOverride, outFields);
282
372
  if (!tileUrl || tileUrl.url.length === 0) {
283
373
  Logger.logError(loggerCategory, `Could not construct feature query URL for tile ${zoomLevel}/${row}/${column}`);
284
374
  return undefined;
@@ -325,10 +415,6 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
325
415
  Logger.logError(loggerCategory, "No canvas context available for loading tile.");
326
416
  return undefined;
327
417
  }
328
- if (!this._symbologyRenderer) {
329
- Logger.logError(loggerCategory, "No symbology renderer available for loading tile.");
330
- return undefined;
331
- }
332
418
  try {
333
419
  // Compute transform if CoordinatesQuantization is not supported by service
334
420
  let transfo;
@@ -338,8 +424,10 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
338
424
  Logger.logError(loggerCategory, `Could not compute data transformation for tile (${zoomLevel}/${row}/${column})`);
339
425
  }
340
426
  }
341
- const renderer = new ArcGisFeatureRenderer(ctx, this._symbologyRenderer, transfo);
342
- const featureReader = this.format === "PBF" ? new ArcGisFeaturePBF(this._settings, this._layerMetadata) : new ArcGisFeatureJSON(this._settings, this._layerMetadata);
427
+ // Create the renderer
428
+ const symbRenderer = ArcGisSymbologyRenderer.create(this._renderer, this._defaultSymbol);
429
+ const renderer = new ArcGisCanvasRenderer(ctx, symbRenderer, transfo);
430
+ const featureReader = this.format === "PBF" ? new ArcGisPbfFeatureReader(this._settings, this._layerMetadata) : new ArcGisJsonFeatureReader(this._settings, this._layerMetadata);
343
431
  const getSubEnvelopes = (envelope) => {
344
432
  const dx = (envelope.xmax - envelope.xmin) * 0.5;
345
433
  const dy = (envelope.xmax - envelope.xmin) * 0.5;
@@ -392,7 +480,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
392
480
  }
393
481
  }
394
482
  else {
395
- featureReader.readAndRender(responseData, renderer);
483
+ await featureReader.readAndRender(responseData, renderer);
396
484
  }
397
485
  };
398
486
  await renderData();
@@ -414,6 +502,30 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
414
502
  return undefined;
415
503
  }
416
504
  }
417
- ArcGisFeatureProvider._nbSubTiles = 2;
505
+ _a = ArcGisFeatureProvider;
506
+ ArcGisFeatureProvider._nbSubTiles = 2; // Number of subtiles for a single axis
507
+ ArcGisFeatureProvider.defaultPMS = {
508
+ type: "esriPMS",
509
+ url: "",
510
+ contentType: "image/png",
511
+ 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",
512
+ width: 16,
513
+ height: 16,
514
+ xoffset: -8,
515
+ yoffset: -16,
516
+ };
517
+ ArcGisFeatureProvider.defaultSLS = {
518
+ type: "esriSLS",
519
+ color: [0, 0, 0, 255],
520
+ width: 1,
521
+ style: "esriSLSSolid",
522
+ };
523
+ ArcGisFeatureProvider.defaultSFS = {
524
+ type: "esriSFS",
525
+ color: [0, 0, 255, 255],
526
+ style: "esriSFSSolid",
527
+ outline: _a.defaultSLS,
528
+ };
529
+ ArcGisFeatureProvider._extentCache = new Map();
418
530
  export { ArcGisFeatureProvider };
419
531
  //# sourceMappingURL=ArcGisFeatureProvider.js.map