@itwin/map-layers-formats 4.0.0-dev.1 → 4.0.0-dev.100

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 (181) hide show
  1. package/.rush/temp/operation/build/all.log +3 -0
  2. package/.rush/temp/operation/build/state.json +3 -0
  3. package/.rush/temp/operation/cover/all.log +98 -0
  4. package/.rush/temp/operation/cover/state.json +1 -1
  5. package/.rush/temp/operation/docs/all.log +30 -0
  6. package/.rush/temp/operation/docs/state.json +1 -1
  7. package/.rush/temp/{package-deps_build_ci.json → package-deps_build.json} +13 -13
  8. package/.rush/temp/package-deps_cover.json +12 -12
  9. package/.rush/temp/package-deps_docs.json +12 -12
  10. package/.rush/temp/shrinkwrap-deps.json +204 -54
  11. package/CHANGELOG.json +69 -0
  12. package/CHANGELOG.md +54 -1
  13. package/config/rush-project.json +1 -2
  14. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  15. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js +14 -14
  16. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  17. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  18. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js +132 -134
  19. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
  20. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  21. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +1 -1
  22. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +200 -205
  23. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
  24. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  25. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
  26. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +421 -426
  27. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  28. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  29. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  30. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js +82 -82
  31. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  32. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js +33 -33
  33. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  34. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js +142 -142
  35. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  36. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  37. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js +42 -43
  38. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
  39. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  40. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  41. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +189 -192
  42. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  43. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  44. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.d.ts.map +1 -1
  45. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js +2267 -2270
  46. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
  47. package/lib/cjs/map-layers-formats.d.ts +8 -8
  48. package/lib/cjs/map-layers-formats.js +28 -24
  49. package/lib/cjs/map-layers-formats.js.map +1 -1
  50. package/lib/cjs/mapLayersFormats.d.ts +10 -10
  51. package/lib/cjs/mapLayersFormats.js +28 -28
  52. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  53. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +34 -34
  54. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  55. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js +161 -161
  56. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  57. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js +167 -167
  58. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  59. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +679 -680
  60. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  61. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  62. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js +103 -103
  63. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  64. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +214 -214
  65. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  66. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +94 -94
  67. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
  68. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  69. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +59 -59
  70. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts +6 -6
  71. package/lib/cjs/test/ArcGisFeature/Mocks.js +18 -18
  72. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  73. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts.map +1 -1
  74. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js +419 -419
  75. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  76. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  77. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +1 -1
  78. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js +426 -426
  79. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  80. package/lib/cjs/test/coverage/.nyc_output/bd2a5894-ab2c-4c90-bfb9-f545c1f3c3ad.json +1 -0
  81. package/lib/cjs/test/coverage/.nyc_output/processinfo/b5a5c114-6a90-41f0-ad7b-9ba31cc9d9d3.json +1 -0
  82. package/lib/cjs/test/coverage/.nyc_output/processinfo/bd2a5894-ab2c-4c90-bfb9-f545c1f3c3ad.json +1 -0
  83. package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +1 -1
  84. package/lib/cjs/test/coverage/cobertura-coverage.xml +229 -236
  85. package/lib/cjs/test/coverage/lcov-report/index.html +14 -14
  86. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +1 -1
  87. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +10 -10
  88. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +16 -22
  89. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +16 -28
  90. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +1 -1
  91. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +1 -1
  92. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +1 -1
  93. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +4 -4
  94. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +8 -8
  95. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +29 -29
  96. package/lib/cjs/test/coverage/lcov-report/src/index.html +1 -1
  97. package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +1 -1
  98. package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +1 -1
  99. package/lib/cjs/test/coverage/lcov.info +514 -697
  100. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  101. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  102. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js +11 -10
  103. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  104. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  105. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js +128 -130
  106. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
  107. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  108. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +1 -1
  109. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +196 -201
  110. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
  111. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  112. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
  113. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +418 -422
  114. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  115. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  116. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  117. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js +78 -78
  118. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  119. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +29 -29
  120. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  121. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js +138 -138
  122. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  123. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  124. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js +38 -39
  125. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
  126. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  127. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  128. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +183 -185
  129. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  130. package/lib/esm/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  131. package/lib/esm/ArcGisFeature/esriPBuffer.gen.d.ts.map +1 -1
  132. package/lib/esm/ArcGisFeature/esriPBuffer.gen.js +2264 -2267
  133. package/lib/esm/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
  134. package/lib/esm/map-layers-formats.d.ts +8 -8
  135. package/lib/esm/map-layers-formats.js +12 -12
  136. package/lib/esm/mapLayersFormats.d.ts +10 -10
  137. package/lib/esm/mapLayersFormats.js +24 -24
  138. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  139. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +32 -32
  140. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  141. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js +159 -159
  142. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  143. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js +165 -165
  144. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  145. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +677 -678
  146. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  147. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  148. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js +101 -101
  149. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  150. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +212 -212
  151. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  152. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +92 -92
  153. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
  154. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  155. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +57 -57
  156. package/lib/esm/test/ArcGisFeature/Mocks.d.ts +6 -6
  157. package/lib/esm/test/ArcGisFeature/Mocks.js +15 -15
  158. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  159. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts.map +1 -1
  160. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js +416 -415
  161. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  162. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  163. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +1 -1
  164. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js +423 -422
  165. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  166. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  167. package/lib/test/junit_results.xml +43 -43
  168. package/map-layers-formats.build.log +2 -2
  169. package/package.json +18 -19
  170. package/src/ArcGisFeature/ArcGisFeaturePBF.ts +3 -5
  171. package/src/ArcGisFeature/ArcGisFeatureProvider.ts +1 -5
  172. package/src/ArcGisFeature/esriPBuffer.gen.ts +1 -4
  173. package/src/test/ArcGisFeature/ArcGisFeatureProvider.test.ts +21 -21
  174. package/src/test/ArcGisFeature/NewYorkDataset.ts +187 -187
  175. package/src/test/ArcGisFeature/PhillyLandmarksDataset.ts +4 -4
  176. package/tsconfig.json +1 -2
  177. package/.rush/temp/operation/build_ci/state.json +0 -3
  178. package/lib/cjs/test/coverage/.nyc_output/076f01d3-f97f-4be1-bb26-ced6ce465355.json +0 -1
  179. package/lib/cjs/test/coverage/.nyc_output/processinfo/076f01d3-f97f-4be1-bb26-ced6ce465355.json +0 -1
  180. package/lib/cjs/test/coverage/.nyc_output/processinfo/722f7ba4-f4d4-48f9-bd83-5d50f87f28e7.json +0 -1
  181. /package/lib/cjs/test/coverage/.nyc_output/{722f7ba4-f4d4-48f9-bd83-5d50f87f28e7.json → b5a5c114-6a90-41f0-ad7b-9ba31cc9d9d3.json} +0 -0
