def layer_srs_bbox(self, layer, epsg_axis_order=False): for srs, extent in iteritems(self.srs_extents): if srs not in self.srs: continue # is_default is True when no explicit bbox is defined for this srs # use layer extent if extent.is_default: bbox = layer.extent.bbox_for(SRS(srs)) elif layer.extent.is_default: bbox = extent.bbox_for(SRS(srs)) else: # Use intersection of srs_extent and layer.extent. # Use 4326 extents to avoid transformation errors. a = extent.transform(SRS(4326)) b = layer.extent.transform(SRS(4326)) bbox = a.intersection(b).bbox_for(SRS(srs)) if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, srs) yield srs, bbox # add native srs layer_srs_code = layer.extent.srs.srs_code if layer_srs_code not in self.srs_extents: bbox = layer.extent.bbox if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, layer_srs_code) if layer_srs_code in self.srs: yield layer_srs_code, bbox
def layer_srs_bbox(self, layer, epsg_axis_order=False): for srs, extent in iteritems(self.srs_extents): # is_default is True when no explicit bbox is defined for this srs # use layer extent if extent.is_default: bbox = layer.extent.bbox_for(SRS(srs)) elif layer.extent.is_default: bbox = extent.bbox_for(SRS(srs)) else: # Use intersection of srs_extent and layer.extent. bbox = extent.intersection(layer.extent).bbox_for(SRS(srs)) if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, srs) if srs in self.srs: yield srs, bbox # add native srs layer_srs_code = layer.extent.srs.srs_code if layer_srs_code not in self.srs_extents: bbox = layer.extent.bbox if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, layer_srs_code) if layer_srs_code in self.srs: yield layer_srs_code, bbox
def layer_srs_bbox(self, layer, epsg_axis_order=False): layer_srs_code = layer.extent.srs.srs_code for srs in self.bbox_srs: bbox = layer.extent.bbox_for(SRS(srs)) if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, srs) yield srs, bbox # add native srs if layer_srs_code not in self.bbox_srs: bbox = layer.extent.bbox if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, layer_srs_code) yield layer_srs_code, bbox
def layer_srs_bbox(self, layer, epsg_axis_order=False): layer_srs_code = layer.extent.srs.srs_code for srs, extent in iteritems(self.srs_extents): if extent.is_default: bbox = layer.extent.bbox_for(SRS(srs)) else: bbox = extent.bbox_for(SRS(srs)) if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, srs) yield srs, bbox # add native srs if layer_srs_code not in self.srs_extents: bbox = layer.extent.bbox if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, layer_srs_code) yield layer_srs_code, bbox
def layer_srs_bbox(self, layer, epsg_axis_order=False): layer_srs_code = layer.extent.srs.srs_code for srs, extent in self.srs_extents.iteritems(): if extent.is_default: bbox = layer.extent.bbox_for(SRS(srs)) else: bbox = extent.bbox_for(SRS(srs)) if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, srs) yield srs, bbox # add native srs if layer_srs_code not in self.srs_extents: bbox = layer.extent.bbox if epsg_axis_order: bbox = switch_bbox_epsg_axis_order(bbox, layer_srs_code) yield layer_srs_code, bbox
def layer_bbox_srs(self, elem, parent_layer=None): bbox_srs = {} bbox_srs_elems = self.findall(elem, 'BoundingBox') if len(bbox_srs_elems) > 0: for bbox_srs_elem in bbox_srs_elems: srs = bbox_srs_elem.attrib['CRS'] bbox = (bbox_srs_elem.attrib['minx'], bbox_srs_elem.attrib['miny'], bbox_srs_elem.attrib['maxx'], bbox_srs_elem.attrib['maxy']) bbox = [float(x) for x in bbox] bbox = switch_bbox_epsg_axis_order(bbox, srs) bbox_srs[srs] = bbox elif parent_layer: bbox_srs = parent_layer['bbox_srs'] return bbox_srs
def layer_bbox_srs(self, elem, parent_layer=None): bbox_srs = {} bbox_srs_elems = self.findall(elem, 'BoundingBox') if len(bbox_srs_elems) > 0: for bbox_srs_elem in bbox_srs_elems: srs = bbox_srs_elem.attrib['CRS'] bbox = ( bbox_srs_elem.attrib['minx'], bbox_srs_elem.attrib['miny'], bbox_srs_elem.attrib['maxx'], bbox_srs_elem.attrib['maxy'] ) bbox = [float(x) for x in bbox] bbox = switch_bbox_epsg_axis_order(bbox, srs) bbox_srs[srs] = bbox elif parent_layer: bbox_srs = parent_layer['bbox_srs'] return bbox_srs