4 votos

¿Obtener el cuadro delimitador de una región seleccionada a través de PyQGIS?

Supongamos que he seleccionado varias características de una capa en QGIS y me gustaría obtener la información de delimitación de toda el área seleccionada a través de la consola de python como la delimitación de las regiones amarillas que muestra la figura.

¿Cuál es el método más fácil para hacerlo?

enter image description here

p.d. He intentado utilizar layer.selectedFeatures() pero sólo extrae la lista de características seleccionadas pero no puede obtener directamente la información de los límites.

5voto

bretddog Puntos 210

Esto es sencillo en pyqgis:

layer = iface.activeLayer() # is the currently selected layer
box = layer.boundingBoxOfSelected() # creates a bounding box
iface.mapCanvas().setExtent(box) # zooms to this bounding box

también podría escalar el caja variable con

box.scale(2,box.center()[0], box.center()[1])

donde "2" es el factor de escala.

Probado con QGIS 2.18. Para una mayor investigación, eche un vistazo a la api pyqgis de boundingBoxOfSelected

1voto

mlacunza Puntos 103

Si quieres el cuadro delimitador de cada característica seleccionada:

layer = iface.activeLayer()
for feature in layer.selectedFeaturesIterator():
    print feature.geometry().boundingBox()

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X