Topology AddIn Guinea Pig wanted

6956
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
ChrisDonohue__GISP
MVP Alum

No problem.  Thanks for sharing the tool and being willing to adapt it.  That said, if it turns out rearranging it to make it work for older versions is a total pain, don't worry about modifying it.  Most folks seem to be on newer versions.  I suspect it took a ton of time to get this to where it is at now, so no need to rebuild the world to make it match the limitations of older software.

Keep up the good work,

Chris Donohue, GISP

0 Kudos
TimWitt2
MVP Alum

No worries Chris, all I need to do is remove the dialog box. Everything else stays the same.

0 Kudos
TimWitt2
MVP Alum

Another quick update:

The new dangle tool is very Memory heavy when you have 50k+ road network. I had to close my 10 google chrome tabs and then it would work. Before it would crash my ArcMap.

0 Kudos
TimWitt2
MVP Alum

Latest update added some dialogue pop ups when you run a check.

HeatherWidlund
Occasional Contributor

Hi Tim,

Your thread popped up in the summary GeoNet email today. I've downloaded and run your add-in a few times on our ESN and roads data. This is such a sweet tool, and will help a great deal with our multi-agency integrated public service data. I like the dialogues - you could even add the error count to them. It would also be great if you could designate a location for the scratch workspace, but it works fine as is. I will definitely keep up with this thread and I really appreciate you developing and sharing the tool!  ETA: I'm on 10.4.1

Thanks,

Heather

TimWitt2
MVP Alum

This is what I am currently working on.

I am still trying to figure out how I can force the user to only choose a folder and not anything else.

by Anonymous User
Not applicable

Do you have access to the os module? 

Not sure how you get this to work within the dialog but could throw an error message and force retry if they don't select a directory?

import os

if os.path.isdir(v_path):

  return True

else:

  return False

0 Kudos
TimWitt2
MVP Alum

Anthony,

I am using the OpenDialog module found here: The pythonaddins module—Help | ArcGIS Desktop 

I also have access to the os module. I am still trying to figure out the filter option.

0 Kudos
by Anonymous User
Not applicable

Nice, the OpenDialog module looks really handy.

I'm sure I can use that for a few things here!

0 Kudos
TimWitt2
MVP Alum

I was able to figure it out, thanks!

0 Kudos