Subject: Marine Geospatial Ecology Tools (MGET) help
Text archives
From: | "Jason Roberts" <> |
---|---|
To: | "'Kerry Lagueux'" <> |
Cc: | <> |
Subject: | RE: [mget-help] ArcGIS 10 error... |
Date: | Tue, 31 Aug 2010 14:39:44 -0400 |
Hi Kerry, Thanks for your interest in MGET and for exposing your students
to it. We’re glad you’re finding it useful. We did test the HDF tool on ArcGIS 10 and it worked. I think I
see the problem with your scenario, and it is a bug in MGET that will affect
all versions of ArcGIS. The problem relates to how MGET decides where to store temporary
files. By default, the current version of MGET will store most temporary files
in C:\Temp\GeoEcoTemp_xyz where xyz is your Windows user name. This deviates
from Microsoft’s recommendation, which is to store temporary files in the
directory specified by the TEMP environment variable, usually in the user’s
profile directory, e.g. C:\Documents and Settings\xyz\Local Settings\Temp. We made
this decision in the early days of MGET when we discovered that some Spatial
Analyst tools in ArcGIS 9.1 would not work right if the output was to a
subdirectory of the TEMP directory. The problem with the default, aside from its non-traditional
location, is that some users have small C: partitions. We anticipated that these
users would not want to store files there so we tried to provide them with an
appropriate ArcGIS-friendly alternative: the ArcGIS “Scratch Workspace”.
If the Scratch Workspace is set, and it is a file system directory, it will be
used instead. This is where the bug comes in. The code that decides whether the Scratch Workspace should be
used only checks whether it is a file system directory. It does NOT check
whether that directory happens to be an ArcGIS file geodatabase. In your
scenario, it appears you set the scratch workspace to the file geodatabase C:\GIS\Data\Temp\Temporary.gdb.
Is that correct? The result is that MGET creates a temporary ASCII grid in the
file geodatabase (bad!!) and then calls the ASCII To Raster tool to convert it
to a binary grid, again in the file geodatabase. ArcGIS refuses to complete
that step, apparently because it cannot read the ASCII grid out of the
geodatabase’s internal file structure. The workaround is to not set Scratch Workspace to a file
geodatabase. Could you give that try and see if the tool works? ESRI invented file geodatabases after the first versions of MGET
were released. I haven’t touched the temp directory code since that time,
and it did not strike me that someone could choose a file geodatabase as the Scratch
Workspace and that this would break the temp dir code. Nonetheless, we should support
that scenario. I will fix this in the next release of MGET. The solution will
be to revert to using C:\Temp\GeoEcoTemp_xyz if the Scratch Workspace is a file
geodatabase. At some future point, possibly later this year, I will probably change
MGET to use the TEMP environment variable again rather than
C:\Temp\GeoEcoTemp_xyz. Recent versions of ArcGIS do not appear to be affected
by the problems with 9.1 and it appears that very few MGET users are still
using 9.1. Best, Jason From: Kerry Lagueux
[mailto:] Hello, First
of all, thank you very much for your hard work regarding the Marine Geospatial
Ecology Toolset. These tools have made my life easier and more
productive, I cannot thank you enough. In addition, I teach a Marine GIS
course at Boston Unviversity, where we use these tools extensively. I
have recently upgraded to ArcGIS 10, unfortunately, I am unable to run the
Convert SDS in HDF to Raster tool. I have had success running this tool
in the past in ArcGIS 9x versions. I am able to extract the headers from
the hdf file, this is usually my check to make sure the toolset was installed
correctly. However, I am not able to run HDF to Raster tool. The
error is below. Any
guidance would be most appreciative. Thanks
again for such an amazing toolset. Cheers, Kerry Executing:
HDFSDSToArcGISRaster
Y:\GIS\Projects\Brooke\From_Brooke\SST_for_Goose\A20100012010365.L3m_YR_SST4_4.bz2
Y:\GIS\Projects\Brooke\From_Brooke\SST_for_Goose\SST_4Goose2 l3m_data -180 -90
4.16666666666667E-02 65535 false false false false # # # # # # # # false Start Time: Tue
Aug 31 13:46:22 2010 Running script
HDFSDSToArcGISRaster... Converting SDS
"l3m_data" in HDF file
Y:\GIS\Projects\Brooke\From_Brooke\SST_for_Goose\A20100012010365.L3m_YR_SST4_4.bz2
to ArcGIS raster
Y:\GIS\Projects\Brooke\From_Brooke\SST_for_Goose\SST_4Goose2... Failed to
execute. Parameters are not valid. ERROR 000885: Input ASCII
raster file: C:\GIS\Data\Temp\Temporary.gdb\GeoEcoTemp\tmpmg8cs3\temp.txt's
does not have a file extension. Failed to
execute (ASCIIToRaster). ArcGISError:
The ArcGIS ASCIIToRaster_Conversion geoprocessing tool failed when given the
parameters
(*args=('C:\\GIS\\Data\\Temp\\Temporary.gdb\\GeoEcoTemp\\tmpmg8cs3\\temp.txt',
'C:\\GIS\\Data\\Temp\\Temporary.gdb\\GeoEcoTemp\\tmpmg8cs3\\output',
'INTEGER')) and reported ExecuteError: Failed to execute. Parameters are not
valid. ERROR 000885:
Input ASCII raster file:
C:\GIS\Data\Temp\Temporary.gdb\GeoEcoTemp\tmpmg8cs3\temp.txt's does not have a
file extension. Failed to
execute (ASCIIToRaster). The following
consequences resulted from the original error: Could not
convert SDS "l3m_data" in HDF file Y:\GIS\Projects\Brooke\From_Brooke\SST_for_Goose\A20100012010365.L3m_YR_SST4_4.bz2
to ArcGIS raster Y:\GIS\Projects\Brooke\From_Brooke\SST_for_Goose\SST_4Goose2 <class
'GeoEco.ArcGIS.ArcGISError'>: The ArcGIS ASCIIToRaster_Conversion
geoprocessing tool failed when given the parameters
(*args=('C:\\GIS\\Data\\Temp\\Temporary.gdb\\GeoEcoTemp\\tmpmg8cs3\\temp.txt',
'C:\\GIS\\Data\\Temp\\Temporary.gdb\\GeoEcoTemp\\tmpmg8cs3\\output',
'INTEGER')) and reported ExecuteError: Failed to execute. Parameters are not valid. ERROR 000885:
Input ASCII raster file:
C:\GIS\Data\Temp\Temporary.gdb\GeoEcoTemp\tmpmg8cs3\temp.txt's does not have a
file extension. Failed to
execute (ASCIIToRaster). Failed to
execute (HDFSDSToArcGISRaster). Failed at Tue
Aug 31 13:47:00 2010 (Elapsed Time: 38.00 seconds) Kerry Lagueux |