[GRASS-SVN] r55982 - in grass-addons/grass7/raster/r.agent: . libagent

svn_grass at osgeo.org svn_grass at osgeo.org
Wed Apr 24 08:23:42 PDT 2013


Author: mic
Date: 2013-04-24 08:23:42 -0700 (Wed, 24 Apr 2013)
New Revision: 55982

Modified:
   grass-addons/grass7/raster/r.agent/libagent/grassland.py
   grass-addons/grass7/raster/r.agent/libagent/playground.py
   grass-addons/grass7/raster/r.agent/r.agent.aco
Log:
fix position handling

Modified: grass-addons/grass7/raster/r.agent/libagent/grassland.py
===================================================================
--- grass-addons/grass7/raster/r.agent/libagent/grassland.py	2013-04-24 13:13:10 UTC (rev 55981)
+++ grass-addons/grass7/raster/r.agent/libagent/grassland.py	2013-04-24 15:23:42 UTC (rev 55982)
@@ -108,8 +108,10 @@
                 # TODO do they all look like this??
                 if len(v) == 4 and v[0] == v[3]:
                     p = self.stringcoordinate(v[1],v[2])
-                    p[0] = ( p[0] - self.region["s"] ) / self.region["nsres"]
-                    p[1] = ( p[1] - self.region["w"] ) / self.region["ewres"]
+                    p[0] = int(round(
+                        ( p[0] - self.region["s"] ) / self.region["nsres"] ))
+                    p[1] = int(round(
+                        ( p[1] - self.region["w"] ) / self.region["ewres"] ))
                     vectors.append(p)
                     self.layers[layername][p[0]][p[1]] = value
         return vectors

Modified: grass-addons/grass7/raster/r.agent/libagent/playground.py
===================================================================
--- grass-addons/grass7/raster/r.agent/libagent/playground.py	2013-04-24 13:13:10 UTC (rev 55981)
+++ grass-addons/grass7/raster/r.agent/libagent/playground.py	2013-04-24 15:23:42 UTC (rev 55982)
@@ -152,8 +152,8 @@
         Test if a position realy is on the playground
         @return list position if on, boolean False if off the playground
         """
-        if self.region["s"] <= position[0] < self.region["n"] and \
-            self.region["w"] <= position[1] < self.region["e"]:
+        if 0 <= position[0] < self.region["rows"] and \
+                0 <= position[1] < self.region["cols"]:
             return position
         else:
             return False

Modified: grass-addons/grass7/raster/r.agent/r.agent.aco
===================================================================
--- grass-addons/grass7/raster/r.agent/r.agent.aco	2013-04-24 13:13:10 UTC (rev 55981)
+++ grass-addons/grass7/raster/r.agent/r.agent.aco	2013-04-24 15:23:42 UTC (rev 55982)
@@ -232,6 +232,9 @@
         # set sitemap and site list
         world.sites = world.playground.parsevectorlayer(anthill.Anthill.SITE,
                                                         site, True)
+        if not world.sites:
+            raise error.DataError("r.agent.aco:",
+                                    "There were no sites in" + site)
     else:
         raise error.DataError("r.agent.aco:", "The site map is mandatory.")
     if cost:



More information about the grass-commit mailing list