【问题标题】:Loading real terrain into three.js using free map data使用免费地图数据将真实地形加载到three.js中
【发布时间】:2015-02-19 09:18:58
【问题描述】:

有没有人知道如何将真实地形数据加载到 three.js 场景中。

我想在实际地形上创建一个 3D 模型,即海拔和叠加的卫星图像。

创建场景:好的 加载和动画模型:好的 地形和卫星图像:???

提前致谢。 乔恩

【问题讨论】:

  • 我找到了可以回答您问题的解决方案。我发布的答案没有代码;但是是正确的。你找到你正在寻找的解决方案了吗?不要忘记检查批准的答案;或回答您自己的问题,因此该问题将被视为已结束。

标签: three.js terrain satellite-image


【解决方案1】:

如果您有或能够计算网格模式所需点的高程数据。

  • 您可以使用平面几何和javascript xml Loader 将数据加载到planes' geometry vertices。
  • 为您需要的平面使用任何类型的材质并定义“地图”属性以添加使用ImageLoader加载的图像纹理

    如果您有随机放置的高程数据,您可以使用face3 或其他类型的 three.js 几何图形和算法来创建 TIN(不规则三角网络)来可视化地形。

您可能还想看看cesium library 和cesium.js documentation 作为关于地理空间部分的问题,关于使用this three.js method 和this osg.js demo 加载的地形。

【讨论】:

    【解决方案2】:

    Three.js has an example on how to make a terrain,这样就可以覆盖了。 关于卫星图像,您将使用它作为地形上的纹理。唯一重要的是获得正确的纹理坐标,这样最终可能会很棘手。

    This blog post 给出了一个很好的例子,它的代码也可以在线获得。

    【讨论】:

    • 通过进一步调查,似乎是各种类型的地形数据,其中总的趋势是具有 X Y Z 和理想情况下添加的 RGB 颜色(用于高清摄像机激光扫描仪)。所以我将尝试专注于 CSV 文件(由于它们的简单性)。papaparse.com 将用于将点流式传输到 three.js 场景中,并且该点将由 RGB 进行处理。理想情况下,应该使用八叉树函数来减少内存使用,因为点云扫描非常大。我曾尝试使用potree.org/wp,但是 .las 格式不如 csv 强大
    猜你喜欢
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多