Ошибка Cesium-terrain-builder-docker при загрузке cesium.js в браузере

Я хочу обслуживать пользовательские данные ландшафта на своем сервере, поэтому я попробовал Cesium Terrain Builder Docker (cesium-terrain-builder-docker).

(возможно) Полностью сгенерировать квантованную сетку-террейн с помощью докера cesium-terrain-builder, но возникает ошибка при загрузке cesium.js в браузере

Сгенерированная квантованная сетка ландшафта с использованием cesium-terrain-builder:

Созданная квантованная сетка ландшафта с использованием cesium-terrain-builder

Это мой HTML-код:

Минимальный HTML-код

и это сообщение об ошибке в консоли браузера Chrome:

сообщение об ошибке


person 오유상    schedule 26.02.2019    source источник
comment
не могли бы вы решить вашу проблему?! Если да, можете ли вы поделиться своим решением. у меня точно такая же проблема.   -  person Hamed Moghadasi    schedule 03.11.2019
comment
Привет. Извините, я не смог решить проблему. Я просто использую сервис ионов цезия   -  person 오유상    schedule 04.11.2019
comment
спасибо за Ваше внимание   -  person Hamed Moghadasi    schedule 04.11.2019


Ответы (2)


Изменить URL: 'http://localhost:8080/tilesets/daegu/tiles' на URL : 'http://localhost:8080/tilesets/tiles' в terrainProvider.

person user11119620    schedule 26.02.2019
comment
ошибка возникает так, как я пытаюсь, может быть, правильно. не было ошибки получения (не найдено). GET localhost:8080/tilesets/tiles/layer.json 404 (не найдено) GET localhost:8080/tilesets/tiles/0/1/ 0.terrain?v=1.0.0 404 (не найдено) Произошла ошибка в w: Не удалось получить тайл ландшафта X: 1 Y: 0 Уровень: 0. GET localhost:8080/tilesets/tiles/0/0/0.terrain?v=1.0.0 404 (Не найдено) Произошла ошибка в w: Не удалось получить тайл местности X: 0 Y: 0 Уровень: 0. - person 오유상; 27.02.2019
comment
››docker pull geodata/cesium-terrain-server ››docker run -d --name your_terrainserver_name -p 8080:8000 -v Your_Local_Path/tilesets/daegu:/data/tilesets/terrain geodata/cesium-terrain-server - person user11119620; 28.02.2019

Не могли бы вы предоставить дополнительную информацию о том, как вы обслуживаете набор плиток? Используете ли вы обычный веб-сервер или специальный сервис для публикации наборов фрагментов, например CesiumTerrainServer? ?

В целом я вижу два возможных источника этой ошибки:

  1. Плитки ландшафта неверный путь обслуживания:

    В этом случае попробуйте открыть файл layer.json в браузере, например. открыть https://localhost:8080/tilesets/daegu/tiles/layer.json. Если это не удается, вы можете быть уверены, что с путем что-то не так. Проверьте свой путь и документацию службы провайдера набора плиток, чтобы исправить это. Для CesiumTerrainServer это описано здесь.

  2. Плитки подаются с неправильной кодировкой содержимого:

    Обычно это применимо только в том случае, если вы обслуживаете свои плитки непосредственно с веб-сервера, такого как Nginx или Apache. Тайлы ландшафта Cesium сжаты gzip и должны обслуживаться с использованием gzip Content-Encoding. Попробуйте добавить этот заголовок к местоположению веб-сервера, из которого вы обслуживаете плитки, например. с помощью Nginx:

    location ~* \.terrain$ {
        add_header Content-Encoding gzip;
    }
    

    Полный пример доступен здесь.

Здесь — это пример использования Docker для запуска CesiumTerrainServer с некоторой документацией, которая также может оказаться полезной.

person bwibo    schedule 08.12.2020