I would like each function to be added into the opened mxd. This was originally designed to run in Catalog, but the users will all be using ArcMap.
This is my Script:
# nrcs_script_main.py
# Description: This Script will serve to create a geodatabase, create Area of Interest Raster Datasets, and process them with external functions
# Parameters (type): folder_for_gdb (folder), file_gdb_name (string), dem (raster dataset), input_mask_polygon (shapefile), contour_interval (double), smoothing_distance (linear unit)
# ---------------------------------------------------------------------------
# Set the necessary product code
import arceditor
# Import arcpy module
import arcpy
# Check out any necessary licenses
arcpy.CheckOutExtension("spatial")
# Import tool modules
import sys
import os
import shutil
import aoigen
import useraoigen
import contourgen
import hydrology
# Script arguments
project_folder = arcpy.GetParameterAsText(0)
folder_for_gdb = project_folder + "\\" + arcpy.GetParameterAsText(1)
file_gdb_name = arcpy.GetParameterAsText(1)
dem = arcpy.GetParameterAsText(2)
dem_sr = arcpy.GetParameterAsText(3)
extraction_checkbox = arcpy.GetParameterAsText(4)
input_mask_polygon = arcpy.GetParameterAsText(5)
mask_polygon_sr = arcpy.GetParameterAsText(6)
aoi_buffer_dist = arcpy.GetParameterAsText(7)
contour_checkbox = arcpy.GetParameterAsText(8)
contour_interval = arcpy.GetParameterAsText(9)
if contour_interval == '#' or not contour_interval:
contour_interval = "1" # provide a default value if unspecified
smoothing_distance = arcpy.GetParameterAsText(10)
contour_thinning = arcpy.GetParameterAsText(11)
import_rule_layer = arcpy.GetParameterAsText(12)
contour_unit_conversion_factor = arcpy.GetParameterAsText(13)
hydrology_checkbox = arcpy.GetParameterAsText(14)
# Copy and Paste job folder
arcpy.AddMessage("Copy and Paste Folder")
src = os.path.join("C:\\",'ArcPy_NRCS','Template')
dst = folder_for_gdb
shutil.copytree(src,dst,symlinks=False,ignore=None)
# Rename Map Document
arcpy.AddMessage("Rename directories and Documents")
os.rename(dst + '\\template.mxd', dst + '\\' + file_gdb_name + '.mxd')
# Execute Selected Functions
if extraction_checkbox == "true":
arcpy.AddMessage("Aoigen.aoi")
aoigen.aoi(folder_for_gdb, file_gdb_name, dem, input_mask_polygon,aoi_buffer_dist)
if contour_checkbox == "true":
arcpy.AddMessage("Running Contouring Functions")
contourgen.contour(folder_for_gdb, file_gdb_name, contour_interval, smoothing_distance, contour_thinning, import_rule_layer, contour_unit_conversion_factor)
if hydrology_checkbox == "true":
arcpy.AddMessage("Running Hydrology Functions")
aoi = folder_for_gdb +"\\" + "Project_Datasets.gdb" + "\\" + "AOI_dem"
hydrology.drainvis(folder_for_gdb,file_gdb_name,aoi)
else:
arcpy.AddMessage("useraoigen.useraoi")
useraoigen.useraoi(folder_for_gdb, file_gdb_name, dem)
if contour_checkbox == "true":
arcpy.AddMessage("Running Contouring Functions")
contourgen.contour(folder_for_gdb, file_gdb_name, contour_interval, smoothing_distance, contour_thinning, import_rule_layer,contour_unit_conversion_factor)
if hydrology_checkbox == "true":
arcpy.AddMessage("Running Hydrology Functions")
aoi = folder_for_gdb +"\\" + "Project_Datasets.gdb" + "\\" + "AOI_dem"
hydrology.drainvis(folder_for_gdb,file_gdb_name,aoi)
# Add Map in ArcGIS
mapdoc = os.path.join(folder_for_gdb,file_gdb_name+".mxd")
arcpy.AddMessage("Lidar Toolset Finished! Your Map document will open when this window is closed.")