gpt4 book ai didi

geospatial - 如何在我的网站上部署 TerriaJS

转载 作者:行者123 更新时间:2023-12-04 00:11:04 25 4
gpt4 key购买 nike

我想在我的网站上部署一个 TerriaJS 实例,用于 3D(带 2D 回退)地理空间映射。我对如何在我的网站上实际“部署”TerriaJS 感到有点困惑。我对 Leaflet 非常熟悉……几乎只包含 leaflet.js 文件,创建一个 div,然后就可以了。但是,我正在浏览 TerriaJS 的 github 页面上的 wiki,我看到的只是一堆 NodeJS。

我错过了什么?我能够让 map 与 NPM 一起运行,并且我看到了一个漂亮的 3D map (在节点 Web 服务器实例中运行),但这对我没有任何好处,因为我希望能够将 map 嵌入到我的网站。

如果有人有一个很好的(简单的英语)教程或起点,那就太棒了。

谢谢。

最佳答案

我们通常与 TerriaJS 一起使用的基于节点的 Web 服务器只做几件事:

  • 它提供构成应用程序的静态 HTML、JavaScript 和 CSS。
  • 它包括一个位于/proxy 的简单服务,允许 TerriaJS 访问不支持 CORS 的地理空间数据服务器。
  • 它包括另一个位于/convert 的服务,该服务使用 OGR 将地理空间矢量数据(例如 shapefile)转换为 GeoJSON 以供 TerriaJS 客户端显示。

其中,只有第一个是必需的。因此,您可以将工作中的 TerriaJS 应用程序的 wwwroot 目录复制到运行您站点的任何 Web 服务器,它会在那里运行,就像在基于节点的服务器上一样。您必须确保所有地理空间数据都在同一台服务器上或托管在支持 CORS 的服务器上,并且不支持 shapefile 转换,但除此之外您应该一切顺利。

在现有网页页面中嵌入 TerriaJS 有点棘手。您需要从开始使用的 TerriaJS 应用程序(也许是 NationalMap?)中的 index.js、index.html 和 index.less 文件开始,然后修改它们以满足您的需要。您需要使用基于 gulp 的构建过程。但是一旦这一切都完成了,您就可以像以前一样将文件复制到您的网络服务器上。

根据您的需要,您还可以考虑将 TerriaJS 嵌入到您页面的 iframe 中,而不是直接将其构建到页面中。您可以通过为 URL 指定参数来控制目录的内容并自定义 UI 的一些基本方面。您还可以通过发布跨窗口消息来控制它,如所述 here .

最后,可以在没有提供的用户界面的情况下使用 TerriaJS,例如通过提供你自己的。不过,这是一个非常高级的场景,所以如果您想沿着这条路走下去,最好发布一个单独的问题。

关于geospatial - 如何在我的网站上部署 TerriaJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353798/

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