def convert_polygons_to_centroids(V): """Convert polygon vector data to point vector data Args: * V: Vector layer with polygon data Returns: * Vector layer with point data and the same attributes as V """ msg = 'Input data %s must be polygon vector data' % V verify(V.is_polygon_data, msg) geometry = V.get_geometry() N = len(V) # Calculate points for each polygon centroids = [] for i in range(N): c = calculate_polygon_centroid(geometry[i]) centroids.append(c) # Create new point vector layer with same attributes and return V = Vector(data=V.get_data(), projection=V.get_projection(), geometry=centroids, name='%s_centroid_data' % V.get_name(), keywords=V.get_keywords()) return V
def convert_polygons_to_centroids(V): """Convert polygon vector data to point vector data :param V: Vector layer with polygon data :type V: Vector :returns: Vector layer with point data and the same attributes as V :rtype: Vector """ msg = 'Input data %s must be polygon vector data' % V verify(V.is_polygon_data, msg) geometry = V.get_geometry() N = len(V) # Calculate points for each polygon centroids = [] for i in range(N): c = calculate_polygon_centroid(geometry[i]) centroids.append(c) # Create new point vector layer with same attributes and return V = Vector(data=V.get_data(), projection=V.get_projection(), geometry=centroids, name='%s_centroid_data' % V.get_name(), keywords=V.get_keywords()) return V