Python Script for Non-GIS Users

392
8
07-17-2020 12:25 PM
ModernElectric
Occasional Contributor III

Good Afternoon:

I have been experimenting with a series of Python Scripts that utilize the ArcPy SearchCursor feature that has user input (Enter Meter Number) and the script prints the XFMR, Protective Device and Feeder. This first start out as an experiment to learn more about writing Python scripts and it began me thinking. 

What I would like to do is to take the Python Script and allow others (Non-GIS Users) within my company to use the script. This way, if a user (Engineer, foreman, etc) has a meter number but wants to know the Upstream Protective Device, they can open the script, enter the meter number and get the return value they need. Keep in mind, these users have NO GIS software (ArcDesktop, Python, etc) and simply just viewers. 

Is this something that is possible to convert a Python script to an executable file for Non-GIS users? If so, how do I start.

If I can get it to work, it will open up many possibilities and new query scripts I can build and provide to company users that need to research specific information. 

Appreciate it.

0 Kudos
8 Replies
DanPatterson
MVP Esteemed Contributor

The simplest approach would be to make a toolbox and put the scripts in there.

You could even have a project with your data and the toolbox visible in ArcToolbox facilitating click and run capability.

Tools in toolboxes can have help associated with them so the user can follow along.

I prefer custom tools 

Comparing custom and Python toolboxes—Geoprocessing and Python | Documentation 

since they are easier to construct and you can still do parameter validation if you have quirky stuff you need to check for

Then there are 'tasks'

Create a new task—ArcGIS Pro | Documentation 

There is "py2exe" but it is going to be less useful since they won't have help information.

Lots of options but tools in custom tools are easier to get started on and don't have all the quirkiness of modelbuilder


... sort of retired...
0 Kudos
ModernElectric
Occasional Contributor III

Thank You for the reply Dan. However, I think maybe I wasn't completely clear. My goal is to have the End-User open the python script (lets say in an .EXE file) that is not a GIS user, has no GIS software on their computer but can benefit from the construction of the script to obtain GIS information. I would like to put the script (Without ESRI or Python) on my engineer's computer and all they need to do is double-click the executable file, enter the Meter Number and the script returns a series of values. 

0 Kudos
DanPatterson
MVP Esteemed Contributor

FrontPage - py2exe.org is one of several.  Can't recommend anyone in particular, but you will have issues with arcpy stuff


... sort of retired...
0 Kudos
ModernElectric
Occasional Contributor III

There is the kicker. The ArcPy stuff. That was what I was afraid of when it came to allowing Non-GIS Users to use the Python scripts to query GIS data without having ESRI software installed. Any kind of work-around, besides installing Python on their computer?

0 Kudos
DavidPike
MVP Frequent Contributor

do you have an ArcGIS server?

0 Kudos
ModernElectric
Occasional Contributor III

David:

That would be a BIG Negative!!! And it appears we (not me specifically) are not entertaining the possibilities of getting it. Just working with ArcMap, Python, ArcReader and AGOL. I'm the only GIS Editor/Analysis in the company but I have about 20 end-users. Doing alot of R&D to see how I can better utilize what I have for their benefit.  

0 Kudos
DavidPike
MVP Frequent Contributor

How many datasets are you working with and what size? Copying features to a personal GDB might allow for them to query it through MS Access.  If you have an RDBMS setup that would of course be ideal (even allow you to do spatial queries through SQL).  Although I do understand its not the point, i.e. this SearchCursor is only the envisaged first-steps.

0 Kudos
RandyBurton
MVP Regular Contributor

Based on some of your past questions, I assume you are using a file geodatabase with Desktop.  You could do a daily export to a network file that the engineers, etc. could access/query via some program.

But, I imagine that it would also be helpful for your engineers to see the data located on a map.  This could be allowing your users to query an online map such as Portal or ArcGIS Online.  Apps like Collector and Explorer would then be easy to use options to query the data. Desktop should come with an AGOL account, so you should be able to do some experimenting.

0 Kudos