宏伟项目 4:地理信息系统






4.64/5 (7投票s)
通用工程框架的 GIS 应用。
- 下载天文学项目源代码 (Express 版本) - 2.68 MB
- 下载 GIS 图像处理样本 - 431 KB
- 下载 GIS 图像处理样本 (Web 版本) - 3.01 KB
- 下载两个 GIS 图像的比较样本 - 2.58 MB
有用链接
1. 引言
用于科学和工程的通用框架支持高级数学。此外,该框架还支持数字图像处理。这两个功能对 GIS 都很有用。本文将介绍该框架如何用于 GIS。
2. 背景
GIS 包含许多与数字图像处理相关的任务。其中一项任务是定义积雪区域。以下是由 NASA 地球观测 提供的一张图片。
滤波可用于定义积雪区域。除了数字图像处理,GIS 还包括与比较几张图像相关的问题。这种比较对于研究 全球变暖 问题和/或 森林砍伐 问题很有用。这里我们将考虑图像的滤波和比较。
3 样本
3.1 滤波
让我们考虑一个定义积雪区域的问题。首先,我们需要一张清晰的积雪图片。可以通过对上述图片进行滤波来获得 such a picture。滤波方案如下图所示
地球 对象包含原型图像。处理结果 对象包含滤波结果。公式 对象包含滤波数学。在这里,滤波数学由以下表达式定义
其中 *r*、*g* 和 *b* 分别是红、绿、蓝颜色的强度。常量 *a* 是阈值。*x* 和 *y* 分别表示“存在积雪”或“不存在积雪”的强度。滤波结果如下所示
3.2 基于 Web 的应用程序
上一个样本需要从互联网下载 GIS 图像并进行处理。当今的应用程序直接使用互联网,无需显式下载。因此,该框架包含一个可以直接使用互联网图像的组件。下图展示了该组件的属性
我们可以使用展示窗体顶部的文本编辑器更改图像的 URL。使用此组件,我们还可以考虑滤波。但是,我们使用的是互联网图像而不是本地图像。
该文件的大小比 3.1 节中的文件要小得多。
3.3 图像比较
让我们考虑一个比较两张图像的样本。我们有以下 URL 的两张图像
- http://neo.sci.gsfc.nasa.gov/RenderData?si=526308&cs=rgb&format=JPEG
- http://neo.sci.gsfc.nasa.gov/RenderData?si=526307&cs=rgb&format=JPEG
这两张图像如下所示
为了有效地比较它们,我们需要强大的数学比较。因此,我们应该将图像视为数学对象。图像具有许多数学属性。图像的宽度和高度是其中一些属性。在我的文章 关于数字图像处理 中,图像被视为 统计样本。一张图像可以由像素的坐标变量 *x* 和 *y* 的三个函数定义。这些函数分别对应于红、绿、蓝颜色。因此,我们可以比较这些函数。很明显,我们可以生成许多比较算法。事实上,比较算法取决于目的。本文的目的是展示方法。因此,我们将考虑一种简单的算法,该算法比较红色光的强度。该算法如下所示
图像 1 和 图像 2 对象包含我们想要比较的图像。P 1 和 P 2 对象都包含 图像 1 和 图像 2 的颜色函数。输入 对象包含 P 1 和 P 2 的输入坐标 *x* 和 *y*。输入 的 *Formula_1* 对应于 *x* 坐标,*Formula_2* 对应于 *y* 坐标。P 1 和 P 2 的输出被用于 结果 组件。结果 组件的属性如下所示
此公式的含义如下。*x* 是 P 1 的第一个输出或红色光强度函数。*y* 是 P 2 的类似参数(在此图中不可见)。*a* 和 *b* 是常数。因此,此函数在 图像 1 和 图像 2 的红色光强度差上呈线性依赖关系。此公式由 比较 对象使用。比较对象的属性如下所示
这些属性的含义如下。结果图像的坐标 *x* 和 *y* 对应于 输入 对象的“常量”(别名)。结果图像的所有颜色(红、绿、蓝)对应于 结果 对象的 *Formula_1*。输入 对象具有以下属性
该对象的输入是 *x* 和 *y*。该对象的输出是 *Formula_1* 和 *Formula_2*。此对象的作用是什么?此对象关闭了反向循环。结果图像是分步计算的。在这些步骤中,坐标 *x*、*y* 的值不同。这些值被设置为 输入 对象的 *x*、*y*,因此这些值被设置为 输入 的 *Formula_1* 和 *Formula_2*。然后,P 1 和 P 2 使用 *Formula_1* 和 *Formula_2*。然后,结果 对象使用 P 1 和 P 2 的输出,并且 结果 的输出被用于结果图像。因此,我们有了一个闭环。
结果图像如下所示
此样本需要 2 GB 的 RAM。
关注点
说实话,我对 GIS 并不了解。我的 90% 的开发也一样。
结论
2009 年,当我写 "不可思议的机器" 文章时,有人问我:“这个软件能用来天气预报吗?”。我曾承诺写一篇与气象学相关的文章。所以这篇文章可以被视为一篇与气象学相关的文章。软件需要好的样本。我正在等待读者的好样本。也许将来我会用新的样本扩展这篇文章。任何建议都会有用。