def parse_node(self, node): """Parse a node element and create the appropriate OSMNode, OSMCoord and if needed Tree object.""" lat = node.attrib['lat'] lon = node.attrib['lon'] osmId = node.attrib['id'] tags = self.get_tags(node) OSMNode.add(osmId, lon, lat, tags) OSMCoord.add(osmId, lon, lat) if 'natural' in tags: tree = Tree() if 'height' in tags: tree.height = float(tags['height']) if 'leaf_type' in tags: tree.leafType = tags['leaf_type'] if 'diameter_crown' in tags: tree.radius = tags['diameter_crown'] / 2.0 tree.coord = OSMCoord.coordDictionnary[osmId] Tree.list.append(tree)
WebotsObject.xOffset = xOffset WebotsObject.zOffset = zOffset # From now we are in local coordinates system and not earth coordinates system anymore # print all the Webots objects if not options.noRoads: Road.process() Road.export(outputFile) print(" * " + str(len(Road.roads)) + " roads generated") print(" * " + str(len(Road.crossroads)) + " crossroads generated") if not options.noBuildings: Building.export(outputFile) print(" * " + str(len(Building.list)) + " buildings generated") if not options.noTrees: Tree.export(outputFile) print(" * " + str(len(Tree.list)) + " trees generated") if not options.noBarriers: Barrier.export(outputFile) print(" * " + str(len(Barrier.list)) + " barriers generated") if not options.noRivers: River.export(outputFile) print(" * " + str(len(River.list)) + " rivers generated") if not options.noAreas: Area.export(outputFile, options.noParkings) print(" * " + str(len(Area.list)) + " areas (forest, water, farmland, etc.) generated") if not options.noParkings: ParkingLines.export(outputFile) print(" * " + str(len(ParkingLines.list)) + " parking lines generated")