<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Creating a python scrip to batch process .dat files in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/creating-a-python-scrip-to-batch-process-dat-files/m-p/144311#M11214</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have been trying to create a python scrip to batch process .dat files (with .hdr files).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The data is PRISM Temperature, Precip etc... data which are stored as .dat files - for all the type of functions I need, ArcGIS spatial analyst tools can do it if I do them 1-by-1. I have 3,100 files that need processing. This is what I need to happen&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mask the PRISM data to the study area.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Convert PRISM .dat to ASCII&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried adapting the code I found below&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;# Extracts the cells of a raster that correspond with the areas
# defined by a mask.
# Author: Michel
# Date: 10 de Janeiro de 2011
# -----------------------------

# Import system modules
import sys, string, os, arcgisscripting

# Create the Geoprocessor object
gp = arcgisscripting.create()

try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # Check out any necessary licenses
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CheckOutExtension("spatial")

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Load required toolboxes...
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddToolbox("C:/Program Files (x86)/ArcGIS/Desktop10.0/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx")

&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISM_Binary/test"
&amp;nbsp;&amp;nbsp;&amp;nbsp; out_workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISMPrecip"
&amp;nbsp;&amp;nbsp;&amp;nbsp; mask = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PolygonStudyArea/polygonstudyarea.shp"

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of the rasters in the workspace
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = gp.ListRaster()

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop through the list of rasters
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster.reset()
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()

&amp;nbsp;&amp;nbsp;&amp;nbsp; while raster:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Set the outputname for each output to be the same as the input
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output = out_workspace + raster

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Process: Extract by Mask...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.ExtractByMask_sa(raster, mask, output)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop function...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()

except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # If an error occurred while running a tool, then print the messages.
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Error in script"
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.GetMessages()&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But I've read that the tool in python has a known error that won't process .dat&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The python code I cobbled clumsily together for mass converting to ASCII had no luck&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;# Description: Converts a raster datasets to an ASCII file representing 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; raster data from a foler.&amp;nbsp; 
# Requirements: arcpy
# Author: Kenneth

# Import system modules
import arcpy
from arcpy import env

try:
# Set environment settings
&amp;nbsp;&amp;nbsp;&amp;nbsp; env.workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISM_Binary/test"
&amp;nbsp;&amp;nbsp;&amp;nbsp; out_workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISMPrecip"

# Set local variables
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = env.ListRaster()

#loop through raster list
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster.reset()
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()

&amp;nbsp;&amp;nbsp;&amp;nbsp; while raster:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #set output name for each to be same as input
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outASCII = out_workspace + rasterlist
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Execute RasterToASCII
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RasterToASCII_conversion(raster, outASCII)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #loop function
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # If an error occurred while running a tool, then print the messages.
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Error in script"&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any other way I can mass change these files? I appreciate any help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Apr 2013 03:16:04 GMT</pubDate>
    <dc:creator>KennethDudley</dc:creator>
    <dc:date>2013-04-10T03:16:04Z</dc:date>
    <item>
      <title>Creating a python scrip to batch process .dat files</title>
      <link>https://community.esri.com/t5/python-questions/creating-a-python-scrip-to-batch-process-dat-files/m-p/144311#M11214</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have been trying to create a python scrip to batch process .dat files (with .hdr files).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The data is PRISM Temperature, Precip etc... data which are stored as .dat files - for all the type of functions I need, ArcGIS spatial analyst tools can do it if I do them 1-by-1. I have 3,100 files that need processing. This is what I need to happen&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Mask the PRISM data to the study area.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Convert PRISM .dat to ASCII&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried adapting the code I found below&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;# Extracts the cells of a raster that correspond with the areas
# defined by a mask.
# Author: Michel
# Date: 10 de Janeiro de 2011
# -----------------------------

# Import system modules
import sys, string, os, arcgisscripting

# Create the Geoprocessor object
gp = arcgisscripting.create()

try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # Check out any necessary licenses
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.CheckOutExtension("spatial")

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Load required toolboxes...
&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddToolbox("C:/Program Files (x86)/ArcGIS/Desktop10.0/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx")

&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISM_Binary/test"
&amp;nbsp;&amp;nbsp;&amp;nbsp; out_workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISMPrecip"
&amp;nbsp;&amp;nbsp;&amp;nbsp; mask = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PolygonStudyArea/polygonstudyarea.shp"

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of the rasters in the workspace
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = gp.ListRaster()

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop through the list of rasters
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster.reset()
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()

&amp;nbsp;&amp;nbsp;&amp;nbsp; while raster:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Set the outputname for each output to be the same as the input
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output = out_workspace + raster

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Process: Extract by Mask...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.ExtractByMask_sa(raster, mask, output)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop function...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()

except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # If an error occurred while running a tool, then print the messages.
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Error in script"
&amp;nbsp;&amp;nbsp;&amp;nbsp; print gp.GetMessages()&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But I've read that the tool in python has a known error that won't process .dat&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The python code I cobbled clumsily together for mass converting to ASCII had no luck&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;# Description: Converts a raster datasets to an ASCII file representing 
#&amp;nbsp;&amp;nbsp;&amp;nbsp; raster data from a foler.&amp;nbsp; 
# Requirements: arcpy
# Author: Kenneth

# Import system modules
import arcpy
from arcpy import env

try:
# Set environment settings
&amp;nbsp;&amp;nbsp;&amp;nbsp; env.workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISM_Binary/test"
&amp;nbsp;&amp;nbsp;&amp;nbsp; out_workspace = "C:/Users/ken/Desktop/GIS Model/FinalProjectData/PRISMPrecip"

# Set local variables
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = env.ListRaster()

#loop through raster list
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster.reset()
&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()

&amp;nbsp;&amp;nbsp;&amp;nbsp; while raster:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #set output name for each to be same as input
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outASCII = out_workspace + rasterlist
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Execute RasterToASCII
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RasterToASCII_conversion(raster, outASCII)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #loop function
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; raster = raster.next()
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # If an error occurred while running a tool, then print the messages.
&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Error in script"&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any other way I can mass change these files? I appreciate any help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Apr 2013 03:16:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/creating-a-python-scrip-to-batch-process-dat-files/m-p/144311#M11214</guid>
      <dc:creator>KennethDudley</dc:creator>
      <dc:date>2013-04-10T03:16:04Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a python scrip to batch process .dat files</title>
      <link>https://community.esri.com/t5/python-questions/creating-a-python-scrip-to-batch-process-dat-files/m-p/144312#M11215</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Have you opened up one of the .dat files in Wordpad? It may already be in ASCII format, in which case you could just change the .dat extension to .asc, insert the header information, and proceed that way.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've never seen the PRISM data distributed in .dat format. If you attach one of the files, I might be able to give better advice.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Apr 2013 13:21:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/creating-a-python-scrip-to-batch-process-dat-files/m-p/144312#M11215</guid>
      <dc:creator>PhilMorefield</dc:creator>
      <dc:date>2013-04-12T13:21:48Z</dc:date>
    </item>
  </channel>
</rss>

