41

In Settings / Options / Digitizing, you can define the distance radius in pixel or map units to snap to other points. And in Settings / Snapping options you can choose which layers can be used for snapping. The only thing that does not work is snapping to the points of a line or polygon you are just creating. Software version: QGIS 2.18.20


31

In QGIS 3.0, the snapping settings are accessed through the snapping toolbar. This is a change from previous versions. In QGIS 2.x they were accessed through Options menu > Snapping Options... Enable the snapping toolbar through the menu accessed by right-clicking on any toolbar. The snapping toolbar is not available through the View menu in the current ...


26

If you are willing to put your data in Postgis (or Spatialite), you could use ST_Snap to do what you want. Just use lines layer\table as input, and your points layer as reference, and set the tolerance. Something like this: SELECT f.gid as gid, ST_Snap(f.Geometry, g.Geometry, 2) as geom FROM pipe as f, (SELECT ST_Collect(Geometry) as ...


17

If you'r familiar with QGIS: In the QGIS trunk 1.9 (can be installed as qgis.dev via the OSGEO installer, see qgis homepage) is a new function in the vector menu called "Eliminate sliver polygons", which exactly does what you want. You can select the problematic polygons and merge them to adjacent polygons based on a common boundary or area propotion. Try it ...


15

There are several steps I use. Ensure you are Data View NOT in Layout View (thanks MW) is easiest but don't necessarily try it second. copy the layer you need to edit, snap to and use for reference (as few as possible) to another document (for editing). make sure you don't have a definition query.


15

If I understood you correctly, you have to move the selection anchor first: use edit tool and hold down the CTRL key drag selection anchor to the corner of your borderline More information in ArcGIS Help.


15

There's a built-in tool to do this in the (unreleased) QGIS 3.0 version. You can get a nightly snapshot from the QGIS website to test this in advance. To do this: Run the "Snap geometries to layer" processing algorithm Select your points layer as the "input layer" Select the line layer as the "reference layer" Enter a suitable tolerance (maximum distance ...


14

This question is similar to: Clip raster by raster with data extraction and resolution change, but coming from a different angle. However, I think the answer is likely the same. First off, choose which raster you wish to be definitive. I'll repeat my previous answer here for ease: Load required libraries: library(raster) library(rgdal) Read rasters: r1 = ...


14

My solution involves a PyQGIS script that is faster and more effective than a workflow involving snapping (I gave it a try too). Using my algorithm I've obtained these results: You can run the following code snippets in sequence from within QGIS (in the QGIS Python console). At the end you get a memory layer with the snapped routes loaded into QGIS. The ...


9

Turn off snapping (Snapping toolbar, uncheck "Use Snapping"). I've had this problem before when there are many vector layers in a project, the cursor is getting bogged down looking for a vertex (or edge, or whatever) to snap to. You could also try copying the image to be georeferenced to a new, empty ArcGIS project along with the bare minimum of vector ...


9

In QGIS 3.4 you may need to enable Snapping toolbar by right-click the main menu bar and select Snapping toolbar, and you will find this menu: The last three icons are Enable Topological Editing, Enable Snapping on Intersection and Enable Tracing, respectively. Also, in QGIS 3.4 there is a new feature that you can enable Topological Check during digitizing ...


8

If you use the drop arrow on the snapping toolbar, you can select "intersection snapping". It will snap intersections even if there are no vertices.


8

If you have a Standard or Advanced license, a simple approach is to use the Snap (Editing) tool. The example shows the results of the snap using vertex snapping at a 20m distance. Be advised this alters the input features but preserves the snap environment (in your case, the gray polygons).


8

With reference to the error you get, it seems that some geometries are invalid (in this case, the lake layer). You may check it by running several tools, for example the Check validity algorithm from Processing Toolbox. It will return three outputs: Valid output (i.e. the layer or the features eventually valid); Invalid output (i.e. the layer or the ...


8

Yes using s will enable/disable snapping.


7

There is an "Eliminate sliver polygons" function in QGIS 2.12 (Lyon) Toolbox. I am sure it is also in some earlier version.


7

I discovered that snapping won't work if the layer you're editing is in the Map Document more than once.


7

You have to allow snapping and then play around with the options until you configure settings that suit your needs best. You can open the snapping options as shown here: And then configure your settings, either using map units or pixels as your tolerance unit. Alternatively you could go to Options (same screenshot), and then navigate to the Digitizing tab. ...


7

For this scenario, I would suggest using the JTS GeometryPrecisionReducer class rather than GeometrySnapper. GeometrySnapper is intended for snapping one geometry to another. If you wanted to use GeometrySnapper, you could generate a fishnet grid at your desired precision level to snap to. But GeometryPrecisionReducer provides the same result without ...


7

This can be afforded with PyQGIS. For next situation: following code, considering a tolerance of 5 map units, was ran at the Python Console of QGIS: from math import sqrt registry = QgsMapLayerRegistry.instance() points = registry.mapLayersByName('points') line = registry.mapLayersByName('line') feat_points = [ feat for feat in points[0].getFeatures() ] ...


6

I've managed to solve this, without using the mentioned GRASS tools or topological functions. Basically I take all start- and endnodes, put them in a new, temporary table, put a buffer around them, union the buffer objects, and move all found nodes in each buffer to the centroid of the buffer. When that's done I move the original begin and end points to ...


6

What it takes to make Snapping sometimes become unusable in the way that you describe seems to depend on a number of factors, including the specification of your hardware, and the number and size of feature classes being displayed at the time. My recommendations to avoid/alleviate the problem are: Try to use the highest specification hardware that you have ...


6

Did you find a solution? I've created a function which does this for me. function mapToPosition(position){ lon = position.coords.longitude; lat = position.coords.latitude; var marker = new L.Marker([lat,lon],{title: "Not at the right spot? Drag me!"}).addTo(map); marker.dragging.enable(); marker.on('dragend', function(e){ var ...


6

I did it in ArcGIS, surely can be implemented using QGIS or simply python with package capable of reading geometries. Make sure that roads represent network, i.e. intersect each other at the ends only. You are dealing with OSM, I suppose it is the case. Convert proximity polygons to lines and planarise them, so they become a geometric network as well. Place ...


6

The shapely.ops.snap function snaps to the vertices of geometries only. See the illustration below. On the left, the red vertex is within the snapping tolerance to the blue vertex, so it will snap. On the right the red vertex is outside the snapping tolerance (despite being closer to the edge!). Shapely doesn't provide an algorithm for snapping vertices to ...


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

The title of your question was misleading. Your issue is more probably about snapping, which is one of the several tools used for digitizing features. Simply, enable snapping mode from Settings >> Snapping Options.... Then, try to use the Node Tool and the Move Feature(s) tools from the main QGIS window (they are activated once you have set the layer ...


6

What you are looking for is doing a snapping operation, which is a very common task in a GIS software. Simply, go to Settings >> Snapping Options... and set where to apply the snapping and a custom tolerance. For example: In this way, when you will try to digitize a new point, QGIS will automatically snap it to the nearest vertex (from another layer) ...


6

(QGIS 3.4.1) Make sure all layers you want to edit have editing toggled on. Using the vertex tool in the digitizing toolbar, ensuring the option for 'All layers' is selected from the dropdown next to the tool. Select nodes by dragging a box round it (rather than clicking it directly). They should turn blue. Then click on a blue node to pick it up and ...


6

This question is duplicated in stackoverflow: snap points shapefile to line shapefile using shapely The methodology is called linear referencing and a solution was given by Mike T in Coordinate of the closest point on a line with Shapely. There is also a recipe in the Python Geospatial Analysis Cookbook (Snapping a point to the nearest line ) "This super ...


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