@itwin/map-layers-formats 4.1.0-dev.8 → 4.1.0-dev.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -1
- package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.d.ts +19 -0
- package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.d.ts.map +1 -0
- package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.js +46 -0
- package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.js.map +1 -0
- package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js +3 -0
- package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts +16 -8
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +157 -45
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts +5 -0
- package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js +4 -0
- package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts +15 -6
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js +6 -4
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +14 -0
- package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -0
- package/lib/cjs/ArcGisFeature/{ArcGisFeatureJSON.js → ArcGisJsonFeatureReader.js} +51 -55
- package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -0
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +22 -0
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -0
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js +249 -0
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -0
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +32 -77
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +88 -128
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
- package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts +152 -0
- package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts.map +1 -0
- package/lib/cjs/ArcGisFeature/EsriSymbology.js +181 -0
- package/lib/cjs/ArcGisFeature/EsriSymbology.js.map +1 -0
- package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
- package/lib/cjs/Tools/MapFeatureInfoDecorator.d.ts +34 -0
- package/lib/cjs/Tools/MapFeatureInfoDecorator.d.ts.map +1 -0
- package/lib/cjs/Tools/MapFeatureInfoDecorator.js +281 -0
- package/lib/cjs/Tools/MapFeatureInfoDecorator.js.map +1 -0
- package/lib/cjs/Tools/MapFeatureInfoTool.d.ts +38 -0
- package/lib/cjs/Tools/MapFeatureInfoTool.d.ts.map +1 -0
- package/lib/cjs/Tools/MapFeatureInfoTool.js +113 -0
- package/lib/cjs/Tools/MapFeatureInfoTool.js.map +1 -0
- package/lib/cjs/map-layers-formats.d.ts +1 -0
- package/lib/cjs/map-layers-formats.d.ts.map +1 -1
- package/lib/cjs/map-layers-formats.js +1 -0
- package/lib/cjs/map-layers-formats.js.map +1 -1
- package/lib/cjs/mapLayersFormats.d.ts +12 -1
- package/lib/cjs/mapLayersFormats.d.ts.map +1 -1
- package/lib/cjs/mapLayersFormats.js +11 -1
- package/lib/cjs/mapLayersFormats.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts +19 -0
- package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts.map +1 -0
- package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.js +42 -0
- package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.js.map +1 -0
- package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js +4 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +16 -8
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +158 -46
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts +5 -0
- package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js +4 -0
- package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +15 -6
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +4 -2
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +14 -0
- package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -0
- package/lib/esm/ArcGisFeature/{ArcGisFeatureJSON.js → ArcGisJsonFeatureReader.js} +51 -55
- package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -0
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +22 -0
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -0
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js +245 -0
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -0
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +32 -77
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +84 -124
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
- package/lib/esm/ArcGisFeature/EsriSymbology.d.ts +152 -0
- package/lib/esm/ArcGisFeature/EsriSymbology.d.ts.map +1 -0
- package/lib/esm/ArcGisFeature/EsriSymbology.js +170 -0
- package/lib/esm/ArcGisFeature/EsriSymbology.js.map +1 -0
- package/lib/esm/ArcGisFeature/esriPBuffer.gen.js.map +1 -1
- package/lib/esm/Tools/MapFeatureInfoDecorator.d.ts +34 -0
- package/lib/esm/Tools/MapFeatureInfoDecorator.d.ts.map +1 -0
- package/lib/esm/Tools/MapFeatureInfoDecorator.js +277 -0
- package/lib/esm/Tools/MapFeatureInfoDecorator.js.map +1 -0
- package/lib/esm/Tools/MapFeatureInfoTool.d.ts +38 -0
- package/lib/esm/Tools/MapFeatureInfoTool.d.ts.map +1 -0
- package/lib/esm/Tools/MapFeatureInfoTool.js +110 -0
- package/lib/esm/Tools/MapFeatureInfoTool.js.map +1 -0
- package/lib/esm/map-layers-formats.d.ts +1 -0
- package/lib/esm/map-layers-formats.d.ts.map +1 -1
- package/lib/esm/map-layers-formats.js +1 -0
- package/lib/esm/map-layers-formats.js.map +1 -1
- package/lib/esm/mapLayersFormats.d.ts +12 -1
- package/lib/esm/mapLayersFormats.d.ts.map +1 -1
- package/lib/esm/mapLayersFormats.js +13 -2
- package/lib/esm/mapLayersFormats.js.map +1 -1
- package/lib/public/locales/en/mapLayersFormats.json +12 -0
- package/package.json +19 -22
- package/.nycrc +0 -10
- package/.rush/temp/operation/build/all.log +0 -3
- package/.rush/temp/operation/build/state.json +0 -3
- package/.rush/temp/operation/cover/all.log +0 -98
- package/.rush/temp/operation/cover/state.json +0 -3
- package/.rush/temp/operation/docs/all.log +0 -30
- package/.rush/temp/operation/docs/state.json +0 -3
- package/.rush/temp/package-deps_build.json +0 -36
- package/.rush/temp/package-deps_cover.json +0 -36
- package/.rush/temp/package-deps_docs.json +0 -36
- package/.rush/temp/shrinkwrap-deps.json +0 -505
- package/CHANGELOG.json +0 -119
- package/config/rush-project.json +0 -6
- package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts +0 -15
- package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts.map +0 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js.map +0 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts +0 -15
- package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +0 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +0 -201
- package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js.map +0 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts +0 -33
- package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts.map +0 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js +0 -143
- package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +0 -35
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js +0 -162
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js +0 -168
- package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +0 -680
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js +0 -104
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +0 -215
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +0 -95
- package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +0 -2
- package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +0 -60
- package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/Mocks.d.ts +0 -7
- package/lib/cjs/test/ArcGisFeature/Mocks.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/Mocks.js +0 -19
- package/lib/cjs/test/ArcGisFeature/Mocks.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts +0 -56
- package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js +0 -420
- package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js.map +0 -1
- package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +0 -1043
- package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +0 -1
- package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js +0 -427
- package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js.map +0 -1
- package/lib/cjs/test/coverage/.nyc_output/43b4d4c9-a360-43df-88fe-ecfb97b8832b.json +0 -1
- package/lib/cjs/test/coverage/.nyc_output/5c53bf83-e91a-4706-bc7c-fa9b79502114.json +0 -1
- package/lib/cjs/test/coverage/.nyc_output/processinfo/43b4d4c9-a360-43df-88fe-ecfb97b8832b.json +0 -1
- package/lib/cjs/test/coverage/.nyc_output/processinfo/5c53bf83-e91a-4706-bc7c-fa9b79502114.json +0 -1
- package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +0 -1
- package/lib/cjs/test/coverage/cobertura-coverage.xml +0 -1169
- package/lib/cjs/test/coverage/lcov-report/base.css +0 -224
- package/lib/cjs/test/coverage/lcov-report/block-navigation.js +0 -87
- package/lib/cjs/test/coverage/lcov-report/favicon.png +0 -0
- package/lib/cjs/test/coverage/lcov-report/index.html +0 -131
- package/lib/cjs/test/coverage/lcov-report/prettify.css +0 -1
- package/lib/cjs/test/coverage/lcov-report/prettify.js +0 -2
- package/lib/cjs/test/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/lib/cjs/test/coverage/lcov-report/sorter.js +0 -196
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +0 -133
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +0 -550
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +0 -730
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +0 -1546
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +0 -763
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +0 -223
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +0 -598
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +0 -301
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +0 -832
- package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +0 -236
- package/lib/cjs/test/coverage/lcov-report/src/index.html +0 -131
- package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +0 -130
- package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +0 -163
- package/lib/cjs/test/coverage/lcov.info +0 -1358
- package/lib/cjs/tsconfig.tsbuildinfo +0 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts +0 -15
- package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts.map +0 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js.map +0 -1
- package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts +0 -15
- package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts.map +0 -1
- package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +0 -197
- package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js.map +0 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts +0 -33
- package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts.map +0 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js +0 -139
- package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +0 -33
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js +0 -160
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js +0 -166
- package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +0 -678
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js +0 -102
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +0 -213
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +0 -93
- package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +0 -2
- package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +0 -58
- package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/Mocks.d.ts +0 -7
- package/lib/esm/test/ArcGisFeature/Mocks.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/Mocks.js +0 -16
- package/lib/esm/test/ArcGisFeature/Mocks.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts +0 -56
- package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/NewYorkDataset.js +0 -417
- package/lib/esm/test/ArcGisFeature/NewYorkDataset.js.map +0 -1
- package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +0 -1043
- package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts.map +0 -1
- package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js +0 -424
- package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js.map +0 -1
- package/lib/esm/tsconfig.tsbuildinfo +0 -1
- package/lib/test/junit_results.xml +0 -159
- package/map-layers-formats.build.log +0 -30
- package/src/ArcGisFeature/ArcGisFeatureFormat.ts +0 -16
- package/src/ArcGisFeature/ArcGisFeatureJSON.ts +0 -155
- package/src/ArcGisFeature/ArcGisFeaturePBF.ts +0 -215
- package/src/ArcGisFeature/ArcGisFeatureProvider.ts +0 -487
- package/src/ArcGisFeature/ArcGisFeatureQuery.ts +0 -226
- package/src/ArcGisFeature/ArcGisFeatureReader.ts +0 -46
- package/src/ArcGisFeature/ArcGisFeatureRenderer.ts +0 -171
- package/src/ArcGisFeature/ArcGisFeatureResponse.ts +0 -72
- package/src/ArcGisFeature/ArcGisSymbologyRenderer.ts +0 -249
- package/src/ArcGisFeature/esriPBuffer.gen.ts +0 -2612
- package/src/map-layers-formats.ts +0 -15
- package/src/mapLayersFormats.ts +0 -26
- package/src/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.ts +0 -46
- package/src/test/ArcGisFeature/ArcGisFeatureJSON.test.ts +0 -202
- package/src/test/ArcGisFeature/ArcGisFeaturePBF.test.ts +0 -227
- package/src/test/ArcGisFeature/ArcGisFeatureProvider.test.ts +0 -805
- package/src/test/ArcGisFeature/ArcGisFeatureQuery.test.ts +0 -117
- package/src/test/ArcGisFeature/ArcGisFeatureRenderer.test.ts +0 -296
- package/src/test/ArcGisFeature/ArcGisFeatureResponse.test.ts +0 -109
- package/src/test/ArcGisFeature/ArcGisSymbologyRenderer.test.ts +0 -77
- package/src/test/ArcGisFeature/Mocks.ts +0 -19
- package/src/test/ArcGisFeature/NewYorkDataset.ts +0 -423
- package/src/test/ArcGisFeature/PhillyLandmarksDataset.ts +0 -455
- package/tsconfig.json +0 -20
|
@@ -11,6 +11,7 @@ exports.MapLayersFormats = void 0;
|
|
|
11
11
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
12
|
const core_frontend_1 = require("@itwin/core-frontend");
|
|
13
13
|
const ArcGisFeatureFormat_1 = require("./ArcGisFeature/ArcGisFeatureFormat");
|
|
14
|
+
const MapFeatureInfoTool_1 = require("./Tools/MapFeatureInfoTool");
|
|
14
15
|
/** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.
|
|
15
16
|
* @beta
|
|
16
17
|
*/
|
|
@@ -19,11 +20,20 @@ class MapLayersFormats {
|
|
|
19
20
|
* Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).
|
|
20
21
|
* This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).
|
|
21
22
|
*/
|
|
22
|
-
static initialize() {
|
|
23
|
+
static async initialize(config) {
|
|
23
24
|
(0, core_bentley_1.assert)(core_frontend_1.IModelApp.initialized, "MapLayersFormats.initialize must be called after IModelApp.startup and before IModelApp.shutdown");
|
|
24
25
|
if (core_frontend_1.IModelApp.initialized)
|
|
25
26
|
core_frontend_1.IModelApp.mapLayerFormatRegistry.register(ArcGisFeatureFormat_1.ArcGisFeatureMapLayerFormat);
|
|
27
|
+
// register namespace containing localized strings for this package
|
|
28
|
+
MapLayersFormats.localization = config?.localization ?? core_frontend_1.IModelApp.localization;
|
|
29
|
+
await MapLayersFormats.localization.registerNamespace(MapLayersFormats.localizationNamespace);
|
|
30
|
+
MapFeatureInfoTool_1.MapFeatureInfoTool.register(MapLayersFormats.localizationNamespace);
|
|
31
|
+
}
|
|
32
|
+
/** The internationalization service namespace. */
|
|
33
|
+
static get localizationNamespace() {
|
|
34
|
+
return MapLayersFormats._defaultNs;
|
|
26
35
|
}
|
|
27
36
|
}
|
|
37
|
+
MapLayersFormats._defaultNs = "mapLayersFormats";
|
|
28
38
|
exports.MapLayersFormats = MapLayersFormats;
|
|
29
39
|
//# sourceMappingURL=mapLayersFormats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapLayersFormats.js","sourceRoot":"","sources":["../../src/mapLayersFormats.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AACH,sDAA6C;AAC7C,wDAAiD;AACjD,6EAAkF;
|
|
1
|
+
{"version":3,"file":"mapLayersFormats.js","sourceRoot":"","sources":["../../src/mapLayersFormats.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AACH,sDAA6C;AAC7C,wDAAiD;AACjD,6EAAkF;AAClF,mEAAgE;AAUhE;;GAEG;AACH,MAAa,gBAAgB;IAK3B;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA+B;QAC5D,IAAA,qBAAM,EAAC,yBAAS,CAAC,WAAW,EAAE,kGAAkG,CAAC,CAAC;QAClI,IAAI,yBAAS,CAAC,WAAW;YACvB,yBAAS,CAAC,sBAAsB,CAAC,QAAQ,CAAC,iDAA2B,CAAC,CAAC;QAEzE,mEAAmE;QACnE,gBAAgB,CAAC,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,yBAAS,CAAC,YAAY,CAAC;QAC/E,MAAM,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,CACnD,gBAAgB,CAAC,qBAAqB,CACvC,CAAC;QAEF,uCAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACtE,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACrC,CAAC;;AAxBc,2BAAU,GAAG,kBAAkB,CAAC;AAFpC,4CAAgB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module MapLayersFormats\n */\nimport { assert } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { ArcGisFeatureMapLayerFormat } from \"./ArcGisFeature/ArcGisFeatureFormat\";\nimport { MapFeatureInfoTool } from \"./Tools/MapFeatureInfoTool\";\nimport { Localization } from \"@itwin/core-common\";\n\n/** Configuration options.\n * @beta\n */\nexport interface MapLayersFormatsConfig {\n localization?: Localization;\n}\n\n/** The primary API for the `@itwin/map-layers-formats` package. It allows the package's features to be [[initialize]]d.\n * @beta\n */\nexport class MapLayersFormats {\n\n private static _defaultNs = \"mapLayersFormats\";\n public static localization: Localization;\n\n /** Registers the [MapLayerFormat]($frontend)s provided by this package for use with [IModelApp]($frontend).\n * Typically, an application will call `MapLayersFormats.initialize` immediately after [IModelApp.startup]($frontend).\n * This function has no effect if called **before** [IModelApp.startup]($frontend) or **after** [IModelApp.shutdown]($frontend).\n */\n public static async initialize(config?: MapLayersFormatsConfig): Promise<void> {\n assert(IModelApp.initialized, \"MapLayersFormats.initialize must be called after IModelApp.startup and before IModelApp.shutdown\");\n if (IModelApp.initialized)\n IModelApp.mapLayerFormatRegistry.register(ArcGisFeatureMapLayerFormat);\n\n // register namespace containing localized strings for this package\n MapLayersFormats.localization = config?.localization ?? IModelApp.localization;\n await MapLayersFormats.localization.registerNamespace(\n MapLayersFormats.localizationNamespace,\n );\n\n MapFeatureInfoTool.register(MapLayersFormats.localizationNamespace);\n }\n\n /** The internationalization service namespace. */\n public static get localizationNamespace(): string {\n return MapLayersFormats._defaultNs;\n }\n\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Transform } from "@itwin/core-geometry";
|
|
2
|
+
import { ArcGisSymbologyRenderer } from "./ArcGisSymbologyRenderer";
|
|
3
|
+
import { ArcGisAttributeDrivenSymbology, ArcGisGeometryBaseRenderer } from "@itwin/core-frontend";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {
|
|
6
|
+
private _context;
|
|
7
|
+
private _symbol;
|
|
8
|
+
get attributeSymbology(): ArcGisAttributeDrivenSymbology | undefined;
|
|
9
|
+
constructor(context: CanvasRenderingContext2D, symbol: ArcGisSymbologyRenderer, world2PixelTransform?: Transform);
|
|
10
|
+
protected beginPath(): void;
|
|
11
|
+
protected closePath(): void;
|
|
12
|
+
protected lineTo(x: number, y: number): void;
|
|
13
|
+
protected moveTo(x: number, y: number): void;
|
|
14
|
+
protected fill(): Promise<void>;
|
|
15
|
+
protected stroke(): Promise<void>;
|
|
16
|
+
protected finishPoints(): Promise<void>;
|
|
17
|
+
protected drawPoint(x: number, y: number): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=ArcGisCanvasRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArcGisCanvasRenderer.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisCanvasRenderer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElG,gBAAgB;AAChB,qBAAa,oBAAqB,SAAQ,0BAA0B;IAClE,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAA0B;IAEzC,IAAoB,kBAAkB,IAAI,8BAA8B,GAAG,SAAS,CAEnF;gBAEW,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,EAAE,SAAS;IAMhH,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAIrC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;cAIrB,IAAI;cAKJ,MAAM;cAKN,YAAY;cAGZ,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAG/C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { ArcGisGeometryBaseRenderer } from "@itwin/core-frontend";
|
|
6
|
+
/** @internal */
|
|
7
|
+
export class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {
|
|
8
|
+
get attributeSymbology() {
|
|
9
|
+
return this._symbol.isAttributeDriven() ? this._symbol : undefined;
|
|
10
|
+
}
|
|
11
|
+
constructor(context, symbol, world2PixelTransform) {
|
|
12
|
+
super(world2PixelTransform);
|
|
13
|
+
this._symbol = symbol;
|
|
14
|
+
this._context = context;
|
|
15
|
+
}
|
|
16
|
+
beginPath() {
|
|
17
|
+
this._context.beginPath();
|
|
18
|
+
}
|
|
19
|
+
closePath() {
|
|
20
|
+
this._context.closePath();
|
|
21
|
+
}
|
|
22
|
+
lineTo(x, y) {
|
|
23
|
+
this._context.lineTo(x, y);
|
|
24
|
+
}
|
|
25
|
+
moveTo(x, y) {
|
|
26
|
+
this._context.moveTo(x, y);
|
|
27
|
+
}
|
|
28
|
+
async fill() {
|
|
29
|
+
this._symbol.applyFillStyle(this._context);
|
|
30
|
+
this._context.fill();
|
|
31
|
+
}
|
|
32
|
+
async stroke() {
|
|
33
|
+
this._symbol.applyStrokeStyle(this._context);
|
|
34
|
+
this._context.stroke();
|
|
35
|
+
}
|
|
36
|
+
async finishPoints() {
|
|
37
|
+
}
|
|
38
|
+
async drawPoint(x, y) {
|
|
39
|
+
this._symbol.drawPoint(this._context, x, y);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ArcGisCanvasRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArcGisCanvasRenderer.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisCanvasRenderer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAI/F,OAAO,EAAkC,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElG,gBAAgB;AAChB,MAAM,OAAO,oBAAqB,SAAQ,0BAA0B;IAIlE,IAAoB,kBAAkB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAED,YAAY,OAAiC,EAAE,MAA+B,EAAE,oBAAgC;QAC9G,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAES,MAAM,CAAC,CAAS,EAAE,CAAS;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAES,MAAM,CAAC,CAAS,EAAE,CAAS;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,MAAM;QACpB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,YAAY;IAC5B,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS;QAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { Transform } from \"@itwin/core-geometry\";\nimport { ArcGisSymbologyRenderer } from \"./ArcGisSymbologyRenderer\";\nimport { ArcGisAttributeDrivenSymbology, ArcGisGeometryBaseRenderer } from \"@itwin/core-frontend\";\n\n/** @internal */\nexport class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {\n private _context: CanvasRenderingContext2D;\n private _symbol: ArcGisSymbologyRenderer;\n\n public override get attributeSymbology(): ArcGisAttributeDrivenSymbology | undefined {\n return this._symbol.isAttributeDriven() ? this._symbol : undefined;\n }\n\n constructor(context: CanvasRenderingContext2D, symbol: ArcGisSymbologyRenderer, world2PixelTransform?: Transform) {\n super(world2PixelTransform);\n this._symbol = symbol;\n this._context = context;\n }\n\n protected beginPath() {\n this._context.beginPath();\n }\n\n protected closePath() {\n this._context.closePath();\n }\n\n protected lineTo(x: number, y: number) {\n this._context.lineTo(x, y);\n }\n\n protected moveTo(x: number, y: number) {\n this._context.moveTo(x, y);\n }\n\n protected async fill() {\n this._symbol.applyFillStyle(this._context);\n this._context.fill();\n }\n\n protected async stroke() {\n this._symbol.applyStrokeStyle(this._context);\n this._context.stroke();\n }\n\n protected async finishPoints() {\n }\n\n protected async drawPoint(x: number, y: number) {\n this._symbol.drawPoint(this._context, x, y);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGisFeatureFormat.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAmB,qBAAqB,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ArcGisFeatureFormat.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAmB,qBAAqB,EAAE,uBAAuB,EAAwB,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGvJ,gBAAgB;AAChB,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAuB,QAAQ,SAAmB;WAC3B,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,SAAS;WACrF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAOzJ"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { ArcGisUtilities, ImageryMapLayerFormat } from "@itwin/core-frontend";
|
|
1
|
+
import { ArcGisUtilities, ImageryMapLayerFormat, MapLayerSourceStatus } from "@itwin/core-frontend";
|
|
2
2
|
import { ArcGisFeatureProvider } from "./ArcGisFeatureProvider";
|
|
3
3
|
/** @internal */
|
|
4
4
|
class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {
|
|
5
5
|
static createImageryProvider(settings) { return new ArcGisFeatureProvider(settings); }
|
|
6
6
|
static async validateSource(url, userName, password, ignoreCache) {
|
|
7
|
+
const urlValidation = ArcGisUtilities.validateUrl(url, "FeatureServer");
|
|
8
|
+
if (urlValidation !== MapLayerSourceStatus.Valid)
|
|
9
|
+
return { status: urlValidation };
|
|
7
10
|
return ArcGisUtilities.validateSource(url, this.formatId, ["query"], userName, password, ignoreCache);
|
|
8
11
|
}
|
|
9
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGisFeatureFormat.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ArcGisFeatureFormat.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureFormat.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA2B,oBAAoB,EAA4B,MAAM,sBAAsB,CAAC;AACvJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,gBAAgB;AAChB,MAAa,2BAA4B,SAAQ,qBAAqB;IAE7D,MAAM,CAAU,qBAAqB,CAAC,QAA+B,IAAyC,OAAO,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3J,MAAM,CAAU,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,QAAiB,EAAE,QAAiB,EAAE,WAAqB;QAClH,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxE,IAAI,aAAa,KAAK,oBAAoB,CAAC,KAAK;YAC9C,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC;QAEjC,OAAO,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxG,CAAC;;AARsB,oCAAQ,GAAG,eAAe,CAAC;SADvC,2BAA2B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\nimport { ArcGisUtilities, ImageryMapLayerFormat, MapLayerImageryProvider, MapLayerSourceStatus, MapLayerSourceValidation } from \"@itwin/core-frontend\";\nimport { ArcGisFeatureProvider } from \"./ArcGisFeatureProvider\";\n\n/** @internal */\nexport class ArcGisFeatureMapLayerFormat extends ImageryMapLayerFormat {\n public static override formatId = \"ArcGISFeature\";\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined { return new ArcGisFeatureProvider(settings); }\n public static override async validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\n const urlValidation = ArcGisUtilities.validateUrl(url, \"FeatureServer\");\n if (urlValidation !== MapLayerSourceStatus.Valid)\n return {status: urlValidation};\n\n return ArcGisUtilities.validateSource(url, this.formatId, [\"query\"], userName, password, ignoreCache);\n }\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Cartographic, ImageMapLayerSettings, ImageSource } from "@itwin/core-common";
|
|
2
2
|
import { Transform } from "@itwin/core-geometry";
|
|
3
|
-
import { ArcGISImageryProvider, ImageryMapTileTree, MapLayerFeatureInfo, QuadId } from "@itwin/core-frontend";
|
|
4
|
-
import { ArcGisExtent, ArcGisFeatureFormat, ArcGisGeometry } from "./ArcGisFeatureQuery";
|
|
3
|
+
import { ArcGISImageryProvider, HitDetail, ImageryMapTileTree, MapLayerFeatureInfo, QuadId } from "@itwin/core-frontend";
|
|
4
|
+
import { ArcGisExtent, ArcGisFeatureFormat, ArcGisFeatureGeometryType, ArcGisFeatureResultType, ArcGisGeometry } from "./ArcGisFeatureQuery";
|
|
5
|
+
import { EsriPMS, EsriSFS, EsriSLS } from "./EsriSymbology";
|
|
5
6
|
/**
|
|
6
7
|
* @internal
|
|
7
8
|
*/
|
|
@@ -16,26 +17,33 @@ export declare class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
16
17
|
private _drawDebugInfo;
|
|
17
18
|
private _debugFeatureGeom;
|
|
18
19
|
private _supportsCoordinatesQuantization;
|
|
19
|
-
private _querySupported;
|
|
20
20
|
private _layerId;
|
|
21
21
|
private _layerMetadata;
|
|
22
22
|
private _format;
|
|
23
|
-
serviceJson: any;
|
|
24
|
-
private _symbologyRenderer;
|
|
25
|
-
private static readonly _nbSubTiles;
|
|
26
23
|
private _outSR;
|
|
27
24
|
private _maxDepthFromLod;
|
|
28
25
|
private _minDepthFromLod;
|
|
26
|
+
private _defaultSymbol;
|
|
27
|
+
private _renderer;
|
|
28
|
+
private static readonly _nbSubTiles;
|
|
29
|
+
serviceJson: any;
|
|
30
|
+
private static readonly defaultPMS;
|
|
31
|
+
private static readonly defaultSLS;
|
|
32
|
+
private static readonly defaultSFS;
|
|
29
33
|
get minimumZoomLevel(): number;
|
|
30
34
|
get maximumZoomLevel(): number;
|
|
35
|
+
private static _extentCache;
|
|
31
36
|
constructor(settings: ImageMapLayerSettings);
|
|
32
37
|
initialize(): Promise<void>;
|
|
38
|
+
static getDefaultSymbology(geomType: ArcGisFeatureGeometryType): EsriSFS | EsriSLS | EsriPMS | undefined;
|
|
39
|
+
private fetchLayerExtent;
|
|
40
|
+
private setCartoRangeFromExtentJson;
|
|
33
41
|
protected getLayerMetadata(layerId: number): Promise<any>;
|
|
34
42
|
get tileSize(): number;
|
|
35
43
|
get format(): ArcGisFeatureFormat | undefined;
|
|
36
44
|
constructUrl(_row: number, _column: number, _zoomLevel: number): Promise<string>;
|
|
37
|
-
constructFeatureUrl(row: number, column: number, zoomLevel: number, format: ArcGisFeatureFormat, geomOverride?: ArcGisGeometry, outFields?: string, tolerance?: number, returnGeometry?: boolean): ArcGisFeatureUrl | undefined;
|
|
38
|
-
getFeatureInfo(featureInfos: MapLayerFeatureInfo[], quadId: QuadId, carto: Cartographic, _tree: ImageryMapTileTree): Promise<void>;
|
|
45
|
+
constructFeatureUrl(row: number, column: number, zoomLevel: number, format: ArcGisFeatureFormat, resultType: ArcGisFeatureResultType, geomOverride?: ArcGisGeometry, outFields?: string, tolerance?: number, returnGeometry?: boolean, maxAllowableOffset?: number): ArcGisFeatureUrl | undefined;
|
|
46
|
+
getFeatureInfo(featureInfos: MapLayerFeatureInfo[], quadId: QuadId, carto: Cartographic, _tree: ImageryMapTileTree, hit: HitDetail): Promise<void>;
|
|
39
47
|
private fetchTile;
|
|
40
48
|
drawTileDebugInfo(row: number, column: number, zoomLevel: number, context: CanvasRenderingContext2D): void;
|
|
41
49
|
protected computeTileWorld2CanvasTransform(row: number, column: number, zoomLevel: number): Transform | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGisFeatureProvider.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAkC,MAAM,oBAAoB,CAAC;AAEtH,OAAO,EAA8B,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"ArcGisFeatureProvider.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/ArcGisFeatureProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAkC,MAAM,oBAAoB,CAAC;AAEtH,OAAO,EAA8B,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAA2C,qBAAqB,EAA0C,SAAS,EAAE,kBAAkB,EAAqB,mBAAmB,EAAiC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5P,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAsB,uBAAuB,EAAE,cAAc,EAAkC,MAAM,sBAAsB,CAAC;AAOjM,OAAO,EAAE,OAAO,EAA8B,OAAO,EAAgB,OAAO,EAAqD,MAAM,iBAAiB,CAAC;AAGzJ;;EAEE;AACF,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;EAEE;AACF,qBAAa,qBAAsB,SAAQ,qBAAqB;IAE9D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,gCAAgC,CAAS;IAEjD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,SAAS,CAAyB;IAE1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACjC,WAAW,EAAE,GAAG,CAAC;IAExB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAShC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAKhC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAKhC;IAEF,IAAoB,gBAAgB,IAAI,MAAM,CAAkC;IAChF,IAAoB,gBAAgB,IAAI,MAAM,CAAkC;IAEhF,OAAO,CAAC,MAAM,CAAC,YAAY,CAA0B;gBAEzC,QAAQ,EAAE,qBAAqB;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WAsKnC,mBAAmB,CAAC,QAAQ,EAAE,yBAAyB;YAavD,gBAAgB;IAmB9B,OAAO,CAAC,2BAA2B;cAanB,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAYhD,IAAoB,QAAQ,IAAI,MAAM,CAAgB;IACtD,IAAW,MAAM,IAAI,mBAAmB,GAAG,SAAS,CAAyB;IAGhE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItF,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,uBAAuB,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IA4DlR,cAAc,CAAC,YAAY,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YA+E1J,SAAS;IAsBhB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB;IAU1G,SAAS,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAsBnE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CA0GjH"}
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
3
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
var _a;
|
|
5
6
|
import { ImageSource, ImageSourceFormat, ServerError } from "@itwin/core-common";
|
|
6
7
|
import { base64StringToUint8Array, IModelStatus, Logger } from "@itwin/core-bentley";
|
|
7
8
|
import { Matrix4d, Point3d, Range2d } from "@itwin/core-geometry";
|
|
8
|
-
import { ArcGisErrorCode, ArcGISImageryProvider, ArcGisUtilities, MapCartoRectangle, MapLayerImageryProviderStatus } from "@itwin/core-frontend";
|
|
9
|
+
import { ArcGisErrorCode, ArcGisGraphicsRenderer, ArcGISImageryProvider, ArcGisUtilities, MapCartoRectangle, MapLayerImageryProviderStatus } from "@itwin/core-frontend";
|
|
9
10
|
import { ArcGisSymbologyRenderer } from "./ArcGisSymbologyRenderer";
|
|
10
11
|
import { ArcGisFeatureQuery } from "./ArcGisFeatureQuery";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { ArcGisFeatureJSON } from "./ArcGisFeatureJSON";
|
|
12
|
+
import { ArcGisPbfFeatureReader } from "./ArcGisPbfFeatureReader";
|
|
13
|
+
import { ArcGisJsonFeatureReader } from "./ArcGisJsonFeatureReader";
|
|
14
14
|
import { ArcGisFeatureResponse } from "./ArcGisFeatureResponse";
|
|
15
|
+
import { ArcGisCanvasRenderer } from "./ArcGisCanvasRenderer";
|
|
16
|
+
import { EsriPMS, EsriRenderer, EsriSFS, EsriSLS } from "./EsriSymbology";
|
|
15
17
|
const loggerCategory = "MapLayersFormats.ArcGISFeature";
|
|
16
18
|
/** Provide tiles from a ESRI ArcGIS Feature service
|
|
17
19
|
* @internal
|
|
@@ -21,11 +23,10 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
21
23
|
get maximumZoomLevel() { return this._maxDepthFromLod; }
|
|
22
24
|
constructor(settings) {
|
|
23
25
|
super(settings, true);
|
|
24
|
-
// Debug flags, should always be
|
|
26
|
+
// Debug flags, should always be committed to FALSE !
|
|
25
27
|
this._drawDebugInfo = false;
|
|
26
28
|
this._debugFeatureGeom = false;
|
|
27
29
|
this._supportsCoordinatesQuantization = false;
|
|
28
|
-
this._querySupported = false;
|
|
29
30
|
this._layerId = 0;
|
|
30
31
|
this._outSR = 102100;
|
|
31
32
|
this._maxDepthFromLod = 0;
|
|
@@ -71,6 +72,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
71
72
|
for (const layer of this.serviceJson.layers) {
|
|
72
73
|
if (layer.defaultVisibility) {
|
|
73
74
|
this._layerId = layer.id;
|
|
75
|
+
break;
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
}
|
|
@@ -134,17 +136,23 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
134
136
|
throw new ServerError(IModelStatus.ValidationFailed, "");
|
|
135
137
|
}
|
|
136
138
|
// Read range using full extent from service metadata
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const
|
|
147
|
-
|
|
139
|
+
if (this._layerMetadata?.extent) {
|
|
140
|
+
const layerExtent = this._layerMetadata.extent;
|
|
141
|
+
if (layerExtent.spatialReference.latestWkid === 3857 || layerExtent.spatialReference.wkid === 102100) {
|
|
142
|
+
this.setCartoRangeFromExtentJson(layerExtent);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (!this.cartoRange) {
|
|
146
|
+
// Range could not be found (or is not in a coordinate system we support), make a request to compute the extent
|
|
147
|
+
try {
|
|
148
|
+
const extentJson = await this.fetchLayerExtent();
|
|
149
|
+
if (extentJson)
|
|
150
|
+
this.setCartoRangeFromExtentJson(extentJson);
|
|
151
|
+
else
|
|
152
|
+
Logger.logWarning(loggerCategory, `Could not get features extent, disabling extent filtering`);
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
Logger.logError(loggerCategory, `Could not get feature extent`);
|
|
148
156
|
}
|
|
149
157
|
}
|
|
150
158
|
// Check for minScale / max scale
|
|
@@ -155,7 +163,65 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
155
163
|
this._minDepthFromLod = scales.minLod;
|
|
156
164
|
// Some servers advertises a max LOD of 0, it should be interpreted as 'not defined' (otherwise a max lod of 0 would would mean never display anything)
|
|
157
165
|
this._maxDepthFromLod = (scales.maxLod ? scales.maxLod : this.defaultMaximumZoomLevel);
|
|
158
|
-
this.
|
|
166
|
+
this._defaultSymbol = ArcGisFeatureProvider.getDefaultSymbology(this._layerMetadata?.geometryType);
|
|
167
|
+
if (!this._defaultSymbol) {
|
|
168
|
+
Logger.logError(loggerCategory, "Could not determine default symbology: geometry type not supported");
|
|
169
|
+
throw new Error("Could not determine default symbology: geometry type not supported");
|
|
170
|
+
}
|
|
171
|
+
if (this._defaultSymbol.type === "esriPMS") {
|
|
172
|
+
await this._defaultSymbol.loadImage();
|
|
173
|
+
}
|
|
174
|
+
try {
|
|
175
|
+
this._renderer = EsriRenderer.fromJSON(this._layerMetadata?.drawingInfo?.renderer);
|
|
176
|
+
await this._renderer.initialize();
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
Logger.logError(loggerCategory, `Could not initialize symbology renderer`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
static getDefaultSymbology(geomType) {
|
|
183
|
+
if (geomType) {
|
|
184
|
+
if (geomType === "esriGeometryPoint" || geomType === "esriGeometryMultipoint") {
|
|
185
|
+
return EsriPMS.fromJSON(ArcGisFeatureProvider.defaultPMS);
|
|
186
|
+
}
|
|
187
|
+
else if (geomType === "esriGeometryLine" || geomType === "esriGeometryPolyline") {
|
|
188
|
+
return EsriSLS.fromJSON(ArcGisFeatureProvider.defaultSLS);
|
|
189
|
+
}
|
|
190
|
+
else if (geomType === "esriGeometryPolygon") {
|
|
191
|
+
return EsriSFS.fromJSON(ArcGisFeatureProvider.defaultSFS);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
async fetchLayerExtent() {
|
|
197
|
+
let extentJson;
|
|
198
|
+
const tmpUrl = new URL(this._settings.url);
|
|
199
|
+
tmpUrl.pathname = `${tmpUrl.pathname}/${this._layerId}/query`;
|
|
200
|
+
tmpUrl.searchParams.append("where", "1=1");
|
|
201
|
+
tmpUrl.searchParams.append("outSR", "3857");
|
|
202
|
+
tmpUrl.searchParams.append("returnExtentOnly", "true");
|
|
203
|
+
tmpUrl.searchParams.append("f", "json");
|
|
204
|
+
const cached = ArcGisFeatureProvider._extentCache.get(tmpUrl.toString());
|
|
205
|
+
if (cached) {
|
|
206
|
+
extentJson = cached;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
const response = await this.fetch(tmpUrl, { method: "GET" });
|
|
210
|
+
extentJson = await response.json();
|
|
211
|
+
ArcGisFeatureProvider._extentCache.set(tmpUrl.toString(), extentJson);
|
|
212
|
+
}
|
|
213
|
+
return (extentJson ? extentJson.extent : undefined);
|
|
214
|
+
}
|
|
215
|
+
setCartoRangeFromExtentJson(extent) {
|
|
216
|
+
const range3857 = Range2d.createFrom({
|
|
217
|
+
low: { x: extent.xmin, y: extent.ymin },
|
|
218
|
+
high: { x: extent.xmax, y: extent.ymax },
|
|
219
|
+
});
|
|
220
|
+
const west = this.getEPSG4326Lon(range3857.xLow);
|
|
221
|
+
const south = this.getEPSG4326Lat(range3857.yLow);
|
|
222
|
+
const east = this.getEPSG4326Lon(range3857.xHigh);
|
|
223
|
+
const north = this.getEPSG4326Lat(range3857.yHigh);
|
|
224
|
+
this.cartoRange = MapCartoRectangle.fromDegrees(west, south, east, north);
|
|
159
225
|
}
|
|
160
226
|
async getLayerMetadata(layerId) {
|
|
161
227
|
let metadata;
|
|
@@ -174,7 +240,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
174
240
|
async constructUrl(_row, _column, _zoomLevel) {
|
|
175
241
|
return "";
|
|
176
242
|
}
|
|
177
|
-
constructFeatureUrl(row, column, zoomLevel, format, geomOverride, outFields, tolerance, returnGeometry) {
|
|
243
|
+
constructFeatureUrl(row, column, zoomLevel, format, resultType, geomOverride, outFields, tolerance, returnGeometry, maxAllowableOffset) {
|
|
178
244
|
const tileExtent = this.getEPSG3857Extent(row, column, zoomLevel);
|
|
179
245
|
const tileEnvelope = {
|
|
180
246
|
xmin: tileExtent.left, ymin: tileExtent.bottom,
|
|
@@ -194,7 +260,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
194
260
|
}
|
|
195
261
|
let quantizationParameters;
|
|
196
262
|
const toleranceWorld = (tileExtent.top - tileExtent.bottom) / this.tileSize;
|
|
197
|
-
if (this._supportsCoordinatesQuantization) {
|
|
263
|
+
if (resultType === "tile" && this._supportsCoordinatesQuantization) {
|
|
198
264
|
quantizationParameters = {
|
|
199
265
|
mode: "view",
|
|
200
266
|
originPosition: "upperLeft",
|
|
@@ -202,15 +268,18 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
202
268
|
extent: tileEnvelope,
|
|
203
269
|
};
|
|
204
270
|
}
|
|
205
|
-
const url = new ArcGisFeatureQuery(this._settings.url, this._layerId, format, this._outSR, {
|
|
271
|
+
const url = new ArcGisFeatureQuery(this._settings.url, this._layerId, format, this._outSR, {
|
|
272
|
+
geometry,
|
|
206
273
|
geometryType: "esriGeometryEnvelope",
|
|
207
274
|
returnExceededLimitFeatures: false,
|
|
208
275
|
maxRecordCountFactor: 3,
|
|
209
|
-
resultType
|
|
276
|
+
resultType,
|
|
210
277
|
quantizationParameters,
|
|
211
278
|
outFields,
|
|
212
279
|
returnGeometry,
|
|
213
|
-
distance: (tolerance ? tolerance * toleranceWorld : undefined)
|
|
280
|
+
distance: (tolerance ? tolerance * toleranceWorld : undefined),
|
|
281
|
+
maxAllowableOffset,
|
|
282
|
+
});
|
|
214
283
|
let envelope;
|
|
215
284
|
if (geomOverride && geomOverride.type === "esriGeometryEnvelope") {
|
|
216
285
|
envelope = geomOverride.geom;
|
|
@@ -221,16 +290,27 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
221
290
|
return { url: url.toString(), envelope };
|
|
222
291
|
}
|
|
223
292
|
// Makes an identify request to ESRI MapService , and return it as a list MapLayerFeatureInfo object
|
|
224
|
-
async getFeatureInfo(featureInfos, quadId, carto, _tree) {
|
|
293
|
+
async getFeatureInfo(featureInfos, quadId, carto, _tree, hit) {
|
|
225
294
|
if (!this._querySupported || this.format === undefined)
|
|
226
295
|
return;
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
296
|
+
const epsg3857X = this.getEPSG3857X(carto.longitudeDegrees);
|
|
297
|
+
const epsg3857Y = this.getEPSG3857Y(carto.latitudeDegrees);
|
|
298
|
+
const tileExtent = this.getEPSG3857Extent(quadId.row, quadId.column, quadId.level);
|
|
299
|
+
const tilePixelSize = (tileExtent.top - tileExtent.bottom) / this.tileSize;
|
|
300
|
+
const tolerancePixel = 3;
|
|
301
|
+
const toleranceWorld = tilePixelSize * tolerancePixel;
|
|
302
|
+
// Note: We used to pass a single point as the query 'geometry' and leverage the 'distance' parameter, turns
|
|
303
|
+
// out that approach was a lot slower on some server compared to using a single envelope.
|
|
304
|
+
const queryEnvelope = {
|
|
305
|
+
type: "esriGeometryEnvelope",
|
|
306
|
+
geom: {
|
|
307
|
+
xmin: epsg3857X - toleranceWorld, ymin: epsg3857Y - toleranceWorld,
|
|
308
|
+
xmax: epsg3857X + toleranceWorld, ymax: epsg3857Y + toleranceWorld,
|
|
309
|
+
spatialReference: { wkid: 102100, latestWkid: 3857 },
|
|
310
|
+
}
|
|
231
311
|
};
|
|
232
312
|
const doFeatureInfoQuery = async (format, outFields, returnGeometry) => {
|
|
233
|
-
const infoUrl = this.constructFeatureUrl(quadId.row, quadId.column, quadId.level, format,
|
|
313
|
+
const infoUrl = this.constructFeatureUrl(quadId.row, quadId.column, quadId.level, format, "standard", queryEnvelope, outFields, undefined, returnGeometry, toleranceWorld);
|
|
234
314
|
if (!infoUrl || infoUrl.url.length === 0) {
|
|
235
315
|
Logger.logError(loggerCategory, `Could not construct feature info query URL`);
|
|
236
316
|
return undefined;
|
|
@@ -243,32 +323,36 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
243
323
|
try {
|
|
244
324
|
let responseData = await doFeatureInfoQuery("PBF", "", true);
|
|
245
325
|
if (responseData) {
|
|
246
|
-
|
|
326
|
+
const json = JSON.stringify(responseData.data.toObject());
|
|
327
|
+
Logger.logInfo(loggerCategory, json);
|
|
247
328
|
}
|
|
248
329
|
responseData = await doFeatureInfoQuery("JSON", "", true);
|
|
249
330
|
if (responseData) {
|
|
250
|
-
|
|
331
|
+
const json = JSON.stringify(responseData.data);
|
|
332
|
+
Logger.logInfo(loggerCategory, json);
|
|
251
333
|
}
|
|
252
334
|
}
|
|
253
335
|
catch (e) {
|
|
254
|
-
Logger.logInfo(loggerCategory, `Error
|
|
336
|
+
Logger.logInfo(loggerCategory, `Error occurred with debug FeatureInfo: ${e}`);
|
|
255
337
|
}
|
|
256
338
|
}
|
|
257
339
|
try {
|
|
258
|
-
|
|
340
|
+
// Feature Info requests are always made in JSON for now.
|
|
341
|
+
const responseData = await doFeatureInfoQuery("JSON", "*", true);
|
|
259
342
|
if (!responseData) {
|
|
260
343
|
Logger.logError(loggerCategory, `Could not get feature info data`);
|
|
261
344
|
return;
|
|
262
345
|
}
|
|
263
346
|
if (responseData.exceedTransferLimit) {
|
|
264
|
-
Logger.logError(loggerCategory, `Could not get feature info :
|
|
347
|
+
Logger.logError(loggerCategory, `Could not get feature info : transfer limit exceeded.`);
|
|
265
348
|
return;
|
|
266
349
|
}
|
|
267
|
-
const featureReader =
|
|
268
|
-
|
|
350
|
+
const featureReader = new ArcGisJsonFeatureReader(this._settings, this._layerMetadata);
|
|
351
|
+
const renderer = new ArcGisGraphicsRenderer(hit.iModel);
|
|
352
|
+
await featureReader.readFeatureInfo(responseData, featureInfos, renderer);
|
|
269
353
|
}
|
|
270
354
|
catch (e) {
|
|
271
|
-
Logger.logError(loggerCategory, `Exception
|
|
355
|
+
Logger.logError(loggerCategory, `Exception occurred while loading feature info data : ${e}`);
|
|
272
356
|
return;
|
|
273
357
|
}
|
|
274
358
|
return;
|
|
@@ -278,7 +362,13 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
278
362
|
return undefined;
|
|
279
363
|
}
|
|
280
364
|
const geomOverride = (refineEnvelope ? { geom: refineEnvelope, type: "esriGeometryEnvelope" } : undefined);
|
|
281
|
-
|
|
365
|
+
let outFields;
|
|
366
|
+
if (this._renderer?.type === "uniqueValue") {
|
|
367
|
+
const uvRenderer = this._renderer;
|
|
368
|
+
if (uvRenderer.field1)
|
|
369
|
+
outFields = uvRenderer.field1;
|
|
370
|
+
}
|
|
371
|
+
const tileUrl = this.constructFeatureUrl(row, column, zoomLevel, this.format, "tile", geomOverride, outFields);
|
|
282
372
|
if (!tileUrl || tileUrl.url.length === 0) {
|
|
283
373
|
Logger.logError(loggerCategory, `Could not construct feature query URL for tile ${zoomLevel}/${row}/${column}`);
|
|
284
374
|
return undefined;
|
|
@@ -325,10 +415,6 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
325
415
|
Logger.logError(loggerCategory, "No canvas context available for loading tile.");
|
|
326
416
|
return undefined;
|
|
327
417
|
}
|
|
328
|
-
if (!this._symbologyRenderer) {
|
|
329
|
-
Logger.logError(loggerCategory, "No symbology renderer available for loading tile.");
|
|
330
|
-
return undefined;
|
|
331
|
-
}
|
|
332
418
|
try {
|
|
333
419
|
// Compute transform if CoordinatesQuantization is not supported by service
|
|
334
420
|
let transfo;
|
|
@@ -338,8 +424,10 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
338
424
|
Logger.logError(loggerCategory, `Could not compute data transformation for tile (${zoomLevel}/${row}/${column})`);
|
|
339
425
|
}
|
|
340
426
|
}
|
|
341
|
-
|
|
342
|
-
const
|
|
427
|
+
// Create the renderer
|
|
428
|
+
const symbRenderer = ArcGisSymbologyRenderer.create(this._renderer, this._defaultSymbol);
|
|
429
|
+
const renderer = new ArcGisCanvasRenderer(ctx, symbRenderer, transfo);
|
|
430
|
+
const featureReader = this.format === "PBF" ? new ArcGisPbfFeatureReader(this._settings, this._layerMetadata) : new ArcGisJsonFeatureReader(this._settings, this._layerMetadata);
|
|
343
431
|
const getSubEnvelopes = (envelope) => {
|
|
344
432
|
const dx = (envelope.xmax - envelope.xmin) * 0.5;
|
|
345
433
|
const dy = (envelope.xmax - envelope.xmin) * 0.5;
|
|
@@ -392,7 +480,7 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
392
480
|
}
|
|
393
481
|
}
|
|
394
482
|
else {
|
|
395
|
-
featureReader.readAndRender(responseData, renderer);
|
|
483
|
+
await featureReader.readAndRender(responseData, renderer);
|
|
396
484
|
}
|
|
397
485
|
};
|
|
398
486
|
await renderData();
|
|
@@ -414,6 +502,30 @@ class ArcGisFeatureProvider extends ArcGISImageryProvider {
|
|
|
414
502
|
return undefined;
|
|
415
503
|
}
|
|
416
504
|
}
|
|
417
|
-
|
|
505
|
+
_a = ArcGisFeatureProvider;
|
|
506
|
+
ArcGisFeatureProvider._nbSubTiles = 2; // Number of subtiles for a single axis
|
|
507
|
+
ArcGisFeatureProvider.defaultPMS = {
|
|
508
|
+
type: "esriPMS",
|
|
509
|
+
url: "",
|
|
510
|
+
contentType: "image/png",
|
|
511
|
+
imageData: "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAmBJREFUOE+Nk01IVFEUx//n3jfvOZOaJkMtiiJ7o9RG3LgoqKhFSFJBTS1ahFBBi0ijfJXCIyQr+hBbSIsoW7iQoKKFCw2CkAI3tZAgy8Ei+xhoTCbnje/NPfHGnA816KzuPR+/c8/HJRQJE7o+VUhym0DcCOYGgBQEXjOLlyqo+nHanCkMoaL4rslKjZwOQLT4ek3Mmz3FACFNLB67ut6M1nWphbg8wI6VyJK5KEH0EQFVJRKbwzokAW++p/ErraAYSQK3u47bC3vLnA+ZB9i2gHF0oyQMCfCGNaUa+vauxs71wWz2V18cnBj8gQ8J1/eeBnHUa4sMFQDGdGno+4gwEAoQzjVUon3rqlx1KY9x7+0MWobjAPg3QJ2eZV4tAEyFNCN5FkSXyw2B3j1hRGvLcgBXMV5MptA4MOXr0gT0u5bZnAf0jBsyiSgJPAxqhON1K3FlRxUMvwFAtv7u0Wl0jvwEmJNEuOhakTt5wKEBifr6Oo14BIBRpgt07w6jcVMIngKGY7NofR5HwlF+zDcpsC193vyYB/innvHywCzdZfAR/+onX1segBTAxHzzfPE7/8yzzIPLjJE1LTixHZx5CtCK4gXLzovBiDPUsYxVM7gUkB3nWKlm6DYEnQGzXARxCOK+a1WfKtQXb6LNAvr7iCboCUA1Ocdsdv5KLPe7F6pH/w3wLbc+BwOuc5IZ1wEE/jonQbjptZn24tKKX7BgvR2r0NKZRwDvAqCI+Z30VJPTURv7P4A9psuQcYAUPwAoReBLrmX2Lmls7i8sZ7kWLwuoxA1FVJGxzMPLufi6P2r+2xFbOUjGAAAAAElFTkSuQmCC",
|
|
512
|
+
width: 16,
|
|
513
|
+
height: 16,
|
|
514
|
+
xoffset: -8,
|
|
515
|
+
yoffset: -16,
|
|
516
|
+
};
|
|
517
|
+
ArcGisFeatureProvider.defaultSLS = {
|
|
518
|
+
type: "esriSLS",
|
|
519
|
+
color: [0, 0, 0, 255],
|
|
520
|
+
width: 1,
|
|
521
|
+
style: "esriSLSSolid",
|
|
522
|
+
};
|
|
523
|
+
ArcGisFeatureProvider.defaultSFS = {
|
|
524
|
+
type: "esriSFS",
|
|
525
|
+
color: [0, 0, 255, 255],
|
|
526
|
+
style: "esriSFSSolid",
|
|
527
|
+
outline: _a.defaultSLS,
|
|
528
|
+
};
|
|
529
|
+
ArcGisFeatureProvider._extentCache = new Map();
|
|
418
530
|
export { ArcGisFeatureProvider };
|
|
419
531
|
//# sourceMappingURL=ArcGisFeatureProvider.js.map
|