Browse Source

imagerylib: check if areas are alive

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@49842 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 13 years ago
parent
commit
b16b17f282
1 changed files with 4 additions and 1 deletions
  1. 4 1
      lib/imagery/iclass_perimeter.c

+ 4 - 1
lib/imagery/iclass_perimeter.c

@@ -70,6 +70,8 @@ int vector2perimeters(struct Map_info *Map, const char *layer_name,
     nareas_cat = 0;
     nareas_cat = 0;
     /* find out, how many areas have given category */
     /* find out, how many areas have given category */
     for (i = 1; i <= nareas; i++) {
     for (i = 1; i <= nareas; i++) {
+	if (!Vect_area_alive(Map, i))
+	    continue;
 	cat = Vect_get_area_cat(Map, i, layer);
 	cat = Vect_get_area_cat(Map, i, layer);
 	if (cat < 0) {
 	if (cat < 0) {
 	    // no centroid, no category
 	    // no centroid, no category
@@ -88,7 +90,8 @@ int vector2perimeters(struct Map_info *Map, const char *layer_name,
 
 
     j = 0;			// area with cat
     j = 0;			// area with cat
     for (i = 1; i <= nareas; i++) {
     for (i = 1; i <= nareas; i++) {
-
+	if (!Vect_area_alive(Map, i))
+	    continue;
 	cat = Vect_get_area_cat(Map, i, layer);
 	cat = Vect_get_area_cat(Map, i, layer);
 	if (cat < 0) {
 	if (cat < 0) {
 	    // no centroid, no category
 	    // no centroid, no category