def _create_barrier_obstacles(self, intersecting_lines, buffer_m): """ returns geometries for line obstacles, e.g. barriers""" tag_filter = self.config['tag-filter']['barrier'] buffer_distance = utils.meters_to_degrees(buffer_m) barrier_obstacles = filter( lambda line: configuration.filter_tags(line['tags'], tag_filter), intersecting_lines) buffered_obstacles = map( lambda l: l['geometry'].buffer(buffer_distance, cap_style=CAP_STYLE.flat), barrier_obstacles) return buffered_obstacles
def _is_relevant_node(self, node): return node.tags.get("level", "0") == "0" and \ node.tags.get("layer", "0") == "0" and \ configuration.filter_tags(node.tags, self.tag_filters['point_obstacle'])
def _is_plaza(self, area): return configuration.filter_tags(area.tags, self.tag_filters['plaza'])
def _is_relevant_way(self, way): return not way.is_closed() and \ "highway" in way.tags or \ way.tags.get("railway") == "tram" or \ configuration.filter_tags(way.tags, self.tag_filters['barrier'])