Hot answers tagged

8

The correct syntax involves the use of single quotes around the X and Y 'offset_x,offset_y'


8

So as my comment said hovering over the override button gives you an idea of what input is required. After a little testing it's seems obvious now, and I can't see how it relates to the help of the tooltip but this should work for you. CASE WHEN "id" = 1 OR "id" = 2 THEN '-10,5' END


8

Use Geometry Generator Use the Geometry Generator tool with the following expression: make_line(make_point($x,$y),make_point( "auxiliary_storage_labeling_positionx" , "auxiliary_storage_labeling_positiony")) Then you can freely move your labels around. Explanation One end of the line will stick to the coordinates of the original point (the make_point($x,...


6

You can add a property "offset" to each line segment, draw the lines on top of each others and then apply an offset based on the recorded value. This way, the offset can be maintained as you zoom in or out, and you have more flexibility than a fully automated solution to make it look good. In the example below, the same line was copy-pasted 5 times,...


4

This has been discussed in this Issue: https://github.com/Leaflet/Leaflet/issues/859 Based on the code given there, I wrote the following two functions: L.Map.prototype.panToOffset = function (latlng, offset, options) { var x = this.latLngToContainerPoint(latlng).x - offset[0] var y = this.latLngToContainerPoint(latlng).y - offset[1] var point =...


3

This question is much more complex that it may appears. The LAS format First let's talk about the LAS format defined by the ASPRS. In a las file coordinates are stored as integers with a scale factor and an offset to compute back decimal positioning. For example, a X coordinate might be 123456 with a scale factor 0.01 and offset of 100000 for an actual ...


3

By using 'qgis:offsetline' of Processing Tool Box, you can do that with a few lines of code; as in following script. import processing layer = iface.activeLayer() parameters = { 'DISTANCE' : 5, #offset of 5 meters 'INPUT' : layer, 'JOIN_STYLE' : 1, 'MITER_LIMIT' : 1, 'OUTPUT' : '...


3

Try the Scale Tool: You can scale a feature—make the entire feature larger or smaller—using the Scale tool. Also take a look at this question: Is there ArcPy tool for polygon resizing like Scale tool of Advanced Editing toolbar in ArcMap? One of the answers is providing Python code for resizing.


3

If I understand well your request, you may create a simple custom function for accomplishing the task. If you never used a custom function within the Field Calculator, please give a look at this post I recently wrote: How to create custom functions in QGIS using the Function Editor. Having said that, you can use this custom function: @qgsfunction(args='...


3

After trying a few different methods to achieve a solution, I have settled on a modified version of the code found here: https://gis.stackexchange.com/a/229386/56638 Here is the full code from FelixIP's answer: import arcpy, math infc=r'..\SCRARCH\clone.shp' def CopyParallel(plyP,sLength): part=plyP.getPart(0) lArray=arcpy.Array();rArray=arcpy....


3

With PyQGIS you can use next code: canvas = iface.mapCanvas() layers = canvas.layers() n = canvas.layerCount() symbol = range(n) symbol[0] = QgsLineSymbolV2.createSimple({'color':'green', 'width':'1', 'offset':'1.0'}) symbol[1] = QgsLineSymbolV2.createSimple({'color':'red', ...


3

You might be interested in those Leaflet plugins: Leaflet-active-area: This plugin allows you to use a smaller portion of the map as an active area. All positioning methods (setView, fitBounds, setZoom) will be applied on this portion instead of the all map. Leaflet.ControlledBounds: Inspired by Leaflet-active-area, automatically detects the largest area of ...


3

If you use datadefined overrides for the "Anchor point", and all features are not anchored the same, this will (hopefully) leave the symbol in the center in your legend. This is not a solution, only a work around. For now.


3

You can create a categorized symbology for the cables based on an attribute that has the number of cables. For the line styles that have more than one cable, add a new simple line and adjust the offset value. I used 1 millimeter between lines. The problem you may run into is that the junction points may be two small to coverup the ends of the line


3

This may not be the best and smartest solution, but a working one. Let's assume there is a point layer 'points', see image below. Idea 1. Using the "Minimum bounding geometry" geoalgorithm. Proceed with Plugins > Python Console > Show Editor and paste the script below import processing # providing the point layer's name layer_name = "...


2

You can use QAD plugin which acts as AutoCAD, and there is an offset tool to that you can use to create parallel line at specified distance. You have to make sure that the tool works only on projected coordinate system not geographic coordinate system, so you need to project your data to before using it, and do not forget to start the editing mode. This a ...


2

I have seen the solution using the offset in style for the whole layer but it applies it to all the lines You could also add another column in your attribute table. Mark all your lines that should have an offset, add a value like "1" for those lines in your column and apply the offset style just for those lines. (Rule-based styling)


2

As a matter of fact I georeferenced a lot of such topomaps and completely agree with the comments. In order to speed up the process of georeferencing you should develop a tool in Qgis or in another GIS that generates border of the scanned map by its nomenclature number in a layer created in the mentioned projection Pulkovo 1942, Gauss-Kruger Zone 8, EPSG:...


2

The Offset lines algorithm will do this for you. Have you considered using it instead of doing it in Python? With Python, you can use the offsetCurve (double distance, int segments, JoinStyle joinStyle, double miterLimit) function for each feature geometry (https://qgis.org/api/classQgsGeometry.html#ad9508e6f1c6247ce6347f46740d61818). To use it, you have ...


2

you could use the "@map_scale" variable in your expression like : x(end_point($geometry))+(0.005*@map_scale) (adjust the 0.005 to your need, dont forget the parenthesis) this way the offset is calculated using the actual scale and should stay the same at all scale. If your lines are not all at the same angle just using an offset wont work (as the x and y ...


2

First you must use categorized symbols, as you did. Then you can edit each line symbol (double click on it to open symbol selector, then click on "simple line" for more properties) by giving a specific offset. Note that the offset is defined based on the direction of digitization (positive offset = right side), so you may need to flip some lines in ...


2

Another way to do this is to duplicate the layer and use a negative offset to go outside the polygon when styling with a simple line fill. Or just have a simple fill and a simple line with the offset.


2

You can get the angle of the line at the start (end) of the line using the startAngle function and probably create an offset in pixels using some trigonometry. But it would probably be easier to create a custom function to do it (and donate it to the project to help others in the future).


2

I suggest you have a look at the tool array offset lines. It should do exactly what you need, and using data defined override you may use attributes to specify how many offest lines each existing line should have.


1

Try applying the following workflow. Step 1. In the attribute table define a field that will in charge of a priority of the line features Step 2. Proceed with Layer Properties > Control feature rendering order > Define Order where the priority attribute will do the job Chech references for more details References: Changing feature draw order in ...


1

Changing the target CRS in the Transformation Settings dialog of QGIS's Georeferencer plugin to EPSG:4284 (Pulkovo 1942) solved the problem and created a correctly referenced GeoTIFF as an output, which I could then load into Google Earth. The various Gauss-Kruger zones didn't seem to make any noticeable difference when reprojecting at such a large scale. ...


1

One workaround is to use a geometry generator style. Under the Marker symbology, change Symbol layer type to 'Geometry generator', select Point/Multipoint as the Geometry type, then paste in an expression like translate($geometry, 0.2, -0.2) to offset the point (change the numeric values as needed, these are X and Y offsets in the CRS of the layer), then ...


1

There is one alternative that I know - nextgis.com. Follow this steps: Register in nextgis.com and create your web GIS. Install NextGIS Connect plugin in QGIS and add your web GIS into it. Publish your current project as web map. Profit You can also see documentation or video.


1

Probably the easiest way is with the "Copy Parallel" tool. While editing and you have the feature selected, just click the editing toolbar dropdown and select copy parallel. You'll then enter the distance, side, and type of offset.


1

Actually I've managed to find a workaround even though I'm not sure if it makes sense. By using the information from here I've first calculated the bearing between the two points and then used the result to calculate the Destination point given distance and bearing from start point. Searching a little bit more I've seen that this is a pretty common ...


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