7 votos

Cómo utilizar ZonalStats plugin?

Estoy usando QGIS 1.8.0 en un Windows 7 Home Premium de la máquina. Tengo una sola banda TIFF que es de 187 MB de tamaño. Mi vectorial de polígonos shapefile representa una cuadrícula regular de un 147x112 36kmx36km las celdas de la cuadrícula. Ambos archivos tienen el mismo mapa de la proyección de los parámetros. He instalado el NextGIS ZonalStats plugin, y trató de correr. También he probado el incrustados zonal plugin de estadísticas. Por último, he probado los comandos siguientes en la ventana de comandos de Python:

rasterfile = qgis.utils.iface.mapCanvas().currentLayer().source()
vectorlayer = qgis.utils.iface.mapCanvas().currentLayer()
zonalstats = qgis.analysis.QgsZonalStatistics(vectorlayer,rasterfile)
zonalstats.calculateStatistics(None)

En cada caso, el sistema no se puede ejecutar hasta su finalización. En lugar de eso, me sale el "No Responde" error.

A veces Windows me pregunta para matar el programa. Otras veces, tengo que matar en el Administrador de Tareas.

Cualquier ayuda con esto será muy apreciada como estoy tratando de alejarse de ArcGIS.

2voto

Steven Parkes Puntos 625

Más probable es que el archivo de vector es topológicamente roto. Pruebe y repare en primer lugar, y, a continuación, vuelva a intentarlo.

El enlace se ofrece una breve guía sobre cómo llevarlo a cabo con caja de herramientas de grass.

Cómo comprobar la Topología en QGIS?

1voto

rudivonstaden Puntos 1684

Esto podría suceder debido a que las herramientas de análisis de primera necesidad para ser importados con el siguiente comando antes de que pueda acceder a la zonal estadísticas de herramientas (se puede poner antes de que cualquiera de los otros comandos):

import qgis.analysis

Dicho esto, yo esperaría que se muestre un error en lugar de no responder. También, hay una secuencia de comandos. Primero, hay que seleccionar el formato de la capa en la tabla de contenidos en la izquierda, a continuación, ejecutar la rasterfile = ... comando. A continuación, seleccione la capa de vector y ejecutar el vectorlayer = ... comando. A continuación, puede ejecutar los otros dos comandos para generar las estadísticas.

1voto

Ana Puntos 111

Asegúrese de que las dos capas están en el mismo CRS y asegurarse de que la topología es válida, a continuación, intente esto:

from qgis.analysis import QgsZonalStatistics

shape_to_load = "C:\\path\\to\\shape.shp"
layerName= "Anything"
vectorlayer = QgsVectorLayer(shape_to_load, layerName, "ogr")
rasterlayer="C:\\path\\to\\raster.tif"
prefix ="Stats"

zoneStat = QgsZonalStatistics(vectorlayer, rasterlayer,prefix)
zoneStat.calculateStatistics(None)

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