问题标签 [raster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1341 浏览

opengl-es - 基于 2D 瓦片的引擎中的 OpenGL 行为:运动时的像素“捕捉”,近似错误?

让我看看我是否可以清楚地问这个问题:

我正在用 OpenGL ES 编写一个基于 2D 瓦片的引擎,目的是让它看起来像一个老式的光栅引擎。我的艺术资产都是原生分辨率(也就是说,1:1 像素艺术)并映射到矩形多边形上,我的 OpenGL 视图是正交的,并且跨越矩形 (0.0, 0.0) 到 (screen.width, screen.height )。我这样做是希望显示器上的每个像素都对应于 XY 坐标平面中的一个“虚拟”像素正方形,这反过来又对应于我的一个图块上的一个像素。(瓷砖是16.0 x 16.0,我的世界的起源显然是[0.0,0.0]。)

我确信我的引擎会因为近似错误而看起来“假”。例如,我认为由于平铺像素没有直接写入显示器,因此有时可能会获取不正确的像素。我还确信,只要图块未与实际显示像素对齐,相机运动就会导致 OpenGL 进行插值。

事实证明,OpenGL 的行为几乎与光栅引擎完全一样。当相机静止时,每个虚拟像素都与显示屏上的一个像素完美对应。当相机运动时,瓦片一次“捕捉”一个像素行/列,而不是通过插值平滑移动。(即使运动非常缓慢也会发生这种情况。)出于好奇,我尝试将我的图块缩放到 1.1 倍,正如我所料,它们开始看起来很泥泞,并且捕捉行为停止了。那么,OpenGL 的行为是否会根据其渲染的内容是否与显示器完美对齐而有所不同?

在规范中我可以在哪里找到有关这些问题的信息,以及如何确保 OpenGL 继续以这种方式运行?使用我不太理解的默认值让我感到不舒服,因为理论上行为可能随时改变。

谢谢!

0 投票
1 回答
777 浏览

r - 来自foreach的神秘错误

在我第一次涉足 foreach 时,我收到了这个错误:

我为每个工人得到一个。

我正在使用 doMC/多核后端。

起初我认为这是由于我的 foreach 调用中的函数试图将其作为副作用发送到控制台的文本进度条引起的,但在关闭它后我仍然收到错误消息。尽管出现错误,评估仍在继续,所有仓鼠似乎都在运行。里面的函数恰好是library(raster) 中的 reclass() calc()。谁能猜出这可能意味着什么?我想我会在等待查看输出是否有效时询问。


更新

这是代码的核心:

在不熟悉的情况下,library( raster)它提供了一种与地理空间栅格数据集交互的巧妙机制,而无需将它们收集到内存中。这些函数在执行过程中逐块读取和写入数据。在这种情况下,工作人员都在读取相同的源数据,但写入单独的输出文件。我想知道这个文件 I/O 是否与上面报告的(看似良性的)错误有关。


现在它已经吐出了我预期的所有新文件,但这出现在控制台上:

尽管核心是安静的,但解释器提示并没有再次出现。我猜是文件 I/O 以某种方式出错的另一个线索。有什么想法吗?

0 投票
1 回答
1661 浏览

c# - 快速显示来自 byte[] .net Compact Framework 的原始像素数据

我正在玩光栅,我想知道使用 .net CF 将 byte[] 绘制到屏幕上的最快方法。该数组是一个标准的 24 位栅格(Screen.Width * Screen.Height * 3 的长度,RGB 顺序),现在我将数组保存到 Bitmap 对象并使用 Graphics.DrawImage(bmp) 将其绘制到屏幕上方法。我觉得必须有某种方式可以做到这一点而不必创建位图。

我正在使用 C#,但如果需要,我可以使用原生代码(如果可能,我更喜欢 P/Invokes,假设是这种情况)

谢谢你的帮助!

0 投票
1 回答
842 浏览

r - 如何使用多边形切割砖块?

我有一个 bioclim 变量的砖文件,砖是由四个 30 秒的砖合并而成的,所以它有点大。我想通过使用多边形作为边界来切割我的研究区域的砖文件。我该怎么办?否则,如果不能用砖做,我可以用光栅做吗?

先谢谢了~

马可

0 投票
2 回答
2614 浏览

r - 使用 dismo 包创建生物气候变量的问题

我想获得物种分布建模未来情景的所有生物气候变量。因此,我使用 worldclim 数据库中的三个变量在“dismo”包中运行“biovars”函数,得到一个 12 层的 RasterBrick:

但是,我认为应该有 19 个 bioclim 变量。正如您所提到的,除了那里之外,biovars 中还有更多参数,但我不知道它们是什么。你能帮帮我吗?

另一个问题是我在编写这些变量时出错:

dim(res) <- c(ncols, raster@data@nlayers * nrows) 中的错误:dims [产品 933120] 与对象的长度不匹配 [889920]

而且,当我尝试逐个编写它们时,出现以下错误:

结果错误 [, i] <- readBin(raster@file@con, what = dtype, n = ncols, : 替换长度为零

三个输入变量具有相同的维度,例如:

有人可以解释为什么吗?先谢谢了~

0 投票
3 回答
1392 浏览

r - R 光栅包中波段的交集

我的输入栅格由多个图层组成,每个图层都有一个没有数据值包围的图像区域。这些图层不完全重叠,我正在尝试输出一个文件,该文件仅包含所有波段的交集(在任何图层上都没有 NoData 值的区域)。

以下适用于几层,但不适用于我在真实文件中拥有的 50 层以上(至少 3000x3000 像素):

关于如何更有效地做到这一点/让它与大量层一起工作的任何想法?

0 投票
2 回答
5497 浏览

python - 如何在 matplotlib 中将图形保存为 pdf 作为光栅图像

我有一些使用 matplotlib 制作的复杂图表。使用 savefig 命令将它们保存为 pdf 使用矢量格式,并且 pdf 需要很长时间才能打开。有没有办法将图形保存为 pdf 作为光栅图像来解决这个问题?

0 投票
4 回答
3049 浏览

r - 识别 R 栅格包中的重叠区域

包裹:

数据:

  • 具有 10 个波段的 rasterStack。
  • 每个波段都包含一个由 NA 包围的图像区域
  • 波段是合乎逻辑的,即图像数据为“1”,周围区域为“0”/NA
  • 每个波段的“图像区域”彼此不完全对齐,尽管大多数有部分重叠

客观的:

  • 编写一个快速函数,该函数可以返回每个“区域”的 rasterLayer 或像元编号,例如,仅包含带 1 和 2 数据的像素位于区域 1,仅包含带 3 和 4 数据的像素位于区域 2等。如果返回 rasterLayer,我需要稍后能够将区域值与波段编号匹配。

第一次尝试:

我当前的功能需要很长时间才能执行。你能想出更好的方法吗?请注意,我不只是想知道每个像素有多少波段有数据,我还需要知道哪些波段。这样做的目的是在之后以不同的方式处理不同的区域。

另请注意,实际场景是 3000 x 3000 或更大的栅格,可能有超过 10 个波段。


编辑

由 10 个偏移图像区域组成的一些示例数据:

显示样本数据的样子

0 投票
2 回答
724 浏览

image - 如何在 Windows Phone 7 中创建画布光栅

我正在寻找一种在 Windows Phone 7 中创建画布光栅图像的方法。我希望能够保存图像或共享它(彩信、电子邮件等)。我刚刚开始学习 C# 和 Silverlight,所以这对我来说是未知的水域。

谢谢你,哈文医生

0 投票
1 回答
604 浏览

java - 16 位 (565) 图像读取

我正在读取一个图像字节数组,现在图像是 16 位(r:5,g:6,b:5),我想将它读取到 BufferedImage。

我试过类似的东西:

我的问题是 bandOffsets,我应该如何将它设置为 16 位图像。这是正确的方法吗?谢了,兄弟们