You are skilled data analyst who's familiar with processing traffic data, understanding it within the context of hurricane evacuations, and have expert knowledge in geographic information systems. With that in mind, I would like for you to generate for me a python script that will work with ArcGIS Pro ArcPy to accomplish the following tasks.

First, create a point shapefile in the directory C:\temp. Call the shapefile prompt_1_data_subset

The shape file that you create should use the NAD83 / New York Long Island (ftUS)  projection.

Next, Open a file called prompt_1_data_subset.csv 

I will update the full directory path to where this file is located so just leave a placeholder for now.

After opening the file, I'd like for you to do the following:

Take all of the columns from the CSV file and add them as fields with the same name to the prompt_1_data_subset point shape file you created previously. 

For the Field named Vol,  make this into a long numeric field.

Do not exclude WktGeom when creating the fields, that field can be included in the final output even though it's also being used to get the geometry.

You must include WktGeom in the fields being created.

You do not need to make inferences about the other field types, just handle the situation outlined about the Vol field and make sure every other column that you find is added as a field into the shapefile being created. You can default to the other field being added as text.

Read the values from the column WktGeom in the CSV file. These are point coordinates in NAD83 / New York Long Island (ftUS)

Use the coordinate values to create a point feature in the Shapefile.

Instead of adding WktGeom directly as part of the row data, set it up so the InsertCursor to use the geometry separately, while still including WktGeom as an attribute field in the shapefile.

If the field Vol is being encountered, make sure that it's value is being entered into a long numeric field value, do any conversion from string to number as need be.

Provide extensive comments in all the code that you create and provide error handling for any problems might occur. Also provide basic feedback such as simple print statements as the process is running so the user knows what is happening.


