I have written a Python Toolbox for ArcMap, that allows a user to consume a Template Feature Layer to run through a series of processes.

The user defines an Area of Interest (AOI) in the Tool and then a bunch of Geoprocessing Tools run for this AOI.

I have tested the Tool in ArcMap 10.4 and 10.6 and it works as expected. I asked a user to run it in 10.2 and he produced a result.

I have however managed to get access to two Desktops running 10.2 and the AOI is not displayed correctly.

The Tool is meant to look like this:

enter image description here

When I open the tool in 10.2, in place of the "Tool:: Select your Area of Interest" there is a path to an "in_memory" workspace...of which I have none in my script at all:

enter image description here

Has the way in which the "GPFeatureRecordSetLayer" data type changed between ArcMap 10.2 and 10.4?

I think we should ignore the one time it worked on a 10.2 machine, as I was not there to witness the exact steps taken by the user, and the tool may have run correctly, without the AOI being created - it may have run using information already stored in the AOI Template file.

My code to create this tool is below:

**def getParameterInfo(self):
        '''parameter definitions for GUI'''
        params = None
        param0 = arcpy.Parameter(
        displayName = "AOI",
        name = "Choose you Area of Interest",
        datatype = "GPFeatureRecordSetLayer",
        parameterType = "Required",
        direction = "Input")

        param0.value = r"C:\Data\AOI.lyr"

        param1 = arcpy.Parameter(
        displayName = "Project Name",
        name = "Please provide a project for this search",
        datatype = "GPString",
        parameterType = "Required",
        direction = "Input")

        param1.value = "Input Text"

        param2 = arcpy.Parameter(
        displayName = "Project Identifier",
        name = "Please provide an unique identifer for this search - Text Only",
        datatype = "GPString",
        parameterType = "Required",
        direction = "Input")

        param2.value = "Input Text"

        params = [param0 , param1, param2]
        return params**

1 Answer 1


After much backwards and forwards with ESRI I have an answer:

The issue is the "GPFeatureRecordSetLayer" in 10.2.x It is a bug which was fixed in subsequent releases. The result of which, because 10.2 is in Mature Support, there is no avenue to fix the bug. So there is no solution, other than finding a new workflow.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.