Tag Info

Hot answers tagged

17

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 ...


15

Use Eliminate (ArcInfo License required) Eliminates polygons by merging them with neighboring polygons that have the largest area or the longest shared border. Eliminate is often used to remove small sliver polygons that are the result of overlay operations, such as Intersect or Union. ...


12

Snapping points to a line using ArcGIS geoprocessing tools Assumptions: You have a point layer and a line layer. You want a points to be snapped to the line layer. Instructions 1. Use the Near tool to find snap locations In ArcGIS's Toolbox pane, Select Analysis Tools -> Proximity -> Near Choose your point layer as Input features, your line layer as ...


11

To do this by hand in QGIS, go to Settings|Project Properties... On the General tab at the bottom is Snapping options... Check the layer that you want to snap, set the mode to to vertex and set the tolerance to some value less than the shortest distance between two points that you have. If you're not sure, set the units to pixels and the tolerance to ...


8

You can find a detailed description of topological cleaning routines in the source code and manuals of GRASS GIS: http://grass.osgeo.org/programming7 The cleaning routines are coded here: http://trac.osgeo.org/grass/browser/grass/trunk/vector/v.clean Examples for the underlying routines: Select dangles: ...


8

If you are a QGIS user than you get all the power of GRASS, as it is a fully topological GIS. Inside QGIS activate the GRASS plugin, create a location/mapset where to import your data. Open the mapset and import you dirty layer with v.in.ogr: play with the two advanced parameters "snapping threshold for boundaries" and "minimum size of area to be imported". ...


8

There are several steps I use. 1. is easiest but don't necessarily try it first. copy the layer you need to edit, snap to and use for reference (as few as possible) to another document (for editing). 2. make sure you are not in the layout view. 3. make sure you don't have a definition query.


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).


7

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.


6

Maybe the answers to this question are helpful: How to simplify a routable network? I used GRASS v.clean in the end.


6

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. Only thing that does not work is snapping to the points of a line or polygon you are just creating.


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 ...


6

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.


5

ArcGIS 9.3.x: In the ArcGIS interface, use the snapping environment within the Editing toolbar. Programmatically, you can find a number of snapping-based Visual Basic examples at the ESRI resources page (note: personally, I like to use the old page. I think it's easier to find stuff. VB resources). See for instance, VB code to "bulk snap": "The Bulk Snap ...


5

What licence level is your ArcMap? Intersect should work with a set tolerance. http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00080000000p000000.htm should create a new polyline with nodes where your vertices were. You will need to rebuild your network afterwards


5

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


5

A quick Google Scholar search turned up the following well-cited articles: Thierry Ubeda and Max J. Egenhofer. Topological error correcting in GIS. Advances in Spatial Databases, Lecture Notes in Computer Science, 1997, Volume 1262/1997, 281-297, DOI: 10.1007/3-540-63238-7_35 (PDF) Sylvie Servigne, Thierry Ubeda, Alain Puricelli and Robert Laurini. A ...


4

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 ...


4

Although not an algorithm, this page gives you some info as to what types of topology errors "check geometry" looks for in the ArcGIS tools Check Geometry/Repair Geometry. http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000003v000000 Null geometry: The record will be deleted from the feature class. To keep records with null geometry, ...


4

Quick guess for question #1: QGIS only projects vertices and your straight lines have only an start- and endpoint?


4

You can use ST_RemovePoint(line, index) and ST_AddPoint(line, point, index). First, get first and last point with ST_pointN(line, index) and ST_NumPoints(line), then use ST_Snap to those points. Then use returned points to replace the old ones. These functions should be in Postgis < 2.0 ST_ReplacePoint hould be in Postgis 2.0


3

ArcGIS has topology rules that will help you identify and correct gaps in your data such as what you are referring to. In order to create Topology Rules you will need either an ArcEditor or ArcInfo license and store your Feature Class in a Feature Dataset in a personal or file geodatabase. You would most likely want to implement the "Must Not Have Gaps" ...


3

@ MaryBeth - You have valid concerns, It probably is not ever going to be as easy to "draft" in arcmap as it is in autocad, or microstation, or "Their/Your CAD System Here". *EDIT: * what's new There are some SUPER nice features however that I am beginning to really love in desktop 10. ESRI has come a long way to making or facilitating a (used to be ...


3

I used to have this function I used. Be careful it changes the geometry in the existing point table. I didn't use it for a long time but it seem like it should do the job. As far as I remember it works well if you have spatial indexes on both table. In order to call it SELECT snap_point_to_line('points_table', 'line_table', 500). It will snap with a ...


3

I don't think there is a way to completely automate correcting topological errors in a given dataset. Some things, such as dangles might be able to automate splitting and then deleting the resultant dangle. But then what about slivers between two adjacent polygons, which polygon should be merged with which sliver to eliminate it? That type of question ...


3

If you select the line you want to trace, then activate the trace tool>right click>trace options>trace selected features, you should be able to do what you need regardless of what snapping environment you are using.


3

Just encountered this myself. Got it working by putting an extra set of brackets [] around my env settings. The Arc help example is misleading because they use two sets of env settings, each defined in a variable with brackets, and then they nest these variables inside brackets. Here is the code that wasn't working: maxDist = str(maxDist + 1) + " Meters" ...


3

What Brad said (especially make sure you're in data view - focus your data frame or edit in data view rather than layout). You can also tighten your snapping tolerance. Under the snapping drop down arrow, select "options". Change the number value shown in my printscreen below. Sometimes this works for me. I've seen instances where this seems to refresh ...


3

Here are three options. Hopefully one will help. v.clean Using the GRASS tools in QGIS you can clean up the topology of a spatial object. User @R.K. gives a good set of instructions on how to do this in an answer to a different question. The advantage that GRASS gives is that it will infer the shapefile's topology. The disadvantage for your situation is ...


3

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 ...



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