gpt4 book ai didi

javascript - 无法在铯sandcaSTLe中提供.terrain文件

转载 作者:行者123 更新时间:2023-11-29 21:46:00 26 4
gpt4 key购买 nike

我正在学习使用 CesiumJS 生成 3d 地形。我使用 Cesium terrain builder 生成了 .terrain 文件并将它们保存在 'cesium/apps' 目录中以用于测试目的并避免 CORS 问题。每当我尝试生成地形时,我都会收到错误消息,即使我在指定位置添加了空文件,也找不到 X:0 Y:0 级别 0 的瓦片以及 X:1 Y:0 级别 0 的瓦片。

最佳答案

现在这是一个较旧的问题,但我在整个研究过程中偶然发现了它,所以我会详细说明一下。

在您成功生成地形图 block 之后,此时最明显的服务选项是 https://github.com/geo-data/cesium-terrain-server 。服务器是用 Go 编写的,需要 Go 出现在系统上。它的构建旨在简化使用 Cesium Terrain Builder tools 创建的地形图 block 的开发和测试。

我自己的目标是从 Apache 服务器提供 .terrain 瓦片,结果证明这很容易,在 fiddler 中检查了 cesium-terrain-server 正在提供的服务并找到这个 exchange of messages (寻找 Kevin Ring 的回复)。

除了CORS,本质上地形文件需要有 MIME 类型 application/octet-stream 并且如果 gzipped Content-Encoding: gzip。请注意,仅传递 gzip header ,如果文件已经被 gzip 压缩,则不要再次使用 gzip 服务。

在我的 .htaccess 中,我有以下新行:

<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
<filesMatch "(.*)\.terrain$">
ForceType application/octet-stream
Header set Content-Disposition attachment
Header set Content-Encoding: gzip
</filesMatch>

我还需要在 terrain 文件夹的根目录中添加一个 layer.json 文件,内容如下:

{
"tilejson": "2.1.0",
"format": "heightmap-1.0",
"version": "1.0.0",
"scheme": "tms",
"tiles": ["{z}/{x}/{y}.terrain"]
}

现在一切都按预期工作。

关于javascript - 无法在铯sandcaSTLe中提供.terrain文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31164976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com