Tag Info

Hot answers tagged

13

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


10

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


10

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


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


7

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


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

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.


4

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

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


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

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


4

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.


3

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


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

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


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

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


2

There's an algorithm documented on the geotools site that possibly describes how it can be done. Although it seems like 2d I'm sure it can be extended to 3d, considering the algorithm code is available


2

First, I don't know if any open source desktop gis is capable of 3d-snapping, but the wonderful thing about open source is that you can always fix it yourself or get someone else to fix it. Use some of the money you save from ArcGIS licenses on developing 3D snapping :-) Depending on your workflow it might be of interest to know that PostGIS since version ...


2

Even though you said XY Tolerance is inadequate, it is the answer to your question. Read the ArcGIS Online Help article called "Feature class basics", and subsection "Feature tolerances", subsection "X,y tolerance" Online Help for X,y tolerance: Feature processing operations are influenced by the x,y tolerance, which determines the minimum distance ...


2

I don't know much about QGIS or GRASS, but some quick Googling has yielded v.clean in GRASS should do the trick. Have a look at this post and this one. Alternatives to QGIS and GRASS: If I were to do this in ArcGIS, I would probably store my data in a Feature Dataset in a File Geodatabase and create a Topology to identify areas where the point layer was ...


2

To reiterate my comment on dmahr's answer, I think this will solve your problems: You probably need to turn the XY event layer into a proper point feature class/shapefile. You should be able to do so by right-clicking on them in the table of contents and going to Data -> Export Data...


1

This is not quite what you asked for (I also can't see an option for weed tolerance) but might be a workaround. You can enable stream mode while digitising, and specify a stream tolerance. When moving the mouse or digitising puck, a vertex is automatically added once the stream tolerance distance is reached. This won't actually prevent your users from ...


1

i have made an ArcPy code to virtualy snap the lines , so the script calculats the bearing of the lines , snap the origin of the vector, then build new lines from new snapped points using the bearing. but i have noticed a weird error using the function BearingDistanceToLine_management in arcpy it add an angle of to the bearings , without understanding the ...


1

There is a dedicated plugin called traceDigitize. You can install it as long as you have the contributed repository. If you haven't got this then go to Fetch Plugins and then add it using http://pyqgis.org/repo/contributed. The tool itself needs some work as you can't actually see the path you have traced. Though perhaps I'm just using it incorrectly.


1

I had this "no snapping" problem, and the eternal blue circle pause when trying to edit. I had a huge file of contours on my map which were in a different projection than the map. I got the warning whenever I turned on editing, but I just ignored it. When I turned off the contours, suddenly snapping and editing worked fine!


1

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


1

I know this is a year old, but I figured out the easy way. It will give you that error no matter what shapefile you bring in as the snap environment. You need to select a type of snapping from the drop down menu and enter a distance tolerance next to your file where it comes up underneath the snapping environment. Hope this helps someone!!



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