Tengo más de 1000 Shapefiles y quiero obtener la extensión de estos shapefiles poligonales. Conozco la forma manual de hacerlo. ¿Hay alguna manera de hacerlo a través de Script .
Respuesta
¿Demasiados anuncios?-
Para los shapefiles cargado en QGIS, puede utilizar lo siguiente en el Consola Python :
for layer in QgsMapLayerRegistry.instance().mapLayers().values(): extent = layer.extent() xmin = extent.xMinimum() xmax = extent.xMaximum() ymin = extent.yMinimum() ymax = extent.yMaximum() print layer.name() + "|| xmin: %f, xmax: %f, ymin: %f, ymax: %f"% (xmin, xmax, ymin, ymax)
-
Para los shapefiles no cargado en QGIS (es decir, en una carpeta), puede utilizar lo siguiente en el Consola Python :
import glob, os folder = "path/to/folder" for layer in glob.glob(folder + "*.shp"): layerName = os.path.splitext(os.path.basename(layer))[0] layer = QgsVectorLayer(layer, layerName, "ogr") extent = layer.extent() xmin = extent.xMinimum() xmax = extent.xMaximum() ymin = extent.yMinimum() ymax = extent.yMaximum() print layerName + "|| xmin: %f, xmax: %f, ymin: %f, ymax: %f"% (xmin, xmax, ymin, ymax)