Last Updated 8/26/2019. Get latest update if you have an earlier version!


The BulkLoadPrepToolbox was developed by Molly Moore, Pennsylvania Natural Heritage Program. The tool adds a buffer to any data with Locational Uncertity Type of Estimated, then performs a separation distance analysis (according to NatureServe standard methodology) to assign the input data into new or existing EOs. Given that the Bulk Create tool bypasses this step, assuming that you have grouped data appropriately, having this tool to automate the process for you is UBER-helpful! The resulting data can then be used to facilitate the Bulk Create process. NatureServe wholeheartedly applauds this tool as it follows NatureServe methodology, thus ensuring data consistency, and strongly encourages folks to use it! Please submit a ticket (by emailing [email protected]) if you need help! For questions regarding the Aquatic tool, please contact Molly.


Obtain the Toolbox and ReadMe (which explains how to install and use it) from Github. NOTE: Testing has revealed that the tools run quicker in ArcGIS Pro, so if performance is an issue and you have Pro...


Following are additional steps developed to facilitate preparing your spatial data prior to using the Toolbox in order to include separation distances, as found in Biotics.

  1. Assuming you want to limit SF/EO creation to tracked elements, run the following query in Query Builder and export to a CSV file named Tracked_Elements.csv. Alternatively, edit the where clause for eots.eo_track_status_cd='Y' to eliminate it or include additional values:
    select est.element_subnational_id, sname.scientific_name, est.s_primary_common_name, eots.eo_track_status_cd from element_subnational est, d_eo_track_status eots, scientific_name sname where est.sname_id = sname.scientific_name_id and est.d_eo_track_status_id=eots.d_eo_track_status_id (+) and eots.eo_track_status_cd='Y'
  2. After changing the subnation_id in two places within (CTRL+F to find) the attached Separation_Distance.sql query, run the query in Query Builder and export the result to a csv file named Separation_Distance.csv. See the notes in the query for further details about what is included (i.e. suitable and unsuitable habitat distance for element/element group). NOTE: The query includes suitable and unsuitable habitat separation distances, as well as a separate SEP_DISTANCE field which should be used within the Bulk Load Prep Toolbox. This is done so that you can enter custom separation distances and have a reference to the suitable and unsuitable distances without overwriting one of them.
  3. In ArcMap, Join the Tracked_Elements.csv to the spatial data according to EST ID
  4. Join the Separation_Distance.csv to the spatial data set on EST ID or the EST_by_LUC, if Location Use Class is included in the spatial data set.
  5. Select by Attributes for: Tracked_Elements_csv_ELEMENT_SUBNATIONAL_ID is not null
  6. Data Export to export to a new geodatabase so that the process is only run for tracked species, with the required Separation Distance included.
  7. Select by Attributes having SEP_DISTANCE is null
  8. Calculate SEP_DISTANCE =1 to set the default separation distance of 1 km, where it has not been assigned.
    NOTE: As appropriate, update data within the SEP_DISTANCE field (in kilometers) for following reasons:
    • any of the locations fall within unsuitable habitat, in which case the (suitable) separation distance should be replaced with the unsuitable habitat distance
    • a more appropriate distance than the 1 km default can be assigned, especially in the case of plants, in which case the Data Manager should coordinate with the program Botanist to determine the appropriate separation distance. Given that few plant species have custom Separation Distances at either the species or Element Group level, the Habitat-based Plant Element Occurrence Delimitation Guide should be used to determine the appropriate Separation Distance. The Plant EO Specifications Decision Tree was developed and vetted by network botanists, and provides a separation distance based on life history traits, suitable and unsuitable habitat
    • a custom distance is more appropriate
  9.  Repeat Steps 3 – 8 as necessary if more than a single layer (i.e. points, lines, polys)
  10. Create a unique id field in the data set, if one does not already exist.
  11. Run BulkLoadPrepToolbox, pointing to existing SF & EO layers, according to the attached BulkLoadPrepToolbox_Readme.pdf.

Troubleshooting

If when running the Bulk Load Prep  Toolbox, you receive the following error: "TypeError: A float is required." :

  1. Right-click on the toolbox and choose Edit.
  2. Search for arcpy.Buffer_analysis(sf_in,sf_out,1) and change it to arcpy.Buffer_analysis(sf_in,sf_out,float(1))


If you get the following error, make sure your existing layers are in the same folder as your input layers:

Traceback (most recent call last):
  File "<string>", line 578, in execute
  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 9275, in AddIndex
    raise e
  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 9272, in AddIndex
    retval = convertArcObjectToPythonObject(gp.AddIndex_management(*gp_fixargs((in_table, fields, index_name, unique, ascending), True)))
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing\_base.py", line 512, in <lambda>
    return lambda *args: val(*gp_fixargs(args, True))
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000185: This data type is not supported
Failed to execute (AddIndex).