package/CHANGELOG.json CHANGED
@@ -1,6 +1,75 @@
1
1
  {
2
2
  "name": "@itwin/map-layers-formats",
3
3
  "entries": [
4
+ {
5
+ "version": "3.7.4",
6
+ "tag": "@itwin/map-layers-formats_v3.7.4",
7
+ "date": "Tue, 25 Apr 2023 17:50:35 GMT",
8
+ "comments": {}
9
+ },
10
+ {
11
+ "version": "3.7.3",
12
+ "tag": "@itwin/map-layers-formats_v3.7.3",
13
+ "date": "Thu, 20 Apr 2023 13:19:29 GMT",
14
+ "comments": {}
15
+ },
16
+ {
17
+ "version": "3.7.2",
18
+ "tag": "@itwin/map-layers-formats_v3.7.2",
19
+ "date": "Wed, 12 Apr 2023 13:12:42 GMT",
20
+ "comments": {}
21
+ },
22
+ {
23
+ "version": "3.7.1",
24
+ "tag": "@itwin/map-layers-formats_v3.7.1",
25
+ "date": "Mon, 03 Apr 2023 15:15:37 GMT",
26
+ "comments": {}
27
+ },
28
+ {
29
+ "version": "3.7.0",
30
+ "tag": "@itwin/map-layers-formats_v3.7.0",
31
+ "date": "Wed, 29 Mar 2023 15:02:27 GMT",
32
+ "comments": {}
33
+ },
34
+ {
35
+ "version": "3.6.3",
36
+ "tag": "@itwin/map-layers-formats_v3.6.3",
37
+ "date": "Mon, 27 Mar 2023 16:26:47 GMT",
38
+ "comments": {}
39
+ },
40
+ {
41
+ "version": "3.6.2",
42
+ "tag": "@itwin/map-layers-formats_v3.6.2",
43
+ "date": "Fri, 17 Mar 2023 17:52:32 GMT",
44
+ "comments": {}
45
+ },
46
+ {
47
+ "version": "3.6.1",
48
+ "tag": "@itwin/map-layers-formats_v3.6.1",
49
+ "date": "Fri, 24 Feb 2023 22:00:48 GMT",
50
+ "comments": {}
51
+ },
52
+ {
53
+ "version": "3.6.0",
54
+ "tag": "@itwin/map-layers-formats_v3.6.0",
55
+ "date": "Wed, 08 Feb 2023 14:58:40 GMT",
56
+ "comments": {
57
+ "none": [
58
+ {
59
+ "comment": "Allow map-layer requiring authentication to be correctly initialized after a saved view restore."
60
+ },
61
+ {
62
+ "comment": "Map-layers oauth2 requests optimization and improvements"
63
+ }
64
+ ]
65
+ }
66
+ },
67
+ {
68
+ "version": "3.5.6",
69
+ "tag": "@itwin/map-layers-formats_v3.5.6",
70
+ "date": "Fri, 24 Feb 2023 16:02:47 GMT",
71
+ "comments": {}
72
+ },
4
73
  {
5
74
  "version": "3.5.5",
6
75
  "tag": "@itwin/map-layers-formats_v3.5.5",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,59 @@
1
1
  # Change Log - @itwin/map-layers-formats
2
2
 
3
- This log was last generated on Thu, 26 Jan 2023 22:53:27 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 25 Apr 2023 17:50:35 GMT and should not be manually modified.
4
+
5
+ ## 3.7.4
6
+ Tue, 25 Apr 2023 17:50:35 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 3.7.3
11
+ Thu, 20 Apr 2023 13:19:29 GMT
12
+
13
+ _Version update only_
14
+
15
+ ## 3.7.2
16
+ Wed, 12 Apr 2023 13:12:42 GMT
17
+
18
+ _Version update only_
19
+
20
+ ## 3.7.1
21
+ Mon, 03 Apr 2023 15:15:37 GMT
22
+
23
+ _Version update only_
24
+
25
+ ## 3.7.0
26
+ Wed, 29 Mar 2023 15:02:27 GMT
27
+
28
+ _Version update only_
29
+
30
+ ## 3.6.3
31
+ Mon, 27 Mar 2023 16:26:47 GMT
32
+
33
+ _Version update only_
34
+
35
+ ## 3.6.2
36
+ Fri, 17 Mar 2023 17:52:32 GMT
37
+
38
+ _Version update only_
39
+
40
+ ## 3.6.1
41
+ Fri, 24 Feb 2023 22:00:48 GMT
42
+
43
+ _Version update only_
44
+
45
+ ## 3.6.0
46
+ Wed, 08 Feb 2023 14:58:40 GMT
47
+
48
+ ### Updates
49
+
50
+ - Allow map-layer requiring authentication to be correctly initialized after a saved view restore.
51
+ - Map-layers oauth2 requests optimization and improvements
52
+
53
+ ## 3.5.6
54
+ Fri, 24 Feb 2023 16:02:47 GMT
55
+
56
+ _Version update only_
4
57
 
5
58
  ## 3.5.5
6
59
  Thu, 26 Jan 2023 22:53:27 GMT
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-project.schema.json",
3
3
  "operationSettings": [
4
- { "operationName": "build", "outputFolderNames": ["lib"] },
5
- { "operationName": "build:ci", "outputFolderNames": ["lib"] }
4
+ { "operationName": "build", "outputFolderNames": ["lib"] }
6
5
  ]
7
6
  }
@@ -1,9 +1,9 @@
1
- import { ImageMapLayerSettings } from "@itwin/core-common";
2
- import { ImageryMapLayerFormat, MapLayerImageryProvider, MapLayerSourceValidation } from "@itwin/core-frontend";
3
- /** @internal */
4
- export declare class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {
5
- static formatId: string;
6
- static createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined;
7
- static validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation>;
8
- }
1
+ import { ImageMapLayerSettings } from "@itwin/core-common";
2
+ import { ImageryMapLayerFormat, MapLayerImageryProvider, MapLayerSourceValidation } from "@itwin/core-frontend";
3
+ /** @internal */
4
+ export declare class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {
5
+ static formatId: string;
6
+ static createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined;
7
+ static validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation>;
8
+ }
9
9
  //# sourceMappingURL=ArcGisFeatureFormat.d.ts.map
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArcGisFeatureMapLayerFormat = void 0;
4
- const core_frontend_1 = require("@itwin/core-frontend");
5
- const ArcGisFeatureProvider_1 = require("./ArcGisFeatureProvider");
6
- /** @internal */
7
- class ArcGisFeatureMapLayerFormat extends core_frontend_1.ImageryMapLayerFormat {
8
- static createImageryProvider(settings) { return new ArcGisFeatureProvider_1.ArcGisFeatureProvider(settings); }
9
- static async validateSource(url, userName, password, ignoreCache) {
10
- return core_frontend_1.ArcGisUtilities.validateSource(url, this.formatId, ["query"], userName, password, ignoreCache);
11
- }
12
- }
13
- exports.ArcGisFeatureMapLayerFormat = ArcGisFeatureMapLayerFormat;
14
- ArcGisFeatureMapLayerFormat.formatId = "ArcGISFeature";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArcGisFeatureMapLayerFormat = void 0;
4
+ const core_frontend_1 = require("@itwin/core-frontend");
5
+ const ArcGisFeatureProvider_1 = require("./ArcGisFeatureProvider");
6
+ /** @internal */
7
+ class ArcGisFeatureMapLayerFormat extends core_frontend_1.ImageryMapLayerFormat {
8
+ static createImageryProvider(settings) { return new ArcGisFeatureProvider_1.ArcGisFeatureProvider(settings); }
9
+ static async validateSource(url, userName, password, ignoreCache) {
10
+ return core_frontend_1.ArcGisUtilities.validateSource(url, this.formatId, ["query"], userName, password, ignoreCache);
11
+ }
12
+ }
13
+ ArcGisFeatureMapLayerFormat.formatId = "ArcGISFeature";
14
+ exports.ArcGisFeatureMapLayerFormat = ArcGisFeatureMapLayerFormat;
15
15
  //# sourceMappingURL=ArcGisFeatureFormat.js.map
@@ -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;;AALH,kEAMC;AALwB,oCAAQ,GAAG,eAAe,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\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,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,15 +1,15 @@
1
- import { ImageMapLayerSettings } from "@itwin/core-common";
2
- import { MapLayerFeatureInfo } from "@itwin/core-frontend";
3
- import { Transform } from "@itwin/core-geometry";
4
- import { ArcGisFeatureReader } from "./ArcGisFeatureReader";
5
- import { ArcGisFeatureRenderer } from "./ArcGisFeatureRenderer";
6
- import { ArcGisResponseData } from "./ArcGisFeatureResponse";
7
- /** @internal */
8
- export declare class ArcGisFeatureJSON extends ArcGisFeatureReader {
9
- transform: Transform | undefined;
10
- constructor(settings: ImageMapLayerSettings, layerMetadata: any);
11
- readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer): void;
12
- protected static deflateCoordinates(coordinates: number[][], flatCoordinates: number[], stride: number, offset: number): number;
13
- readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]): void;
14
- }
1
+ import { ImageMapLayerSettings } from "@itwin/core-common";
2
+ import { MapLayerFeatureInfo } from "@itwin/core-frontend";
3
+ import { Transform } from "@itwin/core-geometry";
4
+ import { ArcGisFeatureReader } from "./ArcGisFeatureReader";
5
+ import { ArcGisFeatureRenderer } from "./ArcGisFeatureRenderer";
6
+ import { ArcGisResponseData } from "./ArcGisFeatureResponse";
7
+ /** @internal */
8
+ export declare class ArcGisFeatureJSON extends ArcGisFeatureReader {
9
+ transform: Transform | undefined;
10
+ constructor(settings: ImageMapLayerSettings, layerMetadata: any);
11
+ readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer): void;
12
+ protected static deflateCoordinates(coordinates: number[][], flatCoordinates: number[], stride: number, offset: number): number;
13
+ readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]): void;
14
+ }
15
15
  //# sourceMappingURL=ArcGisFeatureJSON.d.ts.map
