24

QGIS >= 2.14 has built in support for specifying the rendering order. It's on the bottom of the "styles" tab under your layer properties.


13

You can set the page background to transparent by creating a transparent symbol and setting the page background to use that symbol: transparent_fill = QgsFillSymbolV2.createSimple({ 'outline_style': 'no', 'style': 'no'}) c.setPageStyleSymbol( transparent_fill ) There's also a few other things wrong with your script: First, mapRenderer = iface.mapCanvas()...


13

You could also change the Symbol levels of your shapefile to give each symbol layer higher priorities than others. You can access this from: Layer Properties > Style > Advanced > Symbol levels


9

I am not sure what was going wrong with inverted polygon style, but here is a simple polygon to show you how to do it: Go to Layer Properties -> Style -> Change Single Symbol to Inverted polygons Notice I used the same color in your question because you want to color the outside polygon with this specific color. Here is the output:


8

Leaflet's GeoJSON uses by default a smoothing factor which eliminates less important points. Pass {smoothFactor: 0} to L.geoJson as an option to achieve a more appropriate overlap.


8

There are two issues you have to consider: Whether your data has spatial index or not. If not, then try to create a spatial index to your data. The spatial index can improve the speed of rendering your data in QGIS. To create spatial index, go to layer properties -> General tab -> Create Spatial Index, as you can see below: OR: You can create ...


8

Make sure that under Settings -> Options -> Rendering you have "Render layers in parallel" checked.


8

Try setting the thickness of the borders of the polygons a bit smaller, in millimeter and maybe change the join style. If you set it too high and on bevel or rounded, the rounded factor you can set in the layer properties can be seen. You can also choose to remove the borders of your polygons (style "no-pen") To make sure what will be the rendered layer, ...


8

You're right, it is a debugging setting. It can be handy for troubleshooting labeling issues. It's next to the pull-down for the labeling list so you may have activated it by mistake. In my version, you have to specifically check on "show candidates" to enable this; perhaps in your version this is checked by default, so dismissing the dialog with OK ...


8

You need to use Symbol levels to have nicely rendered crossing lines. Using symbol levels you can sort the symbol levels and thereby control the order in which the different symbol layers are rendered. Then under the rendering tab, use the multiply Layer to get the effect of seeing the rivers under the road network. before applying symbology levels: Using ...


8

The Multiply blend mode can only darken a layer, not brighten it, so you could only use it for adding shadows from a hillshade layer to a base map, but not the highlights. I would use the "Overlay" blend mode for this, rather than "Multiply". With Overlay, areas where the top layer is brighter than the bottom layer are brightened, and ...


8

A 100% usage display would imply that all CPU cores were being simultaneously fully utilized, no matter how many physical cores the CPU contained (2, 4, 8...). But many software applications are only capable of accessing one core at a time; with the other cores idling. Utilizing such "single-threaded" software on a multi-core machine will never ...


7

For anyone who is still having this problem, in QGIS 2.10 you can go to Settings > Options > Rendering, and change the Map update interval to be larger. If QGIS can render all of the layers in less than this amount of time, it will update the whole canvas at once, which gets rid of the blinking. If it cannot update all the layers before this interval passes, ...


7

I found a solution to my problem: In the transparency tab use the mouse selection tool to add a value from the screen by interactively clicking on a pixel. This will automatically add a new line in the table to the left showing the band characteristics of this pixel. Clicking on apply will then set to transparent all the pixels in the raster with the same ...


7

The so-called "multiresponse GeoJSON object" is not valid GeoJSON. Split the data before instantiating the Leaflet GeoJSON layers, e.g.: // Assuming that you've already fetched the data off the network var data = { roads: { type: "FeatureCollection", features: ..... }, pois: { type: "FeatureCollection", features: ..... }, ....... };...


7

The answer is Yes No. EDIT As @Babel pointed it out to me, Symbol levels are a vector layer symbology option to choose the order of symbol layers, see here the official documentation. So the answer is no, see this QGIS Project GitHub issue, opened in 2013, still open : https://github.com/qgis/QGIS/issues/17276. Here the old answer where I believed that the ...


6

Try turning OFF geometry simplification for the layer in the Layer Properties dialog: This (actually an issue with resultant invalid geometries being unlabelled) has been fixed, and will be included in upcoming 2.4 release (within a month).


6

As a workaround you may choose "Solid Line" option for borders, set the same colour to borders and fill of the polygon and set border width to 0.0 .


6

My coworkers and I were all having this problem in versions of QGIS that range from 2.6.1 to the new 2.14. The solution we worked out is to run: Vector > Geometry Tools > Multiparts to Singlepart... The new shapefile produced will now render at all zoom levels. I believe the issue is that the old shapefile had an incorrect ring order (presuming your file ...


6

That's possible using symbol levels - just like when creating a road style for linear features. Here an example using Natural earth countries: it looks as if they have been dissolved - but it is only a rendering effect. The outline color and width are controlled on the symbol layer level: click on the blue symbol and there will be an option to configure ...


6

I am now using Tangram to display my tiles, Tangram allows me to parse the composite response with no issues at all, it can identify the layers with just the name I supply, and it has good documentation and support.


6

Not sure this is what you are really after, but you can use a single line with a different symbolisation to create the appearance of two parallel lines. Starting with a 1.1 km line in CRS 3857 (metric, pseudo-Mercator as per Google and other web services): In properties, add another symbol layer (so you see two lines). Set the width of each line in map ...


6

Go to Symbol Levels, and there choose the order of rendering. Categories with lower number will be rendered first, and thus will show below categories with higher number. In the above example, drive oui is below drive NULL, and both are below drive non.


6

You could move the data into PostgreSQL/PostGIS. This would allow you to make use of spatial indexes on the data and feature simplification in the database.


6

There is no problem in your code or no bug with QGIS. createRenderer method is deprecated since v3.10. Therefore, there may be incompatibility between the method and later versions of QGIS. I recommend you use the constructor.


6

QGIS 3.x: You can use the feature filter in layer properties -> source -> query builder: E.g. use $id < 51 as expression to only show the first 50 features. Or use "population" > x to display only vilages with a population greater than x. QGIS 2.x: In QGIS 2.18 you can find the same menu in layer properties -> general -> query ...


6

I think you are just missing one line needed to create classifications from the color ramp: ramp_shader.classifyColorRamp() So, your modified run() method would look like: def run(self): # not my actual file, but one which seems to reproduce the problem path = "/vsicurl/http://oin-hotosm.s3.amazonaws.com/59d33df023c8440011d7b26d/0/b378087a-...


5

Check whether you accidentally set a limit on how many features might be labelled. There's a check box under the layer properties | labels | Rendering. It reads "Limit the number of features to be labelled to". See the image:


5

Just tried to do something like this in Qgis 3.44, as expected the design has changed. Select Layer, Properties, ->Symbology On this dialog on the left hand side lurking about the Help and Style button there is 'Layer Rendering', expand it. Towards the bottom on the screen there is a clickbox 'Control feature rendering order' enable it. Look in the far ...


5

When a canvas changes its extent a extentsChanged signal is emitted. When you connect this signal to a method (called slot), then you are able to run this method whenever the extent changes. To deploy this mechanism I altered your code in the following way. # Declare a global variable to hold the reference to QGIS canvas canv = None # here comes your ...


Only top voted, non community-wiki answers of a minimum length are eligible