Topology AddIn Guinea Pig wanted

7126
77
04-19-2017 08:00 AM
TimWitt2
MVP Alum

Hey everybody,

On a monthly basis I create a bunch of topologys to make sure that my polygon layers don't overlap or have gaps (ESN). I also run a topology on my street layer to find street segments that aren't snapped. This process consists mostly of models.

Since I always try to help my Public safety brethren, I figured I compile my process in a Python AddIn, that "should be easy to use". I started a day ago and have the skeleton of the AddIn finished and now I am looking for a Guinea Pig (I am looking at you Chris Donohue, GISP & Joe Borgione ) to use it!

Latest Update:

- Created an official document: Topology Check Python AddIn (6/30/17) 

- Added Error message when the wrong feature is chosen for certain Checks (i.e. polygon feature is chosen for dangle check)

- Now works with ArcGIS Desktop Standard

- Latest test version that includes a polygon break check. This check make sure that your line features are broken when they intersect with a polygon feature. Just select the line feature and polygon feature in the TOC and run the check.

Dropbox - TopoAddIn.esriaddin  10.3.1 + version

Here is what you need:

ArcGIS Desktop Standard 10.3.1 or later versions

Here is how it works:

1. You would download the add in HERE. (10.1 version HERE )

2. Double click it and install it.

3. Open an MXD and add a polygon layer and a street layer.

4.The toolbar should be there but if it is not click on Customize -> Toolbars -> TopoCheck

5. Follow the steps in the screenshot!

As I said it is still a work in progress, especially the street dangle check.

Let me know what you think!

Tim

Tags (2)
77 Replies
TimWitt2
MVP Alum

HeatherW‌ You can download latest version, which allows to dictate scratch workspace folder. Let me know how it works.

0 Kudos
HeatherWidlund
Occasional Contributor II

Awesome, thanks. I will try it out.

Also, I just want to throw this out there for other cross-jurisdictional public safety data people - I did a script tool that finds polylines at jurisdictional boundaries that aren't snapped to agreed-upon snap points, such as in this image:

image of lines that are not snapped to points

The code is at Data integration – on the edge – GIS Hacker & Hiker, and uses "disjoint" to create an error feature class of points where endpoints aren't snapped.

0 Kudos
TimWitt2
MVP Alum

Thanks for sharing Heather! In the future I wanted to add a button to check that streets are broken at Jurisdiction boundaries.

0 Kudos
JoeBorgione
MVP Emeritus

Just downloaded the latest version.  I like the Intersections Error tool. In my case, many errors are not really errors, but freeway overpasses and underpasses.  Tim and I chatted on the phone and one idea I had was to be able to rebuild just the visable portion of the scratch topology, just so I can keep track of what I've fixed. 

However, since Tim is gracious enough to provide the errors as a point feature class there really  a need to over complicate things.  With the IntersetErrors point feature class, I symbolize them based on the Exception attribute.  As I work on the my streets, I simply calc Exception = 1 as I fix the error and move on.  I can also select those error points that spatially fall on a freeway and do the same calculation....

ETA: Below you can see the basic outline of the freeways in the Salt lake Valley:

Tim Witt

That should just about do it....
TimWitt2
MVP Alum

Thanks for sharing!

0 Kudos
TimWitt2
MVP Alum

I just updated it again. I have also added a latest update line to the original post.

0 Kudos
TimWitt2
MVP Alum

cdspatial can you try the latest 10.1 version? Should be with scratch workspace and error messages.

0 Kudos
ChrisDonohue__GISP
MVP Alum

OK, I'll give it a try.

Chris Donohue, GISP

0 Kudos
ChrisDonohue__GISP
MVP Alum

Installed the new tool and ran it. Some tools ran fine, others had issues.  Some of this may be due to the older version of ArcGIS used.

Here's the results on test data in a File Geodatabase using ArcGIS Desktop 10.2.1:

Check for Overlaps function:

- overlap_polys output correctly identified polygon overlaps in a parcel test dataset.

- overlap_Topology output also found the issues correctly.

- OverlapErrors_point and OverlapErros_line outputs had no results (they showed up in the Table of Contents, but I'm not sure if they are used as part of the "Check for Overlaps" function.

Check for Gaps function:

- GapErrors_poly output was empty/did not find the gaps in a parcel test dataset.

- gap_Topology output did find the gaps correctly.

- GapErrors_point output was an empty table/did not find gaps.

- GapErrors_line found all the gap issues and output them as lines.

Check Line Segment Dangle function:

- YourDangleErrors output correctly found dangles at distances of 0.1 foot and 1 foot in street centerline test dataset.  Did not 4 other Dangles present (35'+).

Check Line Segments Overlap function:

- intersect_Topology output correctly showed overlapping lines when run on a test street dataset.

- IntersectErrors_point output was an empty table/did not find overlap.

- IntersectErrors_line output did find the overlaps. 

- IntersectionErrors_poly output was an empty table/did not find overlaps.  Also, I'm curious as to how this output would be used?

Scratch Workspace function:

- Works.  I was able to switch the folder location for  the Scratch workspace and the other functions then output the results there.

Chris Donohue, GISP

 

mmmm, yummie street data......

0 Kudos
TimWitt2
MVP Alum

Thanks for the feedback!!

Looking at it, everything seems to run fine. I am using the export topology errors tool, which seems to create a point/line and polygon feature by default and then adds all of them to the MXD even though some might be empty.

To catch some of those further away dangles,  will add a combo box in which the use can decide how many feet it should look for.

0 Kudos