@@ -1,135 +1,133 @@
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.ArcGisFeatureJSON = void 0;
8
- const appui_abstract_1 = require("@itwin/appui-abstract");
9
- const core_frontend_1 = require("@itwin/core-frontend");
10
- const ArcGisFeatureReader_1 = require("./ArcGisFeatureReader");
11
- /** @internal */
12
- class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
13
- constructor(settings, layerMetadata) {
14
- super(settings, layerMetadata);
15
- }
16
- readAndRender(response, renderer) {
17
- var _a, _b, _c, _d;
18
- const responseObj = response.data;
19
- if ((responseObj === null || responseObj === void 0 ? void 0 : responseObj.geometryType) === "esriGeometryPolyline" || (responseObj === null || responseObj === void 0 ? void 0 : responseObj.geometryType) === "esriGeometryPolygon") {
20
- const fill = (responseObj.geometryType === "esriGeometryPolygon");
21
- for (const feature of responseObj.features) {
22
- let offset = 0;
23
- const lengths = [];
24
- const coords = [];
25
- if ((_a = feature === null || feature === void 0 ? void 0 : feature.geometry) === null || _a === void 0 ? void 0 : _a.rings) {
26
- for (const ring of (_b = feature === null || feature === void 0 ? void 0 : feature.geometry) === null || _b === void 0 ? void 0 : _b.rings) {
27
- offset = ArcGisFeatureJSON.deflateCoordinates(ring, coords, 2, offset);
28
- lengths.push(ring.length);
29
- }
30
- }
31
- else if ((_c = feature === null || feature === void 0 ? void 0 : feature.geometry) === null || _c === void 0 ? void 0 : _c.paths) {
32
- for (const path of (_d = feature === null || feature === void 0 ? void 0 : feature.geometry) === null || _d === void 0 ? void 0 : _d.paths) {
33
- offset = ArcGisFeatureJSON.deflateCoordinates(path, coords, 2, offset);
34
- lengths.push(path.length);
35
- }
36
- }
37
- renderer.renderPath(lengths, coords, fill, 2, renderer.transform === undefined);
38
- }
39
- }
40
- else if ((responseObj === null || responseObj === void 0 ? void 0 : responseObj.geometryType) === "esriGeometryPoint" || (responseObj === null || responseObj === void 0 ? void 0 : responseObj.geometryType) === "esriGeometryMultiPoint") {
41
- for (const feature of responseObj.features) {
42
- // TODO: Add support for multipoint
43
- if (feature.geometry) {
44
- const lengths = [];
45
- const coords = [feature.geometry.x, feature.geometry.y];
46
- renderer.renderPoint(lengths, coords, 2, renderer.transform === undefined);
47
- }
48
- }
49
- }
50
- }
51
- // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]
52
- // stride is the number of dimensions
53
- // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26
54
- static deflateCoordinates(coordinates, flatCoordinates, stride, offset) {
55
- for (let i = 0, ii = coordinates.length; i < ii; ++i) {
56
- const coordinate = coordinates[i];
57
- for (let j = 0; j < stride; ++j)
58
- flatCoordinates[offset++] = coordinate[j];
59
- }
60
- return offset;
61
- }
62
- readFeatureInfo(response, featureInfos) {
63
- var _a;
64
- const responseObj = response.data;
65
- if (responseObj === undefined || !Array.isArray(responseObj.features))
66
- return;
67
- const layerInfo = { layerName: this._settings.name };
68
- // Create a signature index for every field name / type.
69
- const fieldsType = {};
70
- for (const fieldInfo of responseObj.fields) {
71
- fieldsType[fieldInfo.name] = fieldInfo.type;
72
- }
73
- const getStandardTypeName = (fieldType) => {
74
- switch (fieldType) {
75
- case "esriFieldTypeInteger":
76
- case "esriFieldTypeSmallInteger":
77
- case "esriFieldTypeOID":
78
- return appui_abstract_1.StandardTypeNames.Integer;
79
- case "esriFieldTypeDouble":
80
- return appui_abstract_1.StandardTypeNames.Double;
81
- case "esriFieldTypeSingle":
82
- return appui_abstract_1.StandardTypeNames.Float;
83
- case "esriFieldTypeDate":
84
- return appui_abstract_1.StandardTypeNames.DateTime;
85
- default:
86
- return appui_abstract_1.StandardTypeNames.String;
87
- }
88
- };
89
- const getRecordInfo = (fieldName, value) => {
90
- const propertyValue = { valueFormat: appui_abstract_1.PropertyValueFormat.Primitive };
91
- if (value === null) {
92
- value = undefined;
93
- }
94
- const strValue = `${value}`;
95
- const fieldType = fieldsType[fieldName];
96
- switch (fieldType) {
97
- case "esriFieldTypeInteger":
98
- case "esriFieldTypeSmallInteger":
99
- case "esriFieldTypeOID":
100
- propertyValue.value = value;
101
- break;
102
- case "esriFieldTypeDouble":
103
- case "esriFieldTypeSingle":
104
- propertyValue.value = this.toFixedWithoutPadding(value);
105
- break;
106
- case "esriFieldTypeDate":
107
- propertyValue.value = new Date(value);
108
- break;
109
- default:
110
- if (value !== undefined)
111
- propertyValue.value = strValue;
112
- break;
113
- }
114
- const typename = getStandardTypeName(fieldType);
115
- propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);
116
- return new core_frontend_1.MapFeatureInfoRecord(propertyValue, { name: fieldName, displayLabel: fieldName, typename });
117
- };
118
- for (const feature of responseObj.features) {
119
- const subLayerInfo = {
120
- subLayerName: this._layerMetadata.name,
121
- displayFieldName: this._layerMetadata.name,
122
- records: [],
123
- };
124
- for (const [key, value] of Object.entries(feature.attributes))
125
- (_a = subLayerInfo.records) === null || _a === void 0 ? void 0 : _a.push(getRecordInfo(key, value));
126
- if (layerInfo.info === undefined)
127
- layerInfo.info = [];
128
- if (!(layerInfo.info instanceof HTMLElement))
129
- layerInfo.info.push(subLayerInfo);
130
- }
131
- featureInfos.push(layerInfo);
132
- }
133
- }
134
- exports.ArcGisFeatureJSON = ArcGisFeatureJSON;
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.ArcGisFeatureJSON = void 0;
8
+ const appui_abstract_1 = require("@itwin/appui-abstract");
9
+ const core_frontend_1 = require("@itwin/core-frontend");
10
+ const ArcGisFeatureReader_1 = require("./ArcGisFeatureReader");
11
+ /** @internal */
12
+ class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
13
+ constructor(settings, layerMetadata) {
14
+ super(settings, layerMetadata);
15
+ }
16
+ readAndRender(response, renderer) {
17
+ const responseObj = response.data;
18
+ if (responseObj?.geometryType === "esriGeometryPolyline" || responseObj?.geometryType === "esriGeometryPolygon") {
19
+ const fill = (responseObj.geometryType === "esriGeometryPolygon");
20
+ for (const feature of responseObj.features) {
21
+ let offset = 0;
22
+ const lengths = [];
23
+ const coords = [];
24
+ if (feature?.geometry?.rings) {
25
+ for (const ring of feature?.geometry?.rings) {
26
+ offset = ArcGisFeatureJSON.deflateCoordinates(ring, coords, 2, offset);
27
+ lengths.push(ring.length);
28
+ }
29
+ }
30
+ else if (feature?.geometry?.paths) {
31
+ for (const path of feature?.geometry?.paths) {
32
+ offset = ArcGisFeatureJSON.deflateCoordinates(path, coords, 2, offset);
33
+ lengths.push(path.length);
34
+ }
35
+ }
36
+ renderer.renderPath(lengths, coords, fill, 2, renderer.transform === undefined);
37
+ }
38
+ }
39
+ else if (responseObj?.geometryType === "esriGeometryPoint" || responseObj?.geometryType === "esriGeometryMultiPoint") {
40
+ for (const feature of responseObj.features) {
41
+ // TODO: Add support for multipoint
42
+ if (feature.geometry) {
43
+ const lengths = [];
44
+ const coords = [feature.geometry.x, feature.geometry.y];
45
+ renderer.renderPoint(lengths, coords, 2, renderer.transform === undefined);
46
+ }
47
+ }
48
+ }
49
+ }
50
+ // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]
51
+ // stride is the number of dimensions
52
+ // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26
53
+ static deflateCoordinates(coordinates, flatCoordinates, stride, offset) {
54
+ for (let i = 0, ii = coordinates.length; i < ii; ++i) {
55
+ const coordinate = coordinates[i];
56
+ for (let j = 0; j < stride; ++j)
57
+ flatCoordinates[offset++] = coordinate[j];
58
+ }
59
+ return offset;
60
+ }
61
+ readFeatureInfo(response, featureInfos) {
62
+ const responseObj = response.data;
63
+ if (responseObj === undefined || !Array.isArray(responseObj.features))
64
+ return;
65
+ const layerInfo = { layerName: this._settings.name };
66
+ // Create a signature index for every field name / type.
67
+ const fieldsType = {};
68
+ for (const fieldInfo of responseObj.fields) {
69
+ fieldsType[fieldInfo.name] = fieldInfo.type;
70
+ }
71
+ const getStandardTypeName = (fieldType) => {
72
+ switch (fieldType) {
73
+ case "esriFieldTypeInteger":
74
+ case "esriFieldTypeSmallInteger":
75
+ case "esriFieldTypeOID":
76
+ return appui_abstract_1.StandardTypeNames.Integer;
77
+ case "esriFieldTypeDouble":
78
+ return appui_abstract_1.StandardTypeNames.Double;
79
+ case "esriFieldTypeSingle":
80
+ return appui_abstract_1.StandardTypeNames.Float;
81
+ case "esriFieldTypeDate":
82
+ return appui_abstract_1.StandardTypeNames.DateTime;
83
+ default:
84
+ return appui_abstract_1.StandardTypeNames.String;
85
+ }
86
+ };
87
+ const getRecordInfo = (fieldName, value) => {
88
+ const propertyValue = { valueFormat: appui_abstract_1.PropertyValueFormat.Primitive };
89
+ if (value === null) {
90
+ value = undefined;
91
+ }
92
+ const strValue = `${value}`;
93
+ const fieldType = fieldsType[fieldName];
94
+ switch (fieldType) {
95
+ case "esriFieldTypeInteger":
96
+ case "esriFieldTypeSmallInteger":
97
+ case "esriFieldTypeOID":
98
+ propertyValue.value = value;
99
+ break;
100
+ case "esriFieldTypeDouble":
101
+ case "esriFieldTypeSingle":
102
+ propertyValue.value = this.toFixedWithoutPadding(value);
103
+ break;
104
+ case "esriFieldTypeDate":
105
+ propertyValue.value = new Date(value);
106
+ break;
107
+ default:
108
+ if (value !== undefined)
109
+ propertyValue.value = strValue;
110
+ break;
111
+ }
112
+ const typename = getStandardTypeName(fieldType);
113
+ propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);
114
+ return new core_frontend_1.MapFeatureInfoRecord(propertyValue, { name: fieldName, displayLabel: fieldName, typename });
115
+ };
116
+ for (const feature of responseObj.features) {
117
+ const subLayerInfo = {
118
+ subLayerName: this._layerMetadata.name,
119
+ displayFieldName: this._layerMetadata.name,
120
+ records: [],
121
+ };
122
+ for (const [key, value] of Object.entries(feature.attributes))
123
+ subLayerInfo.records?.push(getRecordInfo(key, value));
124
+ if (layerInfo.info === undefined)
125
+ layerInfo.info = [];
126
+ if (!(layerInfo.info instanceof HTMLElement))
127
+ layerInfo.info.push(subLayerInfo);
128
+ }
129
+ featureInfos.push(layerInfo);
130
+ }
131
+ }
132
+ exports.ArcGisFeatureJSON = ArcGisFeatureJSON;
135
133
  //# sourceMappingURL=ArcGisFeatureJSON.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisFeatureJSON.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureJSON.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { PrimitiveValue, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\r\nimport { MapFeatureInfoRecord, MapLayerFeatureInfo, MapSubLayerFeatureInfo } from \"@itwin/core-frontend\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ArcGisFeatureReader } from \"./ArcGisFeatureReader\";\r\nimport { ArcGisFeatureRenderer } from \"./ArcGisFeatureRenderer\";\r\nimport { ArcGisFieldType, ArcGisResponseData } from \"./ArcGisFeatureResponse\";\r\n\r\n/** @internal */\r\nexport class ArcGisFeatureJSON extends ArcGisFeatureReader {\r\n public transform: Transform|undefined;\r\n\r\n public constructor(settings: ImageMapLayerSettings, layerMetadata: any) {\r\n super(settings, layerMetadata);\r\n }\r\n\r\n public readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer) {\r\n const responseObj = response.data;\r\n\r\n if (responseObj?.geometryType === \"esriGeometryPolyline\" || responseObj?.geometryType === \"esriGeometryPolygon\") {\r\n const fill = (responseObj.geometryType === \"esriGeometryPolygon\");\r\n for (const feature of responseObj.features) {\r\n let offset = 0;\r\n const lengths: number[] = [];\r\n const coords: number[] = [];\r\n\r\n if (feature?.geometry?.rings) {\r\n for (const ring of feature?.geometry?.rings) {\r\n offset = ArcGisFeatureJSON.deflateCoordinates(ring, coords, 2, offset);\r\n lengths.push(ring.length);\r\n }\r\n } else if (feature?.geometry?.paths) {\r\n for (const path of feature?.geometry?.paths) {\r\n offset = ArcGisFeatureJSON.deflateCoordinates(path, coords, 2, offset);\r\n lengths.push(path.length);\r\n }\r\n }\r\n renderer.renderPath(lengths, coords, fill, 2, renderer.transform === undefined);\r\n\r\n }\r\n } else if (responseObj?.geometryType === \"esriGeometryPoint\" || responseObj?.geometryType === \"esriGeometryMultiPoint\") {\r\n for (const feature of responseObj.features) {\r\n // TODO: Add support for multipoint\r\n if (feature.geometry) {\r\n const lengths: number[] = [];\r\n const coords: number[] = [feature.geometry.x, feature.geometry.y];\r\n renderer.renderPoint(lengths, coords, 2, renderer.transform === undefined);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]\r\n // stride is the number of dimensions\r\n // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26\r\n protected static deflateCoordinates( coordinates: number[][], flatCoordinates: number[], stride: number, offset: number) {\r\n for (let i = 0, ii = coordinates.length; i < ii; ++i) {\r\n const coordinate = coordinates[i];\r\n for (let j = 0; j < stride; ++j)\r\n flatCoordinates[offset++] = coordinate[j];\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n public readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]) {\r\n const responseObj = response.data;\r\n if (responseObj === undefined || !Array.isArray(responseObj.features))\r\n return;\r\n\r\n const layerInfo: MapLayerFeatureInfo = {layerName: this._settings.name};\r\n\r\n // Create a signature index for every field name / type.\r\n const fieldsType: {[key: string]: ArcGisFieldType} = {};\r\n for (const fieldInfo of responseObj.fields) {\r\n fieldsType[fieldInfo.name] = fieldInfo.type;\r\n }\r\n\r\n const getStandardTypeName = (fieldType: ArcGisFieldType) => {\r\n switch (fieldType) {\r\n case \"esriFieldTypeInteger\":\r\n case \"esriFieldTypeSmallInteger\":\r\n case \"esriFieldTypeOID\":\r\n return StandardTypeNames.Integer;\r\n case \"esriFieldTypeDouble\":\r\n return StandardTypeNames.Double;\r\n case \"esriFieldTypeSingle\":\r\n return StandardTypeNames.Float;\r\n case \"esriFieldTypeDate\":\r\n return StandardTypeNames.DateTime;\r\n default:\r\n return StandardTypeNames.String;\r\n }\r\n };\r\n\r\n const getRecordInfo = (fieldName: string, value: any) => {\r\n const propertyValue: PrimitiveValue = {valueFormat: PropertyValueFormat.Primitive};\r\n\r\n if (value === null) {\r\n value = undefined;\r\n }\r\n\r\n const strValue = `${value}`;\r\n const fieldType = fieldsType[fieldName];\r\n switch (fieldType) {\r\n case \"esriFieldTypeInteger\":\r\n case \"esriFieldTypeSmallInteger\":\r\n case \"esriFieldTypeOID\":\r\n propertyValue.value = value as number;\r\n break;\r\n case \"esriFieldTypeDouble\":\r\n case \"esriFieldTypeSingle\":\r\n propertyValue.value = this.toFixedWithoutPadding(value);\r\n break;\r\n case \"esriFieldTypeDate\":\r\n propertyValue.value = new Date(value);\r\n break;\r\n default:\r\n if (value !== undefined)\r\n propertyValue.value = strValue;\r\n\r\n break;\r\n }\r\n\r\n const typename = getStandardTypeName(fieldType);\r\n propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);\r\n\r\n return new MapFeatureInfoRecord (propertyValue, {name: fieldName, displayLabel: fieldName, typename});\r\n };\r\n\r\n for (const feature of responseObj.features) {\r\n const subLayerInfo: MapSubLayerFeatureInfo = {\r\n subLayerName: this._layerMetadata.name,\r\n displayFieldName: this._layerMetadata.name,\r\n records : [],\r\n };\r\n\r\n for (const [key, value] of Object.entries(feature.attributes))\r\n subLayerInfo.records?.push(getRecordInfo(key,value));\r\n\r\n if (layerInfo.info === undefined)\r\n layerInfo.info = [];\r\n\r\n if (!(layerInfo.info instanceof HTMLElement))\r\n layerInfo.info.push(subLayerInfo);\r\n }\r\n\r\n featureInfos.push(layerInfo);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ArcGisFeatureJSON.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureJSON.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { PrimitiveValue, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\r\nimport { MapFeatureInfoRecord, MapLayerFeatureInfo, MapSubLayerFeatureInfo } from \"@itwin/core-frontend\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ArcGisFeatureReader } from \"./ArcGisFeatureReader\";\r\nimport { ArcGisFeatureRenderer } from \"./ArcGisFeatureRenderer\";\r\nimport { ArcGisFieldType, ArcGisResponseData } from \"./ArcGisFeatureResponse\";\r\n\r\n/** @internal */\r\nexport class ArcGisFeatureJSON extends ArcGisFeatureReader {\r\n public transform: Transform|undefined;\r\n\r\n public constructor(settings: ImageMapLayerSettings, layerMetadata: any) {\r\n super(settings, layerMetadata);\r\n }\r\n\r\n public readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer) {\r\n const responseObj = response.data;\r\n\r\n if (responseObj?.geometryType === \"esriGeometryPolyline\" || responseObj?.geometryType === \"esriGeometryPolygon\") {\r\n const fill = (responseObj.geometryType === \"esriGeometryPolygon\");\r\n for (const feature of responseObj.features) {\r\n let offset = 0;\r\n const lengths: number[] = [];\r\n const coords: number[] = [];\r\n\r\n if (feature?.geometry?.rings) {\r\n for (const ring of feature?.geometry?.rings) {\r\n offset = ArcGisFeatureJSON.deflateCoordinates(ring, coords, 2, offset);\r\n lengths.push(ring.length);\r\n }\r\n } else if (feature?.geometry?.paths) {\r\n for (const path of feature?.geometry?.paths) {\r\n offset = ArcGisFeatureJSON.deflateCoordinates(path, coords, 2, offset);\r\n lengths.push(path.length);\r\n }\r\n }\r\n renderer.renderPath(lengths, coords, fill, 2, renderer.transform === undefined);\r\n\r\n }\r\n } else if (responseObj?.geometryType === \"esriGeometryPoint\" || responseObj?.geometryType === \"esriGeometryMultiPoint\") {\r\n for (const feature of responseObj.features) {\r\n // TODO: Add support for multipoint\r\n if (feature.geometry) {\r\n const lengths: number[] = [];\r\n const coords: number[] = [feature.geometry.x, feature.geometry.y];\r\n renderer.renderPoint(lengths, coords, 2, renderer.transform === undefined);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]\r\n // stride is the number of dimensions\r\n // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26\r\n protected static deflateCoordinates( coordinates: number[][], flatCoordinates: number[], stride: number, offset: number) {\r\n for (let i = 0, ii = coordinates.length; i < ii; ++i) {\r\n const coordinate = coordinates[i];\r\n for (let j = 0; j < stride; ++j)\r\n flatCoordinates[offset++] = coordinate[j];\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n public readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]) {\r\n const responseObj = response.data;\r\n if (responseObj === undefined || !Array.isArray(responseObj.features))\r\n return;\r\n\r\n const layerInfo: MapLayerFeatureInfo = {layerName: this._settings.name};\r\n\r\n // Create a signature index for every field name / type.\r\n const fieldsType: {[key: string]: ArcGisFieldType} = {};\r\n for (const fieldInfo of responseObj.fields) {\r\n fieldsType[fieldInfo.name] = fieldInfo.type;\r\n }\r\n\r\n const getStandardTypeName = (fieldType: ArcGisFieldType) => {\r\n switch (fieldType) {\r\n case \"esriFieldTypeInteger\":\r\n case \"esriFieldTypeSmallInteger\":\r\n case \"esriFieldTypeOID\":\r\n return StandardTypeNames.Integer;\r\n case \"esriFieldTypeDouble\":\r\n return StandardTypeNames.Double;\r\n case \"esriFieldTypeSingle\":\r\n return StandardTypeNames.Float;\r\n case \"esriFieldTypeDate\":\r\n return StandardTypeNames.DateTime;\r\n default:\r\n return StandardTypeNames.String;\r\n }\r\n };\r\n\r\n const getRecordInfo = (fieldName: string, value: any) => {\r\n const propertyValue: PrimitiveValue = {valueFormat: PropertyValueFormat.Primitive};\r\n\r\n if (value === null) {\r\n value = undefined;\r\n }\r\n\r\n const strValue = `${value}`;\r\n const fieldType = fieldsType[fieldName];\r\n switch (fieldType) {\r\n case \"esriFieldTypeInteger\":\r\n case \"esriFieldTypeSmallInteger\":\r\n case \"esriFieldTypeOID\":\r\n propertyValue.value = value as number;\r\n break;\r\n case \"esriFieldTypeDouble\":\r\n case \"esriFieldTypeSingle\":\r\n propertyValue.value = this.toFixedWithoutPadding(value);\r\n break;\r\n case \"esriFieldTypeDate\":\r\n propertyValue.value = new Date(value);\r\n break;\r\n default:\r\n if (value !== undefined)\r\n propertyValue.value = strValue;\r\n\r\n break;\r\n }\r\n\r\n const typename = getStandardTypeName(fieldType);\r\n propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);\r\n\r\n return new MapFeatureInfoRecord (propertyValue, {name: fieldName, displayLabel: fieldName, typename});\r\n };\r\n\r\n for (const feature of responseObj.features) {\r\n const subLayerInfo: MapSubLayerFeatureInfo = {\r\n subLayerName: this._layerMetadata.name,\r\n displayFieldName: this._layerMetadata.name,\r\n records : [],\r\n };\r\n\r\n for (const [key, value] of Object.entries(feature.attributes))\r\n subLayerInfo.records?.push(getRecordInfo(key,value));\r\n\r\n if (layerInfo.info === undefined)\r\n layerInfo.info = [];\r\n\r\n if (!(layerInfo.info instanceof HTMLElement))\r\n layerInfo.info.push(subLayerInfo);\r\n }\r\n\r\n featureInfos.push(layerInfo);\r\n }\r\n}\r\n"]}
