Scope
This lab covers issues dealing with accuracy of polygon perimeter and area calculations in raster and vector systems.
Software
Vector Creation / Statistics | MIGS |
Raster Creation / Statistics | Idrisi |
Operating System | Windows NT |
Data Inputs
Region of Interest | na |
Projection | na |
Method
The flowchart illustrates the process involved of this lab, in Gane-Sarson notation.
Using the MIGS POLYSTAT module, the polygon statistics are shown below:
Polygon | Perimeter | Area | Centroid |
---|---|---|---|
1 | 400 | 10000 | 50 50 |
2 (rotated 45 deg) | 399.999995 | 9999.999725 | 50.000001,50.000001 |
Using the IDRISI AREA and PERIM functions, below is a table of polygon statistics based on both input vector files, with raster image backdrops of 50 x 50 and 100 x 100.
Polygon | Raster | Rows/Cols | Area | Perimeter |
---|---|---|---|---|
poly1idr.vec | poly1im1 | 50/50 | 10404.0000000 | 408.0000000 |
poly1idr.vec | poly1im2 | 100/100 | 9801.0000000 | 396.0000000 |
poly2idr.vec | poly2im1 | 50/50 | 9936.0000000 | 552.0000000 |
poly2idr.vec | poly2im2 | 100/100 | 10152.0000000 | 564.0000000 |
The table below illustrates the absolute and relative error of the raster values / calculations as compared to the vector values / calculations. All error values are absolute.
Polygon | Raster | Rows/Cols | AreaError | PerimError | AreaDiffBtwPixels | PerimDiffBtwPixels |
---|---|---|---|---|---|---|
poly1idr | poly1im1 | 50/50 | 404.000000 | 8.000000 | 205 | 4 |
poly1idr | poly1im2 | 100/100 | 199.000000 | 4.000000 | 205 | 4 |
poly2idr | poly2im1 | 50/50 | 63.999725 | 152.000005 | 88.003025 | 12 |
poly2idr | poly2im2 | 100/100 | 152.002750 | 164.000005 | 88.003025 | 12 |
It appears that for poly1idr (non-rotated), the area and perimeter error reduces as cell size decreases and granularity increases, by roughly ½ for all instances. For poly2idr (rotated), error in area and perimeter increases with granularity. Between the different cell sizes, the difference appears to be a result of outputting the value of pixels at the sampling location. As a result, IDRISI is most likely skipping over the two vertical edges of the polygon, due to the size of the sampling interval. There is also evidence of the pixel size's lack of granularity affecting calculations.
It also appears, in terms of area error, that the diagonal orientation of the polygon produced more accurate results after rasterization, however the degree of accuracy in comparison to the non-rotated polygon lessened as pixel granularity increased.
In terms of perimeter error, it appears that the rotated polygon produced more errors than that of the non-rotated polygon.
In terms of improving a scheme for more accurate raster area and perimeter calculations, one could devise a moving window algorithm, which outputs the majority value in the window as the resultant value. Also, pixel value averaging would be a possible approach, especially for RBG or flat raster values. These two approaches may provide more indicative results, in comparison to the 'hit and miss' approach implemented in IDRISI. Perhaps a more intuitive approach is to implement some user choices in the software for the user to decide on the algorithm to be applied to the calculation(s) at hand.
A Note About Pixel is Point vs. Pixel is EdgeThere is often a debate about whether a pixel value / coordinate should be regarded as a particular edge/corner of a pixel, or the centre of the pixel. The most important issue in deciding what one's approach should be is to be consistent in calculations with regard to origin or a pixel value / coordinate, and keep this documented in the product metadata, and / or lab notes. Fundamentally, defining a position to a pixel's centre minimizes spatial error to a maximum of 1/2 pixel at all times.