Another workaround is to insert a 'Rectangle' shape with a Gradient Fill using the same color-ramp as your data. Overlay this rectangle over your legend.
Accuracy of this method may not be perfect, particularly if you use transform curves when assigning the color ramp to your data.
How about something like:
array_contains(string_to_array("Class", ','), '2')
This splits the string in the field "Class" into an array and returns true if the array contains the given value ('2'). This will give you all the features that contain the class/integer 2 (and leave out 12).
If you want a multidirectional hillshade with different colors for each direction you can:
Create three separate hillshades with different azimuts, for example 315, 15, 75 using Hillshade tool under Raster terrain analysis
Combine these using Build Virtual Raster under Miscellanous with option Place each input file into a separate band
You can use TauDEM: https://docs.qgis.org/2.18/fr/docs/user_manual/processing_algs/taudem/index.html
It uses code from http://hydrology.usu.edu/taudem/taudem5/index.html, which can be used also outside qgis
I found a work around on this question. The data tiles I had were generally named for the locality they covered. As the area was large the tiles where spread across three localities. When I processed each of the localities separately and this seemed to work. I am not sure why, because the data source, datum and resolution was the same.
Trying to follow the suggestion by Vince, below is a QGIS expression approach.
We need to find out (1) the center of this ellipse as point O, (2) semi-major axis length x which is the half of the total distance the elephant has moved during the time T (... as you see the distance A -> B' -> B is the same as O -> B' -> O). And (3) the semi-minor ...
You need at least a Digital Elevation Model, depending on the algorithm you want to use. Also you may need a "friction surface".The last one varies, some use a slope model and some use more complex Raster layers. I will not use the shaded relief model to calculate the least cost path, may be for display only
If you're interested in using GRASS for this, here are the steps. To smooth the original, r.neighbors creates a new raster where each pixel gets the average value of surrounding pixels within a window. THen you can use r.recode to get a new raster with discrete categorical values replacing the continous population density. And finally, r.to.vect will convert ...
This ticket explains the issue, you need to use trust for QGis to work as it is explicitly setting the username in the connection.
By default PostgreSQL uses IDENT-based authentication and this will never allow you to login via -U and -W options. Allow username and password based authentication from your application by applying 'trust' as the ...
Your raster is 16bit single band. You need to rescale to a rendered 3 band 8bit dataset.
Add your raster to QGIS and use the layer properties -> symbology to get it looking like you want:
Right click raster layer and select export -> save as...in the context menu. Change output mode to rendered image and tick Create VRT:
Then use the Translate (convert ...
Major changes were made between QGIS 2 and QGIS 3, which made plugins for QGIS 2 incompatible with QGIS 3. The plugin developer must update their plugin to make it compatible with QGIS 3. If they don't, you can't use it in QGIS 3.
Fortunately, there's QGIS3-compatible version of qgis2threejs. All you have to do is update to the new version. (Actually QGIS ...
Rasters are always rectangular, with their edges oriented with the axes of their coordinate reference system. Georeferencing an image usually rotates that image. If you rotate a rectangular image, you then have to add a nodata border around it to make the output into a rectangle with its edges oriented with its coordinate reference system.
The same is true ...
Here's a workaround
Create a new polygon layer.
Add a field with the same name as the field you'll be using to classify the other vector layers.
Add two polygons. Give one polygon the minimum value for that attribute, and give the other the maximum value.
Set up a graduated style for the scratch layer with the desired number of classes (bins).
Copy and ...
Don't just enter a file name where it says "file name." You have to provide an entire file path. The easiest way to do this is to click the ... button and choose the file you want to save to. Or type in the full file path and file name, eg, instead of "Google Satellite" enter "C:\Users\Documents\Google Satellite.tif."
In QGIS, this feature is called Topological Editing.
In the Snapping Toolbar, enable topological editing.
With topological editing enabled, when you use the Vertex Tool to move a vertex on one polygon, the same vertex on an adjacent polygon will also be moved, thus keeping the shared boundary.
Turn on snapping to vertices in the Snapping Toolbar.
Turn on editing for the orange layer.
Digitize a new polygon to fill in each grid square.
The snapping setting will cause the split tool to snap to the corners of adjacent grid squares, which will make the new polygon edges align exactly with the rest of the grid.
Next time, don't delete the ...
Edits a vector map, allows adding, deleting and modifying selected
With tool snap and a threshold distance:
I had to set output type area under Advanced parameters to get it to run
It seems to me that Matlab GeoTIFF reader can't deal with nodata value or with alpha channel https://se.mathworks.com/help/map/ref/geotiffread.html. Transparency is available only for PNG, CUR and ICO files https://se.mathworks.com/help/matlab/ref/imread.html.
Therefore the only way to remove the nodata areas from Matlab on QGIS side is probably to save the ...
My idea is to order point coordinates by its longitude and latitude in this way:
Sort by longitude, in for loop iterate over the coordinates while longitude ascends;
Then iterate while latitude descends;
Then merge lists with coordinates and create polygon.
Not pretend this is the most elegant solution, maybe you send your data so I will test my ...
Use the LEAD window function to get the geometry from the next row in specific order as argument to ST_Azimuth:
LEAD(geom) OVER(ORDER BY id)
) AS azm,
The last row will have NULL as azm.
The proper solution to the 64-bit problem is addressed in this question: Opening Esri Personal Geodatabase (*.mdb) using QGIS?
Basically, it is to download and install Microsoft Access Database Engine 2010 Redistributable x64
Use geopackage as your local offline database and sync to WFS-T or use POSTGIS REST API. we can develop app for you based on http://geodataexplorer.world that will sync to your database maps@TechMaven.net
One way to get there is to open the .dbf (d-base file) and the .csv as a data frame in R, then merge the tables and overwrite the original .dbf with the joined data.
#read in d-base table
df.1 <- read.dbf('**pathtotable1.dbf**')
#read in .csv file
df.2 <- read.csv('**pathtotable2.csv**')
Bear in mind that the project itself doesn't have a scale (unless you specify preset scales in the project properties). The scale dependent visibility applies everytime the view is rendered, so zooming in and out in the map view will trigger the visibility rules. Scale is only an indication of the ratio at which the map view is rendered.
Of course, if you ...
For anyone still looking for an answer to this without using a spatialite format, I've found something that works.
If you have a csv and use a join to join it to a spatial layer, one of the options of the join is to cache the layer. You can get to this option if you go to the properties of your layer, then to the joined data and click edit join. If you ...
I would recommend these steps:
Create polygon centroids for your municipality features.
Next use "join attributes by location" to give these new centroids all a new attribute that is the climate zone.
Then join this centroid layer to your original municipality polygons by a unique ID only including the new climate zone though.
(Optional): Create a new ...
Normally the widgets configuration are saved in the project file. If you want to save certain widget properties to the geopackage layer, go to its layer properties, click the Style button at the bottom, select Save as Default and then save it to Datasource Database.
It's quite likely to be a bug as I have experienced something similar, I would suggest you post a ticket on their GitHub page.
In the meantime, a possible workaround is to dissolve your line layer so that it contains a single line feature and then use this with the Split with lines tool.
I faced the exact same problem and eventually managed to get it to work, see the answer here: https://gis.stackexchange.com/questions/288245/no-common-crs-between-two-wms-service/288470?noredirect=1#=
I have not invested time to find out exactly where the issue was originating as I needed to move forward, but these were quite the frustrating few weeks.
To my knowledge this requires multiple steps.
Note: This will give wrong results if you have overlapping polygons on one of your layers already.
Merge vector layers and select all the layers in question. This gives you one single layer to continue with. Also it adds a layer and path attribute to each feature to keep track of their provenience.
Union with ...
The users can simply drag'n'drop the table into the schema they have rights to, directly within the PostGIS tab in the Browser (no need to import first, just 'move copy'); the role defined in the QGIS to PostGIS connection settings will be the owner of the copy.
If your users are UI bound and want to create a copy within the same schema, they need to import ...
You can try the plugin Another DXF Importer/Converter, or in QGIS 3 try the import DWG to geopackage function under Project in the menu bar.
Neither option will fully preserve everything exactly as CAD and GIS systems store information quite differently, but you will get to transfer over layer names, text, and colour information. Note that you may need to ...
ArcGIS's Spatial Analyst toolset has
Spatial Auto-correlation tool
Measures spatial autocorrelation based on feature locations and attribute values using the Global Moran's I statistic.
Multi-Distance Spatial Cluster Analysis (Ripley's K Function)
Determines whether features, or the values associated with features, exhibit statistically significant ...
Ok, looks like I figured out why this was happening. In my post above I wrote that I was using version 3.7.3, but I had also tried running QGIS with version 3.6.8 using pyenv. I kept getting the same errors using 3.6.8 as well.
What solved my problem was to install the version of Python (3.6.8) that came with the QGIS (3.8) installer and the error messages ...
As Erik says, manually shifting your data might not be a good idea. If you really need to...
Export your delimited text layer to a Geopackage or shapefile (this is why you can't toggle editing). Right'click on the layer in the 'Layers' panel > Export > Save features as...
Toggle editing on your new layer, select the points you want to move and use the 'Move ...
Your query create two geometries,
so you need to tell Qgis what is your geometry column when you load your table
(or either don't select a.geom)
when you load a table with two geometry column in postgreSQL loader it give you this (exemple from one of my project) :
here, you can either load the table with geom as the geometry column or border as the geom ...
If you only want to use tools which are present in QGIS (so no scripting) you can have a look at the Random points inside a polygonplug-in. Which can be found in Vector --> Research Tools. You need the boundaries for each city as a polygon layer.
Based on this grasswiki-article setting the operating system environment variable GISBASE to the GRASS installation folder might fix the issue (e.g. C:\OSGeo4W\apps\grass\grass76).
QGIS 3.8 processing options still doesn't contain an option for the GRASS folder.
I refer to Windows operating system and QGIS 3.8 / GRASS 7.6.
Use the Sample raster values or Add Raster Values to Points tool to extract raster values:
Make sure each line has a unique attribute, eg "Line_ID".
Convert the lines into points
Use the Extract vertices tool if the vertices are frequent enough, or
Use the Points along geometry tool if you want more frequent/evenly spaced sampling points
Use the Sample ...
If all you need to do is visually represent "number of times an area has been burnt", there's a very simple solution with the polygon layer(s)
Simply make the polygon layers all the same color, and set their opacity to 30-50%. The more overlapping polygons, the darker they appear.
Here's what a layer looks like at 30% opacity.
The closest solution I can think of all requires you to divide your data into specific time periods, rather than computing the time range separately for each hotspot.
If that's acceptable, it's actually quite simple to do.
Decide on some time periods, Eg [Jan-Feb 1999, Mar-Apr 1999, May-Jun 1999, ...]
Add a new "time_period" field to the layer, using the ...
Use the Field Calculator to create a new field (the group ID field) with an expression like this:
CASE WHEN "common_attribute" = 'value1' THEN 'group1'
WHEN "common_attribute" = 'value2' THEN 'group2'
WHEN "common_attribute" = 'value3' THEN 'group3'
WHEN "common_attribute" = 'value4' THEN 'group4'
Repeat the WHEN...THEN ...
I created a graphical model for QGIS 3.8 to create the blue dotted "cutting" lines from your picture. Only thing you need is a point layer with an integer field called ID, where your points are sorted ascending. Of course you can (or must) adjust this model to your specific needs. As I cannot attach it here, I added it to my GitHub repository. I've done this ...
Set the 'burnt' area of each of your 16 rasters equal to 1 and use r.null on each of your rasters to convert 'nodata' values to 0.
To use r.null, set "The value to replace the null value by [optional]" to 0 and set the "GRASS GIS 7 region extent" to anything larger than the total extent of all 16 rasters.
Then use raster calculator to add all 16 layers. ...