1 votos

Relleno Transparente a Capa Vectorial

¿Cómo puedo cambiar el color del borde de relleno de las capas vectoriales? Quiero que sea Relleno Transparente. Tengo 1000 shapefiles, y quiero que sean de relleno transparente. ¿Hay una manera de hacerlo por Python Script?

2voto

Mark Hack Puntos 1

Al establecer el color del contorno para la capa vectorial, establezca la opacidad en '0', entonces el contorno será transparente en Propiedades de la capa -> Estilo, luego guarde su estilo de capa el estilo de capa como archivo .qml y aplique el mismo estilo a todas las capas. Para aplicar el estilo de la capa utilizando los siguientes códigos en la consola de Python

# create vector layer object
vector_file = '/path/to/vetor.shp'
vector = QgsVectorLayer(vector_file, 'vector name', 'ogr')
# Adds vector layer to registry
QgsMapLayerRegistry.instance().addMapLayer(vector)
# Set the layer style from qml file
vector.loadNamedStyle('/path/to/file.qml')
# Refresh the canvas to make the change in layer style visible
iface.mapCanvas().refresh()

Utiliza algún bucle para repetir lo mismo para varias capas. Ver aquí para cargar varias capas.

1voto

alllrite Puntos 1

Para rellenar el fondo de la capa transparente, utilice el siguiente código:

   from PyQt4 import QtGui      
   layer = iface.addVectorLayer("path_to_vector_layer", "layer_name", "ogr") 
   myVectorLayer = iface.activeLayer()
   myRenderer  = myVectorLayer.rendererV2()

   if myVectorLayer.geometryType() == QGis.Polygon:

       mySymbol1 = QgsFillSymbolV2.createSimple({'color':'#ffffff', 
                                          'color_border':'#000000',
                                          'width_border':'0.6'})
   myRenderer.setSymbol(mySymbol1)
   myVectorLayer.triggerRepaint()

A mí me funciona :)

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