【问题标题】:How to display multiple combination of Bands using Leaflet js?如何使用 Leaflet js 显示多个波段组合?
【发布时间】:2018-06-18 07:18:39
【问题描述】:

我的问题分为两部分。 我可以通过传单 js 获取/设置(访问)图像像素值(每个波段的 DN)吗?如果没有人可以告诉我,如果使用 ImageOverlay (或者如果有任何其他方法可以在浏览器中显示卫星图像),如何修改图像显示的波段组合。我目前正在努力在浏览器中显示 hyperion 数据(大约 260 个波段),但我想显示某个选定的波段组合以通过传单显示。我相信这一定是可能的,但我就是无法让我的大脑去做。

  • 我知道 ESRI 有一个公共 API。但它仅适用于 ARC GIS 服务

【问题讨论】:

    标签: javascript image image-processing leaflet satellite


    【解决方案1】:

    一种选择是使用Leaflet.TileLayer.GL。它是L.TileLayer 而不是L.ImageOverlay,但允许您混合和匹配来自不同光栅源的像素值,只要这些源可以通过L.TileLayer 加载到Leaflet 中。如果您查看其中的一些示例,您会看到基于假彩色 iRGB 图像的 NDWI 计算。

    请注意,图像服务的 API 密钥无效,很遗憾,这些示例无法正常工作。另请注意,它使用 WebGL,因此您需要在 GLSL 中编写像素计算代码,如果您从未见过它,它可能看起来像是一种外星编程语言(阅读 book of shaders 会有所帮助)。

    【讨论】:

    • 感谢伊万的回复。我也在尝试在没有任何地理参考的情况下处理图像。我怀疑我是否可以在没有 Geo CRS 的情况下为此类图像创建任何 Tile 图层。你有什么方法可以处理这种情况。需要注意的是,要访问的数据始终对机器直接可用(如果这有帮助?)
    • TileLayer.GL 与 CRS 无关,因此您可以使用 L.CRS.Simple。只需确保将您的光栅图像切成可以使用L.TileLayer 加载的图块 - 请参阅有关gdal2tiles 等的问题。请记住,从file:// URI 加载图像时,WebGL 很麻烦 - 考虑在 localhost 中运行网络服务器。
    猜你喜欢
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多