def get_shape_coords(self): shape_zone = self.shapefile.shape(self.shape_id) points = [(i[0], i[1]) for i in shape_zone.points] x_center, y_center = Utils.calculate_centroid(points) center = (x_center, y_center) max_bound, min_bound = Utils.calculate_boundaries(points) return (points, center, max_bound, min_bound)
def project_shape_coords(self, projection): shape_zone = self.shapefile.shape(self.shape_id) points = [ projection.apply_projection([i[0], i[1]]) for i in shape_zone.points ] points = [projection.apply_translation([i[0], i[1]]) for i in points] self.points = points x_center, y_center = Utils.calculate_centroid(points) self.center = (x_center, y_center) max_bound, min_bound = Utils.calculate_boundaries(points) self.max_bound = max_bound self.min_bound = min_bound