def __init__(self): # defines rospy.loginfo(rospy.get_name() + ": Start") # get parameters self.update_rate = rospy.get_param("~update_rate", "5") # update frequency [Hz] self.offset_e = rospy.get_param("~easting_offset",0.0) # [m] self.offset_n = rospy.get_param("~northing_offset",0.0) # [m] self.trkpt_threshold = rospy.get_param("~trackpoint_threshold",0.1) # [m] map_title = rospy.get_param("~map_title", "Track") map_window_size = rospy.get_param("~map_window_size",5.0) # [inches] # initialize the polygon map self.polyplot = polygon_map_plot(map_title, map_window_size, self.offset_e, self.offset_n) # import polygons file = open('polygon_map.txt', 'r') file_content = csv.reader(file, delimiter='\t') for name,e1,n1,e2,n2,e3,n3,e4,n4 in file_content: polygon = [[float(e1),float(n1)],[float(e2),float(n2)],[float(e3),float(n3)],[float(e4),float(n4)]] self.polyplot.add_polygon (polygon) file.close() rospy.loginfo(rospy.get_name() + ": Loaded %ld polygons" % self.polyplot.poly_total) # get topic names self.pose_topic = rospy.get_param("~pose_sub",'/fmKnowledge/pose') self.polygon_map_topic = rospy.get_param("~polygon_map_pub",'/fmKnowledge/polygon_map') # setup subscription topic callbacks rospy.Subscriber(self.pose_topic, Odometry, self.on_pose_message) rospy.Subscriber(self.polygon_map_topic, IntStamped, self.on_polygon_map_message) # call updater function self.r = rospy.Rate(self.update_rate) self.updater()
def __init__(self): # defines rospy.loginfo(rospy.get_name() + ": Start") # get parameters self.update_rate = rospy.get_param("~update_rate", "5") # update frequency [Hz] self.offset_e = rospy.get_param("~easting_offset", 0.0) # [m] self.offset_n = rospy.get_param("~northing_offset", 0.0) # [m] self.trkpt_threshold = rospy.get_param("~trackpoint_threshold", 0.1) # [m] map_title = rospy.get_param("~map_title", "Track") map_window_size = rospy.get_param("~map_window_size", 5.0) # [inches] # initialize the polygon map self.polyplot = polygon_map_plot(map_title, map_window_size, self.offset_e, self.offset_n) # import polygons file = open('polygon_map.txt', 'r') file_content = csv.reader(file, delimiter='\t') for name, e1, n1, e2, n2, e3, n3, e4, n4 in file_content: polygon = [[float(e1), float(n1)], [float(e2), float(n2)], [float(e3), float(n3)], [float(e4), float(n4)]] self.polyplot.add_polygon(polygon) file.close() rospy.loginfo(rospy.get_name() + ": Loaded %ld polygons" % self.polyplot.poly_total) # get topic names self.pose_topic = rospy.get_param("~pose_sub", '/fmKnowledge/pose') self.polygon_map_topic = rospy.get_param("~polygon_map_pub", '/fmKnowledge/polygon_map') # setup subscription topic callbacks rospy.Subscriber(self.pose_topic, Odometry, self.on_pose_message) rospy.Subscriber(self.polygon_map_topic, IntStamped, self.on_polygon_map_message) # call updater function self.r = rospy.Rate(self.update_rate) self.updater()
import csv import copy # initialize the polygon map polymap = polygon_map() polymap.set_nearby_threshold(10.0) polymap.set_polygons_per_update(1600) # initialize the polygon map plot map_title = "Field" map_window_size = 10.0 # [inches] easting_offset = 0.0 # [m] northing_offset = 0.0 # [m] easting_offset = -588815.0 # [m] northing_offset = -6137299.0 # [m] polyplot = polygon_map_plot(map_title, map_window_size, easting_offset, northing_offset) # import polygons file = open('TekInnerParcelCornersExtended.csv', 'r') file_content = csv.reader(file, delimiter='\t') for name, e1, n1, e2, n2, e3, n3, e4, n4 in file_content: polygon = [[float(e1), float(n1)], [float(e2), float(n2)], [float(e3), float(n3)], [float(e4), float(n4)]] polymap.add_polygon(name, polygon) polyplot.add_polygon(copy.deepcopy(polygon)) file.close() print "Polygons imported: %ld" % polymap.poly_total polyplot.update_map_plot()
import csv import copy # initialize the polygon map polymap = polygon_map() polymap.set_nearby_threshold (10.0) polymap.set_polygons_per_update (1600) # initialize the polygon map plot map_title = "Field" map_window_size = 10.0 # [inches] easting_offset = 0.0 # [m] northing_offset = 0.0 # [m] easting_offset = -588815.0 # [m] northing_offset = -6137299.0 # [m] polyplot = polygon_map_plot(map_title, map_window_size, easting_offset, northing_offset) # import polygons file = open('TekInnerParcelCornersExtended.csv', 'r') file_content = csv.reader(file, delimiter='\t') for name,e1,n1,e2,n2,e3,n3,e4,n4 in file_content: polygon = [[float(e1),float(n1)],[float(e2),float(n2)],[float(e3),float(n3)],[float(e4),float(n4)]] polymap.add_polygon (name, polygon) polyplot.add_polygon (copy.deepcopy(polygon)) file.close() print "Polygons imported: %ld" % polymap.poly_total polyplot.update_map_plot ()