Universal framework for science and engineering supports advanced math. Additionally, the framework supports digital image processing. Both of these features are useful for GIS. This article shows how the framework can be used for GIS.
GIS contains a lot of tasks related to digital image processing. One of task is definition of area of snow. The following is a picture provided by NASA Earth observations.
Filtration can be used for definition of area of snow. Besides digital image processing, GIS includes problems related to comparison of several images. This comparison is useful to study about Global warming problems and/or deforestation problems. Here we'll consider filtering and comparison of images.
Let us consider a problem of definition of area of snow. First of all, we need a clear picture of snow. Such a picture can be obtained by filtration of the above picture. The scheme of filtration is presented in the following picture:
The Earth object contains the prototype image. The Result of processing object contains the result of filtration. The Formulas object contains the filtration math. Here, filtration math is defined by the following expression:
Where r, g, and b are intensities of red, green, and blue colors, respectively. The constant a is the border value. x and y are intensities of "snow exists" or "snow does not exist", respectively. The filtration result is presented below:
3.2 Web based application
The previous sample requires downloading the GIS image from the Internet and following its processing. Present day applications use Internet directly without explicit downloads. So, the framework contains a component which can use Internet images directly. The following picture presents the properties of this component:
We can change the URL of the image using the text editor at the top of the presented form. Using this component, we can also consider filtering. But, we use the Internet image instead of the local image.
The size of this file is substantially lower then the size of the file in section 3.1.
3.3 Comparison of images
Let us consider a sample of comparison of two images. We have two images with the following URLs:
These images are presented below:
To compare them effectively, we need a strong mathematical comparison. So we should consider a picture as a math object. A picture has a lot of math properties. The width and height of a picture are some of these properties. In my article devoted digital image processing, pictures are being considered as statistical selections. A picture can be defined by three functions of coordinate variables x and y of a pixel. These functions correspond to the red, green, and blue colors, respectively. So, we can compare these functions. It is clear that we can generate a lot of comparison algorithms. Indeed, a comparison algorithm depends on the purpose. The purpose of this article is exhibition of methods. So, we'll consider a simple algorithm which compares the intensity of red color. This algorithm is presented in the following picture:
Objects Picture 1 and Picture 2 contain the pictures which we would like to compare. Both P 1 and P 2 objects contain color functions of Picture 1 and Picture 2, respectively. The Input object contains the input coordinates x and y of both P 1 and P 2. The Formula_1 of Input corresponds to the x coordinate, and Formula_2 of Input corresponds to the y coordinate. Outputs of P 1 and P 2 are being used in the Result component. Properties of the Result component are presented below:
This formula has the following meaning. x is the first output of P 1 or the function of red color intensity. y is a similar parameter of P 2 (it is not visible in this picture). a and b are constants. So this function has a linear dependence on the difference of intensities of red color of Picture 1 and Picture 2. This formula is used by the Compare object. The Compare object has the following properties:
These properties have the following meaning. Coordinates x and y of the Result picture correspond to the "constants" (aliases) of the Input object. All colors (red, green, and blue) of the result picture correspond to Formula_1 of the Result object. The Input object has the following properties:
Inputs of this objects are x and y. Outputs of this object are Formula_1 and Formula_2. What role has this object? This object closes the backward loop. The result picture is being calculated step by step. During these steps, coordinates x, y have different values. These values are set to x, y of the Input object, and so these values are set to Formula_1 and Formula_2 of Input. Then, Formula_1 and Formula_2 are being used by P 1 and P 2. The outputs of P 1 and P 2 are then used by the Result object, and the output of Result is used in the result picture. Thus, we have a closed loop.
The result picture is presented below:
This sample requires 2 GB of RAM.
Points of interest
To say the truth, I know nothing much about GIS. I can say the same about 90% of my developments.
In 2009, when I wrote "The incredible machine" article, I had been asked: "Could this software be used for weather prediction". I had promised to write an article related to meteorology. So this article can be regarded as an article related to meteorology. The software needs good samples. I am waiting for some good samples from readers. Maybe, I'll extend this article with new samples in future. Any suggestions would be useful.