[GRASS-user] Corine Land Cover 2000, suicidal v.clean

Markus Metz markus.metz.giswork at googlemail.com
Thu Feb 12 04:24:43 EST 2009


This is actually a reply to "v.clean process killed itself!?" from Nikos [1]

The CLC2000 is also available as a raster, have you tried this alternative?
There are two raster versions, one with 100m resolution and one with 
250m resolution.
I got the 100m resolution raster [2], it's the full CLC2000, not tiled. 
The 100m resolution corresponds to the CLC2000 specifications with are 
scale 1:100.000, minimum mapping unit (MMU) of 25 hectares and minimum 
width of linear elements of 100 metres according to the documentation on 
CLC2000 methodology.
I loaded it to grass with r.external, added labels with r.category, the 
colortable is in the raster, no need to do anything there, so I'm happy :-)
I don't like land cover maps in vector format, such vectors are usually 
too big for easy handling, the same as raster is much faster. The native 
format of CLC2000 is raster (land cover classification based on 
satellite imagery, they call it computer-aided image-interpretation, CAPI).
The shapefile-tiles show more detail, but that detail is below the 
minimum mapping unit (MMU) of 25 hectares and below the minimum width of 
linear elements of 100 metres, therefore I regard these shapefiles as 
eye-candy, pleasantly smoothed boundaries.

On to your original problem in [1]. The patched vector you created was 
really big, but at least for reading you don't need large file support, 
all files are below 2GB. When cleaning, the coor file of this vector 
would grow over 2GB, then you would need large file support (LFS). But 
the grass vector libs don't have LFS (yet), configuring with 
--enable-largefile doesn't help. To my knowledge I am the only person 
that has highly experimental LFS support for grass vectors. There are 
more problems when patching together imported shapefiles. v.in.ogr 
assigns a unique category to each area on import. The CLC2000 has a 
total of 3,290,351 areas (I converted the above mentioned raster to a 
vector), that could give you after patching, cleaning and dissolving as 
many different area categories or a big mess. The CLC2000 has only 44 
classes, so for a grass vector 44 different categories are enough for 
these 3,290,351 areas. The attribute table would barely exceed 100KB 
using e.g. the raster legend in dbf format.

If you really (really really) want to use the shapefiles, it may be 
easier to convert the shapefile-imports to raster maps with your desired 
resolution, e.g. 30m. First, you would need to upload the value of the 
CLC2000 raster version for each centroid to the attribute table, then 
use this value as raster value in v.to.rast. The attribute table for the 
shapefile tiles I downloaded is useless, no land cover classes, no 
legend. Then patch the raster maps together. Then convert the patched 
raster back to vector with raster value as categories. Link this vector 
to the raster legend (there are csv, dbf, and xls versions). All that 
will likely only work with a workhorse with >16GB RAM, same for swap 
space, r.to.vect is hungry, and grass vector libraries with large file 
support. I wouldn't want to work with that vector.

BTW, the 100m GeoTIFF raster, full CLC2000, has a size of 164MB, no 
workhorse needed for that.

I guess you have figured out already that working with the raster 
version [2] is so much easier...

Best wishes,

Markus M

[1] http://lists.osgeo.org/pipermail/grass-user/2009-January/048227.html
[2] http://dataservice.eea.europa.eu/dataservice/metadetails.asp?id=1010



More information about the grass-user mailing list