返回

Cesium 与天地图 本地部署玩转GIS应用

前端

将 Cesium 与天地图结合:本地部署指南

地理信息系统 (GIS) 开发人员和爱好者翘首以待的 Cesium 和天地图的本地部署方案终于来了。本文将为您提供分步指南,帮助您轻松实现这一强大组合,并为您的 GIS 应用解锁无限可能。

前期准备

准备工作是关键。为了开始,您需要:

  • CesiumJS 库: 从 Cesium 官方网站下载最新版本。
  • 天地图 Web 服务 API 密钥: 在天地图网站注册并获取密钥。
  • Node.js 和 npm: 用于安装和运行 Cesium 本地服务器。
  • 代码编辑器: 用于编写 Cesium 应用程序代码。

搭建 Cesium 本地服务器

让我们将所有这些组件组合在一起:

  1. 安装 Node.js 和 npm: 在命令行中输入以下命令进行安装。

  2. 安装 CesiumJS 库: 使用 npm 进行安装。

  3. 创建 Cesium 应用程序: 创建一个新文件夹,创建一个名为“index.html”的 HTML 文件。

  4. 在“index.html”文件中添加代码: 包含基本 Cesium 设置和天地图影像层。

  5. 替换 API 密钥: 将示例 API 密钥替换为您的天地图 Web 服务 API 密钥。

  6. 启动 Cesium 本地服务器: 使用“node index.html”命令启动服务器。

体验三维地球仪

服务器启动后,访问“http://localhost:3000”。您将看到一个令人惊叹的 3D 地球仪,上面覆盖着天地图影像。使用鼠标、触控板或键盘探索世界!

代码示例

以下是完整的“index.html”文件代码示例:

<!DOCTYPE html>
<html>
<head>
  <script src="node_modules/cesium/Build/Cesium/Cesium.js"></script>
</head>
<body>
  <div id="cesiumContainer"></div>
  <script>
    const viewer = new Cesium.Viewer('cesiumContainer');
    const imageryLayer = viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
      url: 'http://t{s}.tianditu.gov.cn/img_c/wmts?service=WMTS&request=GetTile&version=1.0.0&layer=img&style=default&tilematrixset={TileMatrixSet}&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&tk={apikey}',
      subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
      minimumLevel: 1,
      maximumLevel: 18,
      tileMatrixSetID: 'c',
      apiKey: 'YOUR_API_KEY'
    }));
    viewer.camera.setView({
      destination: Cesium.Cartesian3.fromDegrees(120, 30, 100000),
      orientation: {
        heading: Cesium.Math.toRadians(0),
        pitch: Cesium.Math.toRadians(-90),
        roll: 0
      }
    });
  </script>
</body>
</html>

常见问题解答

1. 如何更新天地图密钥?

只需替换“index.html”文件中的 API 密钥即可。

2. 如何更改初始视点?

在“setView”函数中修改“destination”和“orientation”参数。

3. 如何添加其他天地图图层?

向“imageryLayers”数组添加更多“WebMapTileServiceImageryProvider”对象。

4. 如何添加 3D 模型?

使用“Entity.fromGltf”或“Entity.fromCesiumModel”方法添加 3D 模型。

5. 如何导出应用程序?

将“index.html”文件、Cesium 库和任何其他资源打包成一个 zip 文件。

结论

Cesium 和天地图的本地部署为 GIS 开发人员开辟了无限的可能性。从三维地图到数据可视化,这个强大的组合将彻底改变您构建地理信息系统应用程序的方式。拥抱这一创新,让您的想法腾飞!