• 基于Quick_SLPK_Server的I3S服务发布


    i3s是什么?

    i3s标准是一种用树结构来组织大体积量三维数据的数据格式标准,比如在位图界的jpg格式一样,只不过i3s是“标准”,目前由slpk格式的文件实现,内部采用json文件来描述数据,使用二进制文件(格式为.bin)来存储三维地理数据。

        i3s标准将三维地理数据切分,用“节点”的概念组织起来,然后这些节点被有序地写在“节点页”中。将三维地理数据组织起来后,可以放在服务器上通过REST接口访问。

    Quick_SLPK_Server介绍

    i3s服务目前一般是由Portal for ArcGIS 和 ArcGIS Serve生成发布的,Quick_SLPK_Server则是使用开源的方式来发布i3s,使得我们可以方便快捷的访问三维服务。但是项目有一些问题,目前只能支持到4.13版本的ArcGIS API for JavaScript和1.7版本的slpk,新版本(1.7)slpk和ArcGIS API for JavaScript 4.18并不支持。

    Quick_SLPK_Server改造

    首先要知道项目里是什么内容,看过源码可以发现,其实项目主要就是通过发布rest读取slpk内部文件

    看看建筑物类型的slpk文件结构

    image

    场景类型slpk文件结构

    image

    ArcGIS API for JavaScript三维服务加载研究

    三维服务加载步骤是先请求slpk的描述文件3dSceneLayer.json.gz,这样子就可以获得一些模型类型范围之类的描述信息。得到描述信息以后就是请求slpk文件数据了,只要根据请求的路径找到slpk中对应路径的文件

    遇到的问题

    单文件如果太大,服务速度会变慢,为了更快的访问到,我需要通过i3s_converter.exe或者winrar把slpk文件解压,然后这样就不要访问大文件了。当slpk版本比较老,可以用i3s_converter.exe进行升级。并发问题目前还有待解决

    slpk展示

    image
    image
    image
    image
    参考资料:

    https://www.cnblogs.com/onsummer/p/12082584.html

    https://github.com/Esri/i3s-spec

    https://github.com/CrashedBboy/Quick_SLPK_Server

  • 相关阅读:
    flutter canvas 简单绘画直线
    Yapi 部署及遇到的坑
    flutter 时间选择器第三方插件返回时间格式说明
    windows + flutter + vscode 连接其他模拟器
    flutter 配置环境
    flutter 返回键监听
    flutter 自定义主题切换
    flutter Provide 状态管理篇
    flutter 本地存储 (shared_preferences)
    JS做倒计时的例题
  • 原文地址:https://www.cnblogs.com/polong/p/14511383.html
Copyright © 2020-2023  润新知