What is i3s?

I3s standard is a data format standard that uses tree structure to organize large volume OF THREE-DIMENSIONAL data, such as JPG format of bitmap, but I3S is a “standard”. Currently, it is implemented by SLPK format file, internal use of JSON file to describe data, use binary file (format:.bin) to store THREE-DIMENSIONAL geographic data. The I3S standard shards three-dimensional geographic data, organizing them with the concept of “nodes”, which are then sequentially written in “node pages”. Once the THREE-DIMENSIONAL geographic data is organized, it can be placed on a server and accessed through a REST interface.

Node_SLPK_Server introduction

At present, i3S service is generally generated and published by Portal for ArcGIS and ArcGIS Serve. Node_SLPK_Server publishes I3S in an open source way, which enables us to access 3D service conveniently and quickly. However, the project has some problems. Currently, ArcGIS API for JavaScript 4.19 is not supported.

Node_SLPK_Server transformation

First of all, we need to know what is in the project. We can find that the project is mainly read SLPK internal files through the release of REST. Rewrite the original Python code using NodeJS

Take a look at the SLPK file structure for building types



Scenario Type SLPK file structure

Research on ArcGIS API for JavaScript 3D Service Loading

The step to load the 3D service is to request the SLPK description file 3dScenelayer.json.gz. This way, you can get some description information such as model type range. After obtaining the description information, it is to request SLPK file data. As long as you find the file corresponding to the path in SLPK according to the requested path

Problems encountered

There are elements in the scene layer layer data request do not know what data to write, concurrency problem is still to be solved

SLPK show

conclusion

There are some unsatisfactory, but can already realize Buildingscenelayer, 3 dobjectscenelayer, Integratedmeshscenelayer Pointscenelayer four 3 d layer, Overall each file loading time in two hundred milliseconds Reference data: www.cnblogs.com/onsummer/p/… Github.com/Esri/i3s-sp… Github.com/CrashedBboy…