@itwin/map-layers-formats 4.0.0-dev.4 → 4.0.0-dev.41
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.
- package/.rush/temp/operation/build_ci/state.json +1 -1
- package/.rush/temp/operation/cover/state.json +1 -1
- package/.rush/temp/operation/docs/state.json +1 -1
- package/.rush/temp/package-deps_build_ci.json +5 -5
- package/.rush/temp/package-deps_cover.json +5 -5
- package/.rush/temp/package-deps_docs.json +5 -5
- package/.rush/temp/shrinkwrap-deps.json +21 -21
- package/CHANGELOG.json +21 -0
- package/CHANGELOG.md +14 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js +7 -9
- package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +4 -6
- package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +8 -9
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js +1 -2
- package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +7 -10
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +37 -38
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +7 -7
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
- package/lib/cjs/test/coverage/.nyc_output/b77e4a15-2de3-43e9-a568-91b7fe97253d.json +1 -0
- package/lib/cjs/test/coverage/.nyc_output/processinfo/b77e4a15-2de3-43e9-a568-91b7fe97253d.json +1 -0
- package/lib/cjs/test/coverage/.nyc_output/processinfo/f7230b9c-8b11-403f-97ea-16f72869a971.json +1 -0
- package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +1 -1
- package/lib/cjs/test/coverage/cobertura-coverage.xml +35 -35
- package/lib/cjs/test/coverage/lcov-report/index.html +5 -5
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +1 -1
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +10 -10
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +7 -7
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +10 -10
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +1 -1
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +1 -1
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +1 -1
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +4 -4
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +8 -8
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +13 -13
- package/lib/cjs/test/coverage/lcov-report/src/index.html +1 -1
- package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +1 -1
- package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +1 -1
- package/lib/cjs/test/coverage/lcov.info +308 -484
- package/lib/cjs/tsconfig.tsbuildinfo +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js +7 -9
- package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +4 -6
- package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +8 -9
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js +1 -2
- package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +7 -10
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +37 -38
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +7 -7
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +1 -1
- package/lib/esm/tsconfig.tsbuildinfo +1 -1
- package/lib/test/junit_results.xml +41 -41
- package/map-layers-formats.build.log +2 -2
- package/package.json +12 -12
- package/tsconfig.json +1 -2
- package/lib/cjs/test/coverage/.nyc_output/6f67829c-abba-4104-a211-090bf7490825.json +0 -1
- package/lib/cjs/test/coverage/.nyc_output/processinfo/6f67829c-abba-4104-a211-090bf7490825.json +0 -1
- package/lib/cjs/test/coverage/.nyc_output/processinfo/a04893bc-13da-4c21-8ef4-64686a888281.json +0 -1
- /package/lib/cjs/test/coverage/.nyc_output/{a04893bc-13da-4c21-8ef4-64686a888281.json → f7230b9c-8b11-403f-97ea-16f72869a971.json} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"extensions/map-layers-formats/.rush/temp/shrinkwrap-deps.json": "
|
|
3
|
+
"extensions/map-layers-formats/.rush/temp/shrinkwrap-deps.json": "9568e84a2119b86063acd1226df6fd27294fd602",
|
|
4
4
|
"extensions/map-layers-formats/.nycrc": "54fda69da5c7309ffeb79f061013f8e974970e3b",
|
|
5
|
-
"extensions/map-layers-formats/CHANGELOG.json": "
|
|
6
|
-
"extensions/map-layers-formats/CHANGELOG.md": "
|
|
5
|
+
"extensions/map-layers-formats/CHANGELOG.json": "6453b4f9059051e5e0021ccbe415027349050d2a",
|
|
6
|
+
"extensions/map-layers-formats/CHANGELOG.md": "43e68e4380d621f1180c584fe8f7cdd3b530c3e4",
|
|
7
7
|
"extensions/map-layers-formats/README.md": "2e48eb22484a04084a763ea7c9b55e59f7306e48",
|
|
8
8
|
"extensions/map-layers-formats/config/rush-project.json": "10683a57d3bd2b8ae364fbe8f844c01619f1a821",
|
|
9
|
-
"extensions/map-layers-formats/package.json": "
|
|
9
|
+
"extensions/map-layers-formats/package.json": "e07e8fc79e85705f8e951b54db40b2b544701675",
|
|
10
10
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeatureFormat.ts": "9b191ce9a9359a3cbbf73c2c01398019d43baf6d",
|
|
11
11
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeatureJSON.ts": "118ce09619b9f1a04401e6a510ee7f3c5d94ab73",
|
|
12
12
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeaturePBF.ts": "e01e6bc6ef78338cc0ae009ed8ed5a2d561d63cf",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"extensions/map-layers-formats/src/test/ArcGisFeature/Mocks.ts": "4bc9b3795836c3c000302a87feefd04261de8968",
|
|
31
31
|
"extensions/map-layers-formats/src/test/ArcGisFeature/NewYorkDataset.ts": "fd7c1289f445b2103261b5f4f9822e88e0936e11",
|
|
32
32
|
"extensions/map-layers-formats/src/test/ArcGisFeature/PhillyLandmarksDataset.ts": "94c6aa6390b7162348de0b5bd6f5418c78b84435",
|
|
33
|
-
"extensions/map-layers-formats/tsconfig.json": "
|
|
33
|
+
"extensions/map-layers-formats/tsconfig.json": "090c3f6e9ac62040d790ab384e4f2827e9176de7"
|
|
34
34
|
},
|
|
35
35
|
"arguments": "npm run -s build && npm run -s build:esm "
|
|
36
36
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"extensions/map-layers-formats/.rush/temp/shrinkwrap-deps.json": "
|
|
3
|
+
"extensions/map-layers-formats/.rush/temp/shrinkwrap-deps.json": "9568e84a2119b86063acd1226df6fd27294fd602",
|
|
4
4
|
"extensions/map-layers-formats/.nycrc": "54fda69da5c7309ffeb79f061013f8e974970e3b",
|
|
5
|
-
"extensions/map-layers-formats/CHANGELOG.json": "
|
|
6
|
-
"extensions/map-layers-formats/CHANGELOG.md": "
|
|
5
|
+
"extensions/map-layers-formats/CHANGELOG.json": "6453b4f9059051e5e0021ccbe415027349050d2a",
|
|
6
|
+
"extensions/map-layers-formats/CHANGELOG.md": "43e68e4380d621f1180c584fe8f7cdd3b530c3e4",
|
|
7
7
|
"extensions/map-layers-formats/README.md": "2e48eb22484a04084a763ea7c9b55e59f7306e48",
|
|
8
8
|
"extensions/map-layers-formats/config/rush-project.json": "10683a57d3bd2b8ae364fbe8f844c01619f1a821",
|
|
9
|
-
"extensions/map-layers-formats/package.json": "
|
|
9
|
+
"extensions/map-layers-formats/package.json": "e07e8fc79e85705f8e951b54db40b2b544701675",
|
|
10
10
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeatureFormat.ts": "9b191ce9a9359a3cbbf73c2c01398019d43baf6d",
|
|
11
11
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeatureJSON.ts": "118ce09619b9f1a04401e6a510ee7f3c5d94ab73",
|
|
12
12
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeaturePBF.ts": "e01e6bc6ef78338cc0ae009ed8ed5a2d561d63cf",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"extensions/map-layers-formats/src/test/ArcGisFeature/Mocks.ts": "4bc9b3795836c3c000302a87feefd04261de8968",
|
|
31
31
|
"extensions/map-layers-formats/src/test/ArcGisFeature/NewYorkDataset.ts": "fd7c1289f445b2103261b5f4f9822e88e0936e11",
|
|
32
32
|
"extensions/map-layers-formats/src/test/ArcGisFeature/PhillyLandmarksDataset.ts": "94c6aa6390b7162348de0b5bd6f5418c78b84435",
|
|
33
|
-
"extensions/map-layers-formats/tsconfig.json": "
|
|
33
|
+
"extensions/map-layers-formats/tsconfig.json": "090c3f6e9ac62040d790ab384e4f2827e9176de7"
|
|
34
34
|
},
|
|
35
35
|
"arguments": "nyc npm -s test "
|
|
36
36
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"extensions/map-layers-formats/.rush/temp/shrinkwrap-deps.json": "
|
|
3
|
+
"extensions/map-layers-formats/.rush/temp/shrinkwrap-deps.json": "9568e84a2119b86063acd1226df6fd27294fd602",
|
|
4
4
|
"extensions/map-layers-formats/.nycrc": "54fda69da5c7309ffeb79f061013f8e974970e3b",
|
|
5
|
-
"extensions/map-layers-formats/CHANGELOG.json": "
|
|
6
|
-
"extensions/map-layers-formats/CHANGELOG.md": "
|
|
5
|
+
"extensions/map-layers-formats/CHANGELOG.json": "6453b4f9059051e5e0021ccbe415027349050d2a",
|
|
6
|
+
"extensions/map-layers-formats/CHANGELOG.md": "43e68e4380d621f1180c584fe8f7cdd3b530c3e4",
|
|
7
7
|
"extensions/map-layers-formats/README.md": "2e48eb22484a04084a763ea7c9b55e59f7306e48",
|
|
8
8
|
"extensions/map-layers-formats/config/rush-project.json": "10683a57d3bd2b8ae364fbe8f844c01619f1a821",
|
|
9
|
-
"extensions/map-layers-formats/package.json": "
|
|
9
|
+
"extensions/map-layers-formats/package.json": "e07e8fc79e85705f8e951b54db40b2b544701675",
|
|
10
10
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeatureFormat.ts": "9b191ce9a9359a3cbbf73c2c01398019d43baf6d",
|
|
11
11
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeatureJSON.ts": "118ce09619b9f1a04401e6a510ee7f3c5d94ab73",
|
|
12
12
|
"extensions/map-layers-formats/src/ArcGisFeature/ArcGisFeaturePBF.ts": "e01e6bc6ef78338cc0ae009ed8ed5a2d561d63cf",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"extensions/map-layers-formats/src/test/ArcGisFeature/Mocks.ts": "4bc9b3795836c3c000302a87feefd04261de8968",
|
|
31
31
|
"extensions/map-layers-formats/src/test/ArcGisFeature/NewYorkDataset.ts": "fd7c1289f445b2103261b5f4f9822e88e0936e11",
|
|
32
32
|
"extensions/map-layers-formats/src/test/ArcGisFeature/PhillyLandmarksDataset.ts": "94c6aa6390b7162348de0b5bd6f5418c78b84435",
|
|
33
|
-
"extensions/map-layers-formats/tsconfig.json": "
|
|
33
|
+
"extensions/map-layers-formats/tsconfig.json": "090c3f6e9ac62040d790ab384e4f2827e9176de7"
|
|
34
34
|
},
|
|
35
35
|
"arguments": "betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/map-layers-formats/file.json --tsIndexFile=./map-layers-formats.ts --onlyJson --excludes=**/ArcGisFeature/*.ts,**/*.gen.ts "
|
|
36
36
|
}
|
|
@@ -3,26 +3,26 @@
|
|
|
3
3
|
"/@ampproject/remapping/2.2.0": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
|
|
4
4
|
"/@babel/code-frame/7.12.11": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
|
|
5
5
|
"/@babel/code-frame/7.18.6": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
|
|
6
|
-
"/@babel/compat-data/7.
|
|
7
|
-
"/@babel/core/7.
|
|
8
|
-
"/@babel/generator/7.
|
|
9
|
-
"/@babel/helper-compilation-targets/7.20.7_@babel+core@7.
|
|
6
|
+
"/@babel/compat-data/7.21.0": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==",
|
|
7
|
+
"/@babel/core/7.21.0": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==",
|
|
8
|
+
"/@babel/generator/7.21.1": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==",
|
|
9
|
+
"/@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
|
|
10
10
|
"/@babel/helper-environment-visitor/7.18.9": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
|
|
11
|
-
"/@babel/helper-function-name/7.
|
|
11
|
+
"/@babel/helper-function-name/7.21.0": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
|
|
12
12
|
"/@babel/helper-hoist-variables/7.18.6": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
|
|
13
13
|
"/@babel/helper-module-imports/7.18.6": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
|
|
14
|
-
"/@babel/helper-module-transforms/7.
|
|
14
|
+
"/@babel/helper-module-transforms/7.21.2": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==",
|
|
15
15
|
"/@babel/helper-simple-access/7.20.2": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
|
|
16
16
|
"/@babel/helper-split-export-declaration/7.18.6": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
|
|
17
17
|
"/@babel/helper-string-parser/7.19.4": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
|
|
18
18
|
"/@babel/helper-validator-identifier/7.19.1": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
|
|
19
|
-
"/@babel/helper-validator-option/7.
|
|
20
|
-
"/@babel/helpers/7.
|
|
19
|
+
"/@babel/helper-validator-option/7.21.0": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==",
|
|
20
|
+
"/@babel/helpers/7.21.0": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==",
|
|
21
21
|
"/@babel/highlight/7.18.6": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
|
|
22
|
-
"/@babel/parser/7.
|
|
22
|
+
"/@babel/parser/7.21.2": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==",
|
|
23
23
|
"/@babel/template/7.20.7": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
|
|
24
|
-
"/@babel/traverse/7.
|
|
25
|
-
"/@babel/types/7.
|
|
24
|
+
"/@babel/traverse/7.21.2": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==",
|
|
25
|
+
"/@babel/types/7.21.2": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==",
|
|
26
26
|
"/@eslint/eslintrc/0.4.3": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
|
|
27
27
|
"/@humanwhocodes/config-array/0.5.0": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
|
|
28
28
|
"/@humanwhocodes/object-schema/1.2.1": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
|
|
@@ -76,13 +76,13 @@
|
|
|
76
76
|
"/braces/3.0.2": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
|
77
77
|
"/browser-process-hrtime/1.0.0": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
|
|
78
78
|
"/browser-stdout/1.3.1": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
|
|
79
|
-
"/browserslist/4.21.
|
|
79
|
+
"/browserslist/4.21.5": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
|
|
80
80
|
"/buffer-from/1.1.2": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
|
81
81
|
"/caching-transform/4.0.0": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
|
|
82
82
|
"/callsites/3.1.0": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
|
83
83
|
"/camelcase/5.3.1": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
|
|
84
84
|
"/camelcase/6.3.0": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
|
|
85
|
-
"/caniuse-lite/1.0.
|
|
85
|
+
"/caniuse-lite/1.0.30001457": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==",
|
|
86
86
|
"/chai-as-promised/7.1.1_chai@4.3.7": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==",
|
|
87
87
|
"/chai/4.3.7": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
|
|
88
88
|
"/chalk/2.4.2": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"/color-name/1.1.4": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
99
99
|
"/combined-stream/1.0.8": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
100
100
|
"/commondir/1.0.1": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
|
|
101
|
-
"/concat-map/0.0.1": "
|
|
101
|
+
"/concat-map/0.0.1": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
|
102
102
|
"/convert-source-map/1.9.0": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
|
103
103
|
"/cross-spawn/7.0.3": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
|
|
104
104
|
"/cssom/0.3.8": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"/diff/5.0.0": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
|
|
119
119
|
"/doctrine/3.0.0": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
|
|
120
120
|
"/domexception/4.0.0": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
|
|
121
|
-
"/electron-to-chromium/1.4.
|
|
121
|
+
"/electron-to-chromium/1.4.311": "sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw==",
|
|
122
122
|
"/emoji-regex/8.0.0": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
123
123
|
"/enquirer/2.3.6": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
|
|
124
124
|
"/es6-error/4.1.1": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"/eslint/7.32.0": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
|
|
134
134
|
"/espree/7.3.1": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
|
|
135
135
|
"/esprima/4.0.1": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
|
136
|
-
"/esquery/1.4.
|
|
136
|
+
"/esquery/1.4.2": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==",
|
|
137
137
|
"/esrecurse/4.3.0": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
|
|
138
138
|
"/estraverse/4.3.0": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
|
|
139
139
|
"/estraverse/5.3.0": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"/glob/7.2.0": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
|
|
164
164
|
"/glob/7.2.3": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
|
165
165
|
"/globals/11.12.0": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
|
|
166
|
-
"/globals/13.
|
|
166
|
+
"/globals/13.20.0": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
|
|
167
167
|
"/google-protobuf/3.20.1": "sha512-XMf1+O32FjYIV3CYu6Tuh5PNbfNEU5Xu22X+Xkdb/DUexFlCzhvv7d5Iirm4AOwn8lv4al1YvIhzGrg2j9Zfzw==",
|
|
168
168
|
"/graceful-fs/4.2.10": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
|
|
169
169
|
"/has-flag/3.0.0": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
|
@@ -204,7 +204,7 @@
|
|
|
204
204
|
"/js-tokens/4.0.0": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
|
205
205
|
"/js-yaml/3.14.1": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
|
206
206
|
"/js-yaml/4.1.0": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
|
207
|
-
"/jsdom-global/3.0.2_jsdom@19.0.0": "
|
|
207
|
+
"/jsdom-global/3.0.2_jsdom@19.0.0": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=",
|
|
208
208
|
"/jsdom/19.0.0": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==",
|
|
209
209
|
"/jsesc/2.5.2": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
|
|
210
210
|
"/json-schema-traverse/0.4.1": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
"/natural-compare/1.4.0": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
|
237
237
|
"/nise/4.1.0": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==",
|
|
238
238
|
"/node-preload/0.2.1": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
|
|
239
|
-
"/node-releases/2.0.
|
|
239
|
+
"/node-releases/2.0.10": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
|
|
240
240
|
"/normalize-path/3.0.0": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
|
241
241
|
"/nwsapi/2.2.2": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==",
|
|
242
242
|
"/nyc/15.1.0": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
"/typedarray-to-buffer/3.1.5": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
|
|
319
319
|
"/typescript/4.4.4": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
|
|
320
320
|
"/universalify/0.2.0": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
|
|
321
|
-
"/update-browserslist-db/1.0.10_browserslist@4.21.
|
|
321
|
+
"/update-browserslist-db/1.0.10_browserslist@4.21.5": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
|
|
322
322
|
"/uri-js/4.4.1": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
|
323
323
|
"/url-parse/1.5.10": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
|
|
324
324
|
"/uuid/8.3.2": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
"/wrap-ansi/7.0.0": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
|
339
339
|
"/wrappy/1.0.2": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
|
340
340
|
"/write-file-atomic/3.0.3": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
|
|
341
|
-
"/ws/8.12.
|
|
341
|
+
"/ws/8.12.1": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==",
|
|
342
342
|
"/xml-name-validator/4.0.0": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
|
|
343
343
|
"/xmlchars/2.2.0": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
|
|
344
344
|
"/y18n/4.0.3": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
|
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/map-layers-formats",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "3.6.0",
|
|
6
|
+
"tag": "@itwin/map-layers-formats_v3.6.0",
|
|
7
|
+
"date": "Wed, 08 Feb 2023 14:58:40 GMT",
|
|
8
|
+
"comments": {
|
|
9
|
+
"none": [
|
|
10
|
+
{
|
|
11
|
+
"comment": "Allow map-layer requiring authentication to be correctly initialized after a saved view restore."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"comment": "Map-layers oauth2 requests optimization and improvements"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"version": "3.5.6",
|
|
21
|
+
"tag": "@itwin/map-layers-formats_v3.5.6",
|
|
22
|
+
"date": "Fri, 24 Feb 2023 16:02:47 GMT",
|
|
23
|
+
"comments": {}
|
|
24
|
+
},
|
|
4
25
|
{
|
|
5
26
|
"version": "3.5.5",
|
|
6
27
|
"tag": "@itwin/map-layers-formats_v3.5.5",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
# Change Log - @itwin/map-layers-formats
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Wed, 08 Feb 2023 14:58:40 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 3.6.0
|
|
6
|
+
Wed, 08 Feb 2023 14:58:40 GMT
|
|
7
|
+
|
|
8
|
+
### Updates
|
|
9
|
+
|
|
10
|
+
- Allow map-layer requiring authentication to be correctly initialized after a saved view restore.
|
|
11
|
+
- Map-layers oauth2 requests optimization and improvements
|
|
12
|
+
|
|
13
|
+
## 3.5.6
|
|
14
|
+
Fri, 24 Feb 2023 16:02:47 GMT
|
|
15
|
+
|
|
16
|
+
_Version update only_
|
|
4
17
|
|
|
5
18
|
## 3.5.5
|
|
6
19
|
Thu, 26 Jan 2023 22:53:27 GMT
|
|
@@ -14,22 +14,21 @@ class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
|
|
|
14
14
|
super(settings, layerMetadata);
|
|
15
15
|
}
|
|
16
16
|
readAndRender(response, renderer) {
|
|
17
|
-
var _a, _b, _c, _d;
|
|
18
17
|
const responseObj = response.data;
|
|
19
|
-
if (
|
|
18
|
+
if (responseObj?.geometryType === "esriGeometryPolyline" || responseObj?.geometryType === "esriGeometryPolygon") {
|
|
20
19
|
const fill = (responseObj.geometryType === "esriGeometryPolygon");
|
|
21
20
|
for (const feature of responseObj.features) {
|
|
22
21
|
let offset = 0;
|
|
23
22
|
const lengths = [];
|
|
24
23
|
const coords = [];
|
|
25
|
-
if (
|
|
26
|
-
for (const ring of
|
|
24
|
+
if (feature?.geometry?.rings) {
|
|
25
|
+
for (const ring of feature?.geometry?.rings) {
|
|
27
26
|
offset = ArcGisFeatureJSON.deflateCoordinates(ring, coords, 2, offset);
|
|
28
27
|
lengths.push(ring.length);
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
|
-
else if (
|
|
32
|
-
for (const path of
|
|
30
|
+
else if (feature?.geometry?.paths) {
|
|
31
|
+
for (const path of feature?.geometry?.paths) {
|
|
33
32
|
offset = ArcGisFeatureJSON.deflateCoordinates(path, coords, 2, offset);
|
|
34
33
|
lengths.push(path.length);
|
|
35
34
|
}
|
|
@@ -37,7 +36,7 @@ class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
|
|
|
37
36
|
renderer.renderPath(lengths, coords, fill, 2, renderer.transform === undefined);
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
else if (
|
|
39
|
+
else if (responseObj?.geometryType === "esriGeometryPoint" || responseObj?.geometryType === "esriGeometryMultiPoint") {
|
|
41
40
|
for (const feature of responseObj.features) {
|
|
42
41
|
// TODO: Add support for multipoint
|
|
43
42
|
if (feature.geometry) {
|
|
@@ -60,7 +59,6 @@ class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
|
|
|
60
59
|
return offset;
|
|
61
60
|
}
|
|
62
61
|
readFeatureInfo(response, featureInfos) {
|
|
63
|
-
var _a;
|
|
64
62
|
const responseObj = response.data;
|
|
65
63
|
if (responseObj === undefined || !Array.isArray(responseObj.features))
|
|
66
64
|
return;
|
|
@@ -122,7 +120,7 @@ class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
|
|
|
122
120
|
records: [],
|
|
123
121
|
};
|
|
124
122
|
for (const [key, value] of Object.entries(feature.attributes))
|
|
125
|
-
|
|
123
|
+
subLayerInfo.records?.push(getRecordInfo(key, value));
|
|
126
124
|
if (layerInfo.info === undefined)
|
|
127
125
|
layerInfo.info = [];
|
|
128
126
|
if (!(layerInfo.info instanceof HTMLElement))
|
|
@@ -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"]}
|
|
@@ -34,14 +34,13 @@ class ArcGisFeaturePBF extends ArcGisFeatureReader_1.ArcGisFeatureReader {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
readAndRender(response, renderer) {
|
|
37
|
-
var _a, _b;
|
|
38
37
|
if (!(response.data instanceof esriPBuffer_gen_1.esriPBuffer.FeatureCollectionPBuffer)) {
|
|
39
38
|
const msg = "Response was not in PBF format";
|
|
40
39
|
core_bentley_1.Logger.logError(loggerCategory, msg);
|
|
41
40
|
return;
|
|
42
41
|
}
|
|
43
42
|
const collection = response.data;
|
|
44
|
-
if (!collection.has_queryResult || !collection.queryResult.has_featureResult ||
|
|
43
|
+
if (!collection.has_queryResult || !collection.queryResult.has_featureResult || collection?.queryResult?.featureResult?.features === undefined)
|
|
45
44
|
return;
|
|
46
45
|
const geomType = collection.queryResult.featureResult.geometryType;
|
|
47
46
|
const stride = (collection.queryResult.featureResult.hasM || collection.queryResult.featureResult.hasZ) ? 3 : 2;
|
|
@@ -54,17 +53,16 @@ class ArcGisFeaturePBF extends ArcGisFeatureReader_1.ArcGisFeatureReader {
|
|
|
54
53
|
else if (geomType === esriGeometryType.esriGeometryTypePolyline || geomType === esriGeometryType.esriGeometryTypePolygon) {
|
|
55
54
|
const fill = (geomType === esriGeometryType.esriGeometryTypePolygon);
|
|
56
55
|
for (const feature of collection.queryResult.featureResult.features)
|
|
57
|
-
if (feature
|
|
56
|
+
if (feature?.has_geometry)
|
|
58
57
|
renderer.renderPath(feature.geometry.lengths, feature.geometry.coords, fill, stride, renderer.transform === undefined);
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
readFeatureInfo(response, featureInfos) {
|
|
62
|
-
var _a, _b, _c;
|
|
63
61
|
if (!(response.data instanceof esriPBuffer_gen_1.esriPBuffer.FeatureCollectionPBuffer)) {
|
|
64
62
|
core_bentley_1.Logger.logError(loggerCategory, "Response was not in PBF format");
|
|
65
63
|
}
|
|
66
64
|
const collection = response.data;
|
|
67
|
-
if (!collection.has_queryResult || !collection.queryResult.has_featureResult ||
|
|
65
|
+
if (!collection.has_queryResult || !collection.queryResult.has_featureResult || collection?.queryResult?.featureResult?.features === undefined)
|
|
68
66
|
return;
|
|
69
67
|
const layerInfo = { layerName: this._settings.name, info: [] };
|
|
70
68
|
// Fields metadata is stored outside feature results, create dedicated array first
|
|
@@ -185,7 +183,7 @@ class ArcGisFeaturePBF extends ArcGisFeatureReader_1.ArcGisFeatureReader {
|
|
|
185
183
|
// Convert everything to string for now
|
|
186
184
|
const info = getRecordInfo(fields[i], attrValue);
|
|
187
185
|
if (info) {
|
|
188
|
-
|
|
186
|
+
subLayerInfo.records?.push(info);
|
|
189
187
|
}
|
|
190
188
|
i++;
|
|
191
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGisFeaturePBF.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeaturePBF.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAG/F,sEAA+D;AAC/D,wDAAyG;AACzG,0DAA+F;AAE/F,+DAA4D;AAE5D,sDAA6C;AAG7C,MAAM,gBAAgB,GAAG,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC;AAC3E,MAAM,cAAc,GAAI,gCAAgC,CAAC;AAOzD,gBAAgB;AAChB,MAAa,gBAAiB,SAAQ,yCAAmB;IACvD,YAAmB,QAA+B,EAAE,aAAkB;QACpE,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,4BAA4B,CAAC,QAA2D;QACpG,QAAQ,QAAQ,EAAE;YAChB,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,0BAA0B;gBAC/E,OAAO,wBAAwB,CAAC;YAClC,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,0BAA0B;gBAC/E,OAAO,wBAAwB,CAAC;YAClC,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,qBAAqB;gBAC1E,OAAO,mBAAmB,CAAC;YAC7B,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,uBAAuB;gBAC5E,OAAO,qBAAqB,CAAC;YAC/B,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,wBAAwB;gBAC7E,OAAO,sBAAsB,CAAC;YAChC;gBACE,OAAO,kBAAkB,CAAC;SAC7B;IACH,CAAC;IAEM,aAAa,CAAC,QAA4B,EAAE,QAA+B;;QAChF,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,6BAAW,CAAC,wBAAwB,CAAC,EAAE;YACpE,MAAM,GAAG,GAAG,gCAAgC,CAAC;YAC7C,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACrC,OAAO;SACR;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAA,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,0CAAE,aAAa,0CAAE,QAAQ,MAAK,SAAS;YAC5I,OAAO;QAET,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;QACnE,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhH,sFAAsF;QACtF,IAAI,QAAQ,KAAK,gBAAgB,CAAC,qBAAqB;YACrD,QAAQ,KAAK,gBAAgB,CAAC,0BAA0B,EAAE;YAC1D,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ;gBACjE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;SACrH;aAAM,IAAI,QAAQ,KAAK,gBAAgB,CAAC,wBAAwB,IAAI,QAAQ,KAAK,gBAAgB,CAAC,uBAAuB,EAAE;YAC1H,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACrE,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ;gBACjE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;oBACvB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;SAC5H;IACH,CAAC;IAEM,eAAe,CAAC,QAA4B,EAAE,YAAmC;;QACtF,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,6BAAW,CAAC,wBAAwB,CAAC,EAAE;YAEpE,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;SACnE;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAA4C,CAAC;QACzE,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAA,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,0CAAE,aAAa,0CAAE,QAAQ,MAAK,SAAS;YAC5I,OAAO;QAET,MAAM,SAAS,GAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAEpF,kFAAkF;QAClF,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM;YAC7D,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAC,KAAK,CAAC,SAAS,EAAC,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,CAAC,SAAqD,EAAE,EAAE;YAChF,MAAM,aAAa,GAAmB,EAAE,WAAW,EAAE,oCAAmB,CAAC,SAAS,EAAE,CAAC;YACrF,IAAI,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;YACxC,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBACjE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC5B,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;aACrC;iBAAM,IAAI,SAAS,CAAC,eAAe,EAAE;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAChE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC5B,QAAQ,GAAG,kCAAiB,CAAC,KAAK,CAAC;aACpC;iBAAM,IAAI,SAAS,CAAC,eAAe,EAAE;gBACpC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC5C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBACrC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC7C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,cAAc,EAAE;gBACnC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;gBAC3C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBACrC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC7C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,cAAc,EAAE;gBACnC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;gBAC3C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM;gBACL,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;aACjC;YAED,OAAO,EAAE,aAAa,EAAG,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,SAAuB,EAAE,SAAqD,EAAE,EAAE;YACvG,IAAI,aAAa,GAAmB,EAAE,WAAW,EAAE,oCAAmB,CAAC,SAAS,EAAE,CAAC;YAEnF,IAAI,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;YACxC,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,mBAAmB;mBACpF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,oBAAoB;mBACtF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,yBAAyB;mBAC3F,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,gBAAgB;mBAClF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,mBAAmB;mBACrF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,EACtF;gBACA,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;oBACrC,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,0CAA0C,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5F,OAAO,SAAS,CAAC;iBAClB;gBAED,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBACvF,MAAM,IAAI,GAAI,KAAK,CAAC,aAAa,CAAC,KAA2B,CAAC;oBAC9D,aAAa,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,QAAQ,GAAG,kCAAiB,CAAC,QAAQ,CAAC;iBACvC;qBAAM;oBACL,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;oBAC1B,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;iBACrC;aACF;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,mBAAmB,EAAE;gBAChG,IAAI,SAAS,CAAC,gBAAgB,EAAE;oBAC9B,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;oBAC7C,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;iBACrC;aACF;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,qBAAqB,EAAE;gBAClG,IAAI,SAAS,CAAC,gBAAgB,EAAE;oBAC9B,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;oBAC7C,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;iBACrC;qBAAM;oBACL,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;oBACzC,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;wBACrC,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,2CAA2C,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC7F,OAAO,SAAS,CAAC;qBAClB;iBACF;aACF;iBAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBACrC,8GAA8G;gBAC9G,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;gBACpC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;aAC9C;iBAAM,IAAI,SAAS,CAAC,UAAU,KAAK,MAAM,EAAE;gBAC1C,uDAAuD;gBACvD,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;gBACpC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;aACjC;iBAAM;gBACL,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,kCAAkC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpF,OAAO,SAAS,CAAC;aAClB;YAED,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAEjF,OAAO,IAAI,oCAAoB,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnH,CAAC,CAAC;QAEF,sBAAsB;QACtB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;YACnE,MAAM,YAAY,GAA2B;gBAC3C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;gBACtC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;gBAC1C,OAAO,EAAE,EAAE;aACZ,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,CAAC;YAEV,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE;gBAC1C,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;oBACrB,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,6DAA6D,CAAC,CAAC;oBAC/F,MAAM;iBACP;gBACD,uCAAuC;gBACvC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBACjD,IAAI,IAAI,EAAE;oBACR,MAAA,YAAY,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClC;gBAED,CAAC,EAAE,CAAC;aACL;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;gBAChC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC;aACrB;YACD,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,YAAY,WAAW,CAAC,EAAE;gBAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACnC;SACF;QAED,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;CACF;AA9LD,4CA8LC","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 { ArcGisFeatureRenderer } from \"./ArcGisFeatureRenderer\";\r\nimport { esriPBuffer } from \"../ArcGisFeature/esriPBuffer.gen\";\r\nimport { MapFeatureInfoRecord, MapLayerFeatureInfo, MapSubLayerFeatureInfo } from \"@itwin/core-frontend\";\r\nimport { PrimitiveValue, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\r\nimport { ArcGisFeatureReader } from \"./ArcGisFeatureReader\";\r\nimport { ArcGisResponseData } from \"./ArcGisFeatureResponse\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { ArcGisFeatureGeometryType } from \"./ArcGisFeatureQuery\";\r\n\r\nconst esriGeometryType = esriPBuffer.FeatureCollectionPBuffer.GeometryType;\r\nconst loggerCategory = \"MapLayersFormats.ArcGISFeature\";\r\n\r\ninterface PbfFieldInfo {\r\n name: string;\r\n type: esriPBuffer.FeatureCollectionPBuffer.FieldType;\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGisFeaturePBF extends ArcGisFeatureReader {\r\n public constructor(settings: ImageMapLayerSettings, layerMetadata: any) {\r\n super(settings, layerMetadata);\r\n }\r\n\r\n public static getArcGisFeatureGeometryType(geomType: esriPBuffer.FeatureCollectionPBuffer.GeometryType): ArcGisFeatureGeometryType {\r\n switch (geomType) {\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypeMultipatch:\r\n return \"esriGeometryMultiPatch\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypeMultipoint:\r\n return \"esriGeometryMultipoint\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypePoint:\r\n return \"esriGeometryPoint\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypePolygon:\r\n return \"esriGeometryPolygon\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypePolyline:\r\n return \"esriGeometryPolyline\";\r\n default:\r\n return \"esriGeometryNull\";\r\n }\r\n }\r\n\r\n public readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer) {\r\n if (!(response.data instanceof esriPBuffer.FeatureCollectionPBuffer)) {\r\n const msg = \"Response was not in PBF format\";\r\n Logger.logError(loggerCategory, msg);\r\n return;\r\n }\r\n\r\n const collection = response.data;\r\n if (!collection.has_queryResult || !collection.queryResult.has_featureResult || collection?.queryResult?.featureResult?.features === undefined)\r\n return;\r\n\r\n const geomType = collection.queryResult.featureResult.geometryType;\r\n const stride = (collection.queryResult.featureResult.hasM || collection.queryResult.featureResult.hasZ) ? 3 : 2;\r\n\r\n // console.log(`Nb Feature: ${collection.queryResult.featureResult.features.length}`);\r\n if (geomType === esriGeometryType.esriGeometryTypePoint ||\r\n geomType === esriGeometryType.esriGeometryTypeMultipoint) {\r\n for (const feature of collection.queryResult.featureResult.features)\r\n renderer.renderPoint(feature.geometry.lengths, feature.geometry.coords, stride, renderer.transform === undefined);\r\n } else if (geomType === esriGeometryType.esriGeometryTypePolyline || geomType === esriGeometryType.esriGeometryTypePolygon) {\r\n const fill = (geomType === esriGeometryType.esriGeometryTypePolygon);\r\n for (const feature of collection.queryResult.featureResult.features)\r\n if (feature?.has_geometry)\r\n renderer.renderPath(feature.geometry.lengths, feature.geometry.coords, fill, stride, renderer.transform === undefined);\r\n }\r\n }\r\n\r\n public readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]) {\r\n if (!(response.data instanceof esriPBuffer.FeatureCollectionPBuffer)) {\r\n\r\n Logger.logError(loggerCategory, \"Response was not in PBF format\");\r\n }\r\n\r\n const collection = response.data as esriPBuffer.FeatureCollectionPBuffer;\r\n if (!collection.has_queryResult || !collection.queryResult.has_featureResult || collection?.queryResult?.featureResult?.features === undefined)\r\n return;\r\n\r\n const layerInfo: MapLayerFeatureInfo = { layerName: this._settings.name, info: [] };\r\n\r\n // Fields metadata is stored outside feature results, create dedicated array first\r\n const fields: PbfFieldInfo[] = [];\r\n for (const field of collection.queryResult.featureResult.fields)\r\n fields.push({name: field.name, type:field.fieldType});\r\n\r\n const getNumericValue = (attrValue: esriPBuffer.FeatureCollectionPBuffer.Value) => {\r\n const propertyValue: PrimitiveValue = { valueFormat: PropertyValueFormat.Primitive };\r\n let typename = StandardTypeNames.Number;\r\n if (attrValue.has_double_value) {\r\n const value = this.toFixedWithoutPadding(attrValue.double_value);\r\n propertyValue.value = value;\r\n typename = StandardTypeNames.Double;\r\n } else if (attrValue.has_float_value) {\r\n const value = this.toFixedWithoutPadding(attrValue.float_value);\r\n propertyValue.value = value;\r\n typename = StandardTypeNames.Float;\r\n } else if (attrValue.has_int64_value) {\r\n propertyValue.value = attrValue.int64_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_sint64_value) {\r\n propertyValue.value = attrValue.sint64_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_sint_value) {\r\n propertyValue.value = attrValue.sint_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_uint64_value) {\r\n propertyValue.value = attrValue.uint64_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_uint_value) {\r\n propertyValue.value = attrValue.uint_value;\r\n typename = StandardTypeNames.Integer;\r\n } else {\r\n propertyValue.value = undefined;\r\n }\r\n\r\n return { propertyValue, typename };\r\n };\r\n\r\n const getRecordInfo = (fieldInfo: PbfFieldInfo, attrValue: esriPBuffer.FeatureCollectionPBuffer.Value) => {\r\n let propertyValue: PrimitiveValue = { valueFormat: PropertyValueFormat.Primitive };\r\n\r\n let typename = StandardTypeNames.String;\r\n if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeDouble\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeInteger\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeSmallInteger\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeOID\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeSingle\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeDate\r\n ) {\r\n const value = getNumericValue(attrValue);\r\n if (value.propertyValue === undefined) {\r\n Logger.logError(loggerCategory, `Could not read numeric value for field ${fieldInfo.name}`);\r\n return undefined;\r\n }\r\n\r\n if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeDate) {\r\n const test = (value.propertyValue.value as unknown) as number;\r\n propertyValue.value = new Date(test);\r\n typename = StandardTypeNames.DateTime;\r\n } else {\r\n typename = value.typename;\r\n propertyValue = value.propertyValue;\r\n }\r\n } else if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeString) {\r\n if (attrValue.has_string_value) {\r\n propertyValue.value = attrValue.string_value;\r\n typename = StandardTypeNames.String;\r\n }\r\n } else if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeGlobalID) {\r\n if (attrValue.has_string_value) {\r\n propertyValue.value = attrValue.string_value;\r\n typename = StandardTypeNames.String;\r\n } else {\r\n const value = getNumericValue(attrValue);\r\n if (value.propertyValue === undefined) {\r\n Logger.logError(loggerCategory, `Could not read GlobalId value for field ${fieldInfo.name}`);\r\n return undefined;\r\n }\r\n }\r\n } else if (attrValue.has_string_value) {\r\n // If we reach this case that probably mean we don't support the field type, simply try to output string value\r\n typename = StandardTypeNames.String;\r\n propertyValue.value = attrValue.string_value;\r\n } else if (attrValue.value_type === \"none\") {\r\n // Sometimes fields are just empty, use an empty string\r\n typename = StandardTypeNames.String;\r\n propertyValue.value = undefined;\r\n } else {\r\n Logger.logError(loggerCategory, `Could not read value for field ${fieldInfo.name}`);\r\n return undefined;\r\n }\r\n\r\n propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);\r\n\r\n return new MapFeatureInfoRecord(propertyValue, { name: fieldInfo.name, displayLabel: fieldInfo.name, typename });\r\n };\r\n\r\n // Read feature values\r\n for (const feature of collection.queryResult.featureResult.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 let i = 0;\r\n\r\n for (const attrValue of feature.attributes) {\r\n if (i > fields.length) {\r\n Logger.logError(loggerCategory, \"Error while read feature info data: fields metadata missing\");\r\n break;\r\n }\r\n // Convert everything to string for now\r\n const info = getRecordInfo(fields[i], attrValue);\r\n if (info) {\r\n subLayerInfo.records?.push(info);\r\n }\r\n\r\n i++;\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\r\n featureInfos.push(layerInfo);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ArcGisFeaturePBF.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeaturePBF.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAG/F,sEAA+D;AAC/D,wDAAyG;AACzG,0DAA+F;AAE/F,+DAA4D;AAE5D,sDAA6C;AAG7C,MAAM,gBAAgB,GAAG,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC;AAC3E,MAAM,cAAc,GAAI,gCAAgC,CAAC;AAOzD,gBAAgB;AAChB,MAAa,gBAAiB,SAAQ,yCAAmB;IACvD,YAAmB,QAA+B,EAAE,aAAkB;QACpE,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,4BAA4B,CAAC,QAA2D;QACpG,QAAQ,QAAQ,EAAE;YAChB,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,0BAA0B;gBAC/E,OAAO,wBAAwB,CAAC;YAClC,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,0BAA0B;gBAC/E,OAAO,wBAAwB,CAAC;YAClC,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,qBAAqB;gBAC1E,OAAO,mBAAmB,CAAC;YAC7B,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,uBAAuB;gBAC5E,OAAO,qBAAqB,CAAC;YAC/B,KAAK,6BAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,wBAAwB;gBAC7E,OAAO,sBAAsB,CAAC;YAChC;gBACE,OAAO,kBAAkB,CAAC;SAC7B;IACH,CAAC;IAEM,aAAa,CAAC,QAA4B,EAAE,QAA+B;QAChF,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,6BAAW,CAAC,wBAAwB,CAAC,EAAE;YACpE,MAAM,GAAG,GAAG,gCAAgC,CAAC;YAC7C,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACrC,OAAO;SACR;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,IAAI,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,KAAK,SAAS;YAC5I,OAAO;QAET,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;QACnE,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhH,sFAAsF;QACtF,IAAI,QAAQ,KAAK,gBAAgB,CAAC,qBAAqB;YACrD,QAAQ,KAAK,gBAAgB,CAAC,0BAA0B,EAAE;YAC1D,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ;gBACjE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;SACrH;aAAM,IAAI,QAAQ,KAAK,gBAAgB,CAAC,wBAAwB,IAAI,QAAQ,KAAK,gBAAgB,CAAC,uBAAuB,EAAE;YAC1H,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACrE,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ;gBACjE,IAAI,OAAO,EAAE,YAAY;oBACvB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;SAC5H;IACH,CAAC;IAEM,eAAe,CAAC,QAA4B,EAAE,YAAmC;QACtF,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,6BAAW,CAAC,wBAAwB,CAAC,EAAE;YAEpE,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;SACnE;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAA4C,CAAC;QACzE,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,IAAI,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,KAAK,SAAS;YAC5I,OAAO;QAET,MAAM,SAAS,GAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAEpF,kFAAkF;QAClF,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM;YAC7D,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAC,KAAK,CAAC,SAAS,EAAC,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,CAAC,SAAqD,EAAE,EAAE;YAChF,MAAM,aAAa,GAAmB,EAAE,WAAW,EAAE,oCAAmB,CAAC,SAAS,EAAE,CAAC;YACrF,IAAI,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;YACxC,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBACjE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC5B,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;aACrC;iBAAM,IAAI,SAAS,CAAC,eAAe,EAAE;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAChE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC5B,QAAQ,GAAG,kCAAiB,CAAC,KAAK,CAAC;aACpC;iBAAM,IAAI,SAAS,CAAC,eAAe,EAAE;gBACpC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC5C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBACrC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC7C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,cAAc,EAAE;gBACnC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;gBAC3C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBACrC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC7C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM,IAAI,SAAS,CAAC,cAAc,EAAE;gBACnC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;gBAC3C,QAAQ,GAAG,kCAAiB,CAAC,OAAO,CAAC;aACtC;iBAAM;gBACL,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;aACjC;YAED,OAAO,EAAE,aAAa,EAAG,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,SAAuB,EAAE,SAAqD,EAAE,EAAE;YACvG,IAAI,aAAa,GAAmB,EAAE,WAAW,EAAE,oCAAmB,CAAC,SAAS,EAAE,CAAC;YAEnF,IAAI,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;YACxC,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,mBAAmB;mBACpF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,oBAAoB;mBACtF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,yBAAyB;mBAC3F,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,gBAAgB;mBAClF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,mBAAmB;mBACrF,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,EACtF;gBACA,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;oBACrC,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,0CAA0C,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5F,OAAO,SAAS,CAAC;iBAClB;gBAED,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBACvF,MAAM,IAAI,GAAI,KAAK,CAAC,aAAa,CAAC,KAA2B,CAAC;oBAC9D,aAAa,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrC,QAAQ,GAAG,kCAAiB,CAAC,QAAQ,CAAC;iBACvC;qBAAM;oBACL,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;oBAC1B,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;iBACrC;aACF;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,mBAAmB,EAAE;gBAChG,IAAI,SAAS,CAAC,gBAAgB,EAAE;oBAC9B,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;oBAC7C,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;iBACrC;aACF;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,6BAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,qBAAqB,EAAE;gBAClG,IAAI,SAAS,CAAC,gBAAgB,EAAE;oBAC9B,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;oBAC7C,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;iBACrC;qBAAM;oBACL,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;oBACzC,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;wBACrC,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,2CAA2C,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC7F,OAAO,SAAS,CAAC;qBAClB;iBACF;aACF;iBAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE;gBACrC,8GAA8G;gBAC9G,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;gBACpC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;aAC9C;iBAAM,IAAI,SAAS,CAAC,UAAU,KAAK,MAAM,EAAE;gBAC1C,uDAAuD;gBACvD,QAAQ,GAAG,kCAAiB,CAAC,MAAM,CAAC;gBACpC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;aACjC;iBAAM;gBACL,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,kCAAkC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpF,OAAO,SAAS,CAAC;aAClB;YAED,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAEjF,OAAO,IAAI,oCAAoB,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnH,CAAC,CAAC;QAEF,sBAAsB;QACtB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;YACnE,MAAM,YAAY,GAA2B;gBAC3C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;gBACtC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;gBAC1C,OAAO,EAAE,EAAE;aACZ,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,CAAC;YAEV,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE;gBAC1C,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;oBACrB,qBAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,6DAA6D,CAAC,CAAC;oBAC/F,MAAM;iBACP;gBACD,uCAAuC;gBACvC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBACjD,IAAI,IAAI,EAAE;oBACR,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClC;gBAED,CAAC,EAAE,CAAC;aACL;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;gBAChC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC;aACrB;YACD,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,YAAY,WAAW,CAAC,EAAE;gBAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACnC;SACF;QAED,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;CACF;AA9LD,4CA8LC","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 { ArcGisFeatureRenderer } from \"./ArcGisFeatureRenderer\";\r\nimport { esriPBuffer } from \"../ArcGisFeature/esriPBuffer.gen\";\r\nimport { MapFeatureInfoRecord, MapLayerFeatureInfo, MapSubLayerFeatureInfo } from \"@itwin/core-frontend\";\r\nimport { PrimitiveValue, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\r\nimport { ArcGisFeatureReader } from \"./ArcGisFeatureReader\";\r\nimport { ArcGisResponseData } from \"./ArcGisFeatureResponse\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { ArcGisFeatureGeometryType } from \"./ArcGisFeatureQuery\";\r\n\r\nconst esriGeometryType = esriPBuffer.FeatureCollectionPBuffer.GeometryType;\r\nconst loggerCategory = \"MapLayersFormats.ArcGISFeature\";\r\n\r\ninterface PbfFieldInfo {\r\n name: string;\r\n type: esriPBuffer.FeatureCollectionPBuffer.FieldType;\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGisFeaturePBF extends ArcGisFeatureReader {\r\n public constructor(settings: ImageMapLayerSettings, layerMetadata: any) {\r\n super(settings, layerMetadata);\r\n }\r\n\r\n public static getArcGisFeatureGeometryType(geomType: esriPBuffer.FeatureCollectionPBuffer.GeometryType): ArcGisFeatureGeometryType {\r\n switch (geomType) {\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypeMultipatch:\r\n return \"esriGeometryMultiPatch\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypeMultipoint:\r\n return \"esriGeometryMultipoint\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypePoint:\r\n return \"esriGeometryPoint\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypePolygon:\r\n return \"esriGeometryPolygon\";\r\n case esriPBuffer.FeatureCollectionPBuffer.GeometryType.esriGeometryTypePolyline:\r\n return \"esriGeometryPolyline\";\r\n default:\r\n return \"esriGeometryNull\";\r\n }\r\n }\r\n\r\n public readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer) {\r\n if (!(response.data instanceof esriPBuffer.FeatureCollectionPBuffer)) {\r\n const msg = \"Response was not in PBF format\";\r\n Logger.logError(loggerCategory, msg);\r\n return;\r\n }\r\n\r\n const collection = response.data;\r\n if (!collection.has_queryResult || !collection.queryResult.has_featureResult || collection?.queryResult?.featureResult?.features === undefined)\r\n return;\r\n\r\n const geomType = collection.queryResult.featureResult.geometryType;\r\n const stride = (collection.queryResult.featureResult.hasM || collection.queryResult.featureResult.hasZ) ? 3 : 2;\r\n\r\n // console.log(`Nb Feature: ${collection.queryResult.featureResult.features.length}`);\r\n if (geomType === esriGeometryType.esriGeometryTypePoint ||\r\n geomType === esriGeometryType.esriGeometryTypeMultipoint) {\r\n for (const feature of collection.queryResult.featureResult.features)\r\n renderer.renderPoint(feature.geometry.lengths, feature.geometry.coords, stride, renderer.transform === undefined);\r\n } else if (geomType === esriGeometryType.esriGeometryTypePolyline || geomType === esriGeometryType.esriGeometryTypePolygon) {\r\n const fill = (geomType === esriGeometryType.esriGeometryTypePolygon);\r\n for (const feature of collection.queryResult.featureResult.features)\r\n if (feature?.has_geometry)\r\n renderer.renderPath(feature.geometry.lengths, feature.geometry.coords, fill, stride, renderer.transform === undefined);\r\n }\r\n }\r\n\r\n public readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]) {\r\n if (!(response.data instanceof esriPBuffer.FeatureCollectionPBuffer)) {\r\n\r\n Logger.logError(loggerCategory, \"Response was not in PBF format\");\r\n }\r\n\r\n const collection = response.data as esriPBuffer.FeatureCollectionPBuffer;\r\n if (!collection.has_queryResult || !collection.queryResult.has_featureResult || collection?.queryResult?.featureResult?.features === undefined)\r\n return;\r\n\r\n const layerInfo: MapLayerFeatureInfo = { layerName: this._settings.name, info: [] };\r\n\r\n // Fields metadata is stored outside feature results, create dedicated array first\r\n const fields: PbfFieldInfo[] = [];\r\n for (const field of collection.queryResult.featureResult.fields)\r\n fields.push({name: field.name, type:field.fieldType});\r\n\r\n const getNumericValue = (attrValue: esriPBuffer.FeatureCollectionPBuffer.Value) => {\r\n const propertyValue: PrimitiveValue = { valueFormat: PropertyValueFormat.Primitive };\r\n let typename = StandardTypeNames.Number;\r\n if (attrValue.has_double_value) {\r\n const value = this.toFixedWithoutPadding(attrValue.double_value);\r\n propertyValue.value = value;\r\n typename = StandardTypeNames.Double;\r\n } else if (attrValue.has_float_value) {\r\n const value = this.toFixedWithoutPadding(attrValue.float_value);\r\n propertyValue.value = value;\r\n typename = StandardTypeNames.Float;\r\n } else if (attrValue.has_int64_value) {\r\n propertyValue.value = attrValue.int64_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_sint64_value) {\r\n propertyValue.value = attrValue.sint64_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_sint_value) {\r\n propertyValue.value = attrValue.sint_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_uint64_value) {\r\n propertyValue.value = attrValue.uint64_value;\r\n typename = StandardTypeNames.Integer;\r\n } else if (attrValue.has_uint_value) {\r\n propertyValue.value = attrValue.uint_value;\r\n typename = StandardTypeNames.Integer;\r\n } else {\r\n propertyValue.value = undefined;\r\n }\r\n\r\n return { propertyValue, typename };\r\n };\r\n\r\n const getRecordInfo = (fieldInfo: PbfFieldInfo, attrValue: esriPBuffer.FeatureCollectionPBuffer.Value) => {\r\n let propertyValue: PrimitiveValue = { valueFormat: PropertyValueFormat.Primitive };\r\n\r\n let typename = StandardTypeNames.String;\r\n if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeDouble\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeInteger\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeSmallInteger\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeOID\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeSingle\r\n || fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeDate\r\n ) {\r\n const value = getNumericValue(attrValue);\r\n if (value.propertyValue === undefined) {\r\n Logger.logError(loggerCategory, `Could not read numeric value for field ${fieldInfo.name}`);\r\n return undefined;\r\n }\r\n\r\n if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeDate) {\r\n const test = (value.propertyValue.value as unknown) as number;\r\n propertyValue.value = new Date(test);\r\n typename = StandardTypeNames.DateTime;\r\n } else {\r\n typename = value.typename;\r\n propertyValue = value.propertyValue;\r\n }\r\n } else if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeString) {\r\n if (attrValue.has_string_value) {\r\n propertyValue.value = attrValue.string_value;\r\n typename = StandardTypeNames.String;\r\n }\r\n } else if (fieldInfo.type === esriPBuffer.FeatureCollectionPBuffer.FieldType.esriFieldTypeGlobalID) {\r\n if (attrValue.has_string_value) {\r\n propertyValue.value = attrValue.string_value;\r\n typename = StandardTypeNames.String;\r\n } else {\r\n const value = getNumericValue(attrValue);\r\n if (value.propertyValue === undefined) {\r\n Logger.logError(loggerCategory, `Could not read GlobalId value for field ${fieldInfo.name}`);\r\n return undefined;\r\n }\r\n }\r\n } else if (attrValue.has_string_value) {\r\n // If we reach this case that probably mean we don't support the field type, simply try to output string value\r\n typename = StandardTypeNames.String;\r\n propertyValue.value = attrValue.string_value;\r\n } else if (attrValue.value_type === \"none\") {\r\n // Sometimes fields are just empty, use an empty string\r\n typename = StandardTypeNames.String;\r\n propertyValue.value = undefined;\r\n } else {\r\n Logger.logError(loggerCategory, `Could not read value for field ${fieldInfo.name}`);\r\n return undefined;\r\n }\r\n\r\n propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);\r\n\r\n return new MapFeatureInfoRecord(propertyValue, { name: fieldInfo.name, displayLabel: fieldInfo.name, typename });\r\n };\r\n\r\n // Read feature values\r\n for (const feature of collection.queryResult.featureResult.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 let i = 0;\r\n\r\n for (const attrValue of feature.attributes) {\r\n if (i > fields.length) {\r\n Logger.logError(loggerCategory, \"Error while read feature info data: fields metadata missing\");\r\n break;\r\n }\r\n // Convert everything to string for now\r\n const info = getRecordInfo(fields[i], attrValue);\r\n if (info) {\r\n subLayerInfo.records?.push(info);\r\n }\r\n\r\n i++;\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\r\n featureInfos.push(layerInfo);\r\n }\r\n}\r\n"]}
|
|
@@ -35,14 +35,13 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
|
|
|
35
35
|
get minimumZoomLevel() { return this._minDepthFromLod; }
|
|
36
36
|
get maximumZoomLevel() { return this._maxDepthFromLod; }
|
|
37
37
|
async initialize() {
|
|
38
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
39
38
|
const metadata = await this.getServiceJson();
|
|
40
|
-
const json = metadata
|
|
39
|
+
const json = metadata?.content;
|
|
41
40
|
if (json === undefined) {
|
|
42
41
|
core_bentley_1.Logger.logError(loggerCategory, "Could not get service JSON");
|
|
43
42
|
throw new core_common_1.ServerError(core_bentley_1.IModelStatus.ValidationFailed, "");
|
|
44
43
|
}
|
|
45
|
-
if (
|
|
44
|
+
if (json?.error?.code === core_frontend_1.ArcGisErrorCode.TokenRequired || json?.error?.code === core_frontend_1.ArcGisErrorCode.InvalidToken) {
|
|
46
45
|
// Check again layer status, it might have change during await.
|
|
47
46
|
if (this.status === core_frontend_1.MapLayerImageryProviderStatus.Valid) {
|
|
48
47
|
this.setStatus(core_frontend_1.MapLayerImageryProviderStatus.RequireAuth);
|
|
@@ -108,9 +107,9 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
|
|
|
108
107
|
}
|
|
109
108
|
// Parse server version
|
|
110
109
|
let majorVersion;
|
|
111
|
-
if (
|
|
110
|
+
if (this.serviceJson?.currentVersion) {
|
|
112
111
|
try {
|
|
113
|
-
majorVersion = Math.trunc(
|
|
112
|
+
majorVersion = Math.trunc(this.serviceJson?.currentVersion);
|
|
114
113
|
}
|
|
115
114
|
catch {
|
|
116
115
|
}
|
|
@@ -152,14 +151,14 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
|
|
|
152
151
|
}
|
|
153
152
|
}
|
|
154
153
|
// Check for minScale / max scale
|
|
155
|
-
const minScale =
|
|
156
|
-
const maxScale =
|
|
154
|
+
const minScale = this._layerMetadata?.minScale || undefined; // undefined, 0 -> undefined
|
|
155
|
+
const maxScale = this._layerMetadata?.maxScale || undefined; // undefined, 0 -> undefined
|
|
157
156
|
const scales = core_frontend_1.ArcGisUtilities.getZoomLevelsScales(this.defaultMaximumZoomLevel, this.tileSize, minScale, maxScale, 1.0);
|
|
158
157
|
if (scales.minLod)
|
|
159
158
|
this._minDepthFromLod = scales.minLod;
|
|
160
159
|
// 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)
|
|
161
160
|
this._maxDepthFromLod = (scales.maxLod ? scales.maxLod : this.defaultMaximumZoomLevel);
|
|
162
|
-
this._symbologyRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer(
|
|
161
|
+
this._symbologyRenderer = new ArcGisSymbologyRenderer_1.ArcGisSymbologyRenderer(this._layerMetadata?.geometryType, this._layerMetadata?.drawingInfo?.renderer);
|
|
163
162
|
}
|
|
164
163
|
async getLayerMetadata(layerId) {
|
|
165
164
|
let metadata;
|
|
@@ -170,7 +169,7 @@ class ArcGisFeatureProvider extends core_frontend_1.ArcGISImageryProvider {
|
|
|
170
169
|
}
|
|
171
170
|
catch {
|
|
172
171
|
}
|
|
173
|
-
return metadata
|
|
172
|
+
return metadata?.content;
|
|
174
173
|
}
|
|
175
174
|
get tileSize() { return 512; }
|
|
176
175
|
get format() { return this._format; }
|