@@ -1,15 +1,15 @@
1
- import { ArcGisFeatureRenderer } from "./ArcGisFeatureRenderer";
2
- import { esriPBuffer } from "../ArcGisFeature/esriPBuffer.gen";
3
- import { MapLayerFeatureInfo } from "@itwin/core-frontend";
4
- import { ImageMapLayerSettings } from "@itwin/core-common";
5
- import { ArcGisFeatureReader } from "./ArcGisFeatureReader";
6
- import { ArcGisResponseData } from "./ArcGisFeatureResponse";
7
- import { ArcGisFeatureGeometryType } from "./ArcGisFeatureQuery";
8
- /** @internal */
9
- export declare class ArcGisFeaturePBF extends ArcGisFeatureReader {
10
- constructor(settings: ImageMapLayerSettings, layerMetadata: any);
11
- static getArcGisFeatureGeometryType(geomType: esriPBuffer.FeatureCollectionPBuffer.GeometryType): ArcGisFeatureGeometryType;
12
- readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer): void;
13
- readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]): void;
14
- }
1
+ import { ArcGisFeatureRenderer } from "./ArcGisFeatureRenderer";
2
+ import { esriPBuffer } from "../ArcGisFeature/esriPBuffer.gen";
3
+ import { MapLayerFeatureInfo } from "@itwin/core-frontend";
4
+ import { ImageMapLayerSettings } from "@itwin/core-common";
5
+ import { ArcGisFeatureReader } from "./ArcGisFeatureReader";
6
+ import { ArcGisResponseData } from "./ArcGisFeatureResponse";
7
+ import { ArcGisFeatureGeometryType } from "./ArcGisFeatureQuery";
8
+ /** @internal */
9
+ export declare class ArcGisFeaturePBF extends ArcGisFeatureReader {
10
+ constructor(settings: ImageMapLayerSettings, layerMetadata: any);
11
+ static getArcGisFeatureGeometryType(geomType: esriPBuffer.FeatureCollectionPBuffer.GeometryType): ArcGisFeatureGeometryType;
12
+ readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer): void;
13
+ readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]): void;
14
+ }
15
15
  //# sourceMappingURL=ArcGisFeaturePBF.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisFeaturePBF.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeaturePBF.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAwB,mBAAmB,EAA0B,MAAM,sBAAsB,CAAC;AAEzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAUjE,gBAAgB;AAChB,qBAAa,gBAAiB,SAAQ,mBAAmB;gBACpC,QAAQ,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG;WAIxD,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,wBAAwB,CAAC,YAAY,GAAG,yBAAyB;IAiB3H,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qBAAqB;IA4B3E,eAAe,CAAC,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE;CA8IzF"}
1
+ {"version":3,"file":"ArcGisFeaturePBF.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeaturePBF.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAwB,mBAAmB,EAA0B,MAAM,sBAAsB,CAAC;AAEzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAUjE,gBAAgB;AAChB,qBAAa,gBAAiB,SAAQ,mBAAmB;gBACpC,QAAQ,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG;WAIxD,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,wBAAwB,CAAC,YAAY,GAAG,yBAAyB;IAiB3H,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qBAAqB;IA2B3E,eAAe,CAAC,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE;CA6IzF"}