瀏覽代碼

Fix if set_cats is True reset the previous cat values and set the new one.

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@55945 15284696-431f-4ddb-bdfa-cd5b030d7da7
Pietro Zambelli 12 年之前
父節點
當前提交
833ed4db72
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      lib/python/pygrass/vector/__init__.py

+ 4 - 2
lib/python/pygrass/vector/__init__.py

@@ -15,7 +15,7 @@ from grass.pygrass.errors import GrassError, must_be_open
 from geometry import GEOOBJ as _GEOOBJ
 from geometry import read_line, read_next_line
 from abstract import Info
-from basic import Bbox
+from basic import Bbox, Cats
 
 
 _NUMOF = {"areas": libvect.Vect_get_num_areas,
@@ -183,7 +183,9 @@ class Vector(Info):
             cur.close()
 
         if set_cats:
-            libvect.Vect_cat_set(geo_obj.c_cats, self.layer, self.n_lines)
+            cats = Cats(geo_obj.c_cats)
+            cats.reset()
+            cats.set(self.n_lines, self.layer)
         result = libvect.Vect_write_line(self.c_mapinfo, geo_obj.gtype,
                                          geo_obj.c_points, geo_obj.c_cats)
         if result == -1: