如何离线(自托管)下载 Cesium JS (React) 的逼真 3D 图块?

问题描述 投票:0回答:1

我目前正在开发一个使用Cesium来显示3D地理空间数据的项目,我想知道是否有办法为Cesium下载离线城市(如巴黎或纽约)逼真的3D图块。我想探索访问这些图块而不必仅依赖实时互联网连接的可能性。

我搜索了Cesium的文档,但找不到离线下载3D图块的明确解决方案。以前有人这样做过吗?他们能给我一些关于如何解决这个问题的建议或指示吗?

打个比方,

对于 2D 瓷砖。 我首先下载了这些。瓷砖,使用互联网连接。

然后我使用本地 http 服务器为他们提供服务。 因此,我能够使用以下代码:

viewerRef.current.scene.imageryLayers.addImageryProvider(
      new Cesium.UrlTemplateImageryProvider({
        url: localhost_url,
      })
    );

我也想做同样的事情,比如:

const tileset = new Cesium.Cesium3DTileset({
  url: 'localhost_url',
});

总而言之,我正在寻找在哪里可以找到他的资源,下载并使用它们。

(我主要寻找开源,但我并不拒绝寻找付费解决方案的想法)

reactjs download 3d cesiumjs offline-mode
1个回答
0
投票

要下载 Cesium JS (React) 的真实感 3D 图块并离线托管它们,请按照以下步骤操作:

获取逼真的 3D 瓷砖: 您需要获取要使用的逼真 3D 图块。这些图块通常是通过摄影测量或其他 3D 扫描技术生成的。您可以在网上通过各种来源找到此类数据,但请确保您有权将它们用于您的预期目的。

设置网络服务器: 要在本地托管 3D 图块,您需要一个 Web 服务器。您可以使用 Apache、Nginx 或简单的 Python HTTP 服务器等流行选项。

Python HTTP 服务器(用于测试目的): 铯JS设置: 使用 React 设置 Cesium JS 应用程序。 如果您还没有,请使用 Create React App 等工具或您喜欢的任何其他方法创建您的 React 应用程序。

将 Cesium JS 与 React 集成: 将 Cesium JS 库集成到您的 React 应用程序中。您可以通过安装 cesium 包并在 React 组件中初始化它来做到这一点。 离线访问图块: 由于您离线托管切片,因此请确保更新切片集的 URL 以指向本地服务器。修改 Cesium3DTileset 构造函数中的 url 参数以匹配托管图块的路径。

运行应用程序: 通过运行 npm start 或用于运行 React 应用程序的相应命令来启动 React 应用程序。

请记住,上述步骤是一个简化的概述。根据您的具体用例和要求,您可能需要考虑其他因素,例如优化切片的性能、管理不同的切片集、处理身份验证等。请始终参考 Cesium JS 和 React 的官方文档以获取最新、最准确的指导。

© www.soinside.com 2019 - 2024. All rights reserved.