I'm using ArcGIS Advanced in order to generate a coverage (I've never worked with coverages before --nor ArcGIS really, know the basics, but not this). I am trying to write a python script to generate a coverage, but I keep get the same error.

The purpose of generating this coverage is to compare the results of a coverage (ArcInfo) (with its various xy tolerances) with the results of creating a feature class (ArcGIS) and see if they differ.

Basically I'm not sure how to access the generate tool (as its part of the 'advanced' product). I seem to have to import arcinfo.py as a module. This gets 'generate' working...

import arcinfo
arcpy.Generate_arc("generate.txt", "lights", "POINTS")

Then I hit enter and this happens

Runtime error  Traceback (most recent call last):   File "<string>", line 1, in
<module>   File "c:\program files (x86)\arcgis\desktop10.1\arcpy\arcpy\arc.py", line 
1064, in Generate     raise e ExecuteError: ERROR 999999: Error executing function.
Failed to execute (Generate).

I looked up Error 999999 and it said it was some generic error, which left me even more confused.

Could it be something with the output type. I know coverages get created in folders. The "lights" directory doesn't exist. Could this be the problem?

The arcpy.env.workspace is a simple directory r"C:\My\2000\Directory\\"

The 'r' needs to be in there otherwise the "\200" goes all unicode on me.

I've been looking at the help docs in arc too.

  • Do you have to run the Workstation part from Python? It would probably be much easier to just install it and then type "arc" to bring up the Arc: prompt to enter the GENERATE parameters. – PolyGeo Jul 4 '13 at 1:54

I'm going to put confidence in the correct definition of your coordinate system. With the proper projection (coordinate reference) assigned to your feature class your feature tolerance will be listed. Right click on a layer and choose properties, I think tolerance is listed in the domain tab. This tolerance is the numeric multiplier at which ArcMap will treat neighboring points as one, its usually about a milimeter. If you absolutely know the projection (coordinate reference) of your source, set your data frame to that. Then your event layer should match and your data export can use the coordinate reference of the data frame. I have to admit I don't have a solid answer for the arc tolerance part of your question, sorry.

| improve this answer | |
  • Thanks for your help mate. Looks like not even Google knows the answer to the tolerance part of the question. – TheLastGIS Jul 4 '13 at 4:23

A few comments:

As per the help, you need to have ArcInfo Workstation installed for it to run. I get Error 999999 as well since I don't have it installed. Error 999999 is the generic error message that is thrown whenever something unexpected fails.

I can tell you that the output cannot point to a folder that already exists, as Error 000725 is thrown.

Also, the r means that the string is formatted as a raw string literal. The reason is that the backslash character is an escape character in Python. There are a few ways you can declare paths:

  1. With forward slashes (I don't know of any tools that don't accept it) "C:/My/2000/Directory/"
  2. With double backslahes (you have to "escape" the escape character) "C:\\My\\2000\\Directory\\"
  3. As a raw string literal (I'm not sure why you have double \\ at the end though..it could be messing it up) r"C:\My\2000\Directory\"

Hmm apparently a \ is an escape character on SE. I actually had to type three of them to display 2.

| improve this answer | |
  • I've been told that ArcInfo Workstation is installed on this computer. I'm using a remote desktop connection to access this version of arcgis. Is there a way to check if arcinfo workstation is installed? I've been left alone with this, so there is no one here at work to ask. Do I need to create a ArcInfo Workspace? – TheLastGIS Jul 4 '13 at 1:30
  • There are a few options outline here. – Paul Jul 4 '13 at 1:41
  • 1
    So this thread from Arc Resources tells me that I can't use Worksation unless I have a Concurrent license. This version is single use. Does this sound familiar? forums.arcgis.com/threads/… – TheLastGIS Jul 4 '13 at 1:52
  • 1
    This makes it sound like one for Esri or your local distributor to resolve. If a technical solution is not possible then you could request a marketing one of getting a temporary concurrent license for the duration of your testing. I'm curious why you are doing this comparison because I believe any final issues with data accuracy in ArcGIS Desktop and Geodatabases were resolved by 9.2. – PolyGeo Jul 4 '13 at 2:01

What version of ArcGIS are you using? Info workstation gives you the ability to run ArcGIS old school style--in a command window. If you're using ArcGIS desktop the license level would be View, Editor, or Info for versions < 10.1. 10.1 license levels are basic standard and advanced. The top left corner of your software will have the license level such as ArcGIS Info. Anyway this matters because certain tools are only available at certain levels. The generate tools are Info or Advanced level tools and they're accessible in the toolboxes. you shouldn't need to use "workstation" to make them run. But if you're a stickler for command line, or feeling nostalgic, ArcInfo Workstation would be visible in Start/Programs/ArcGIS.

Is what you're trying really only going to work as a coverage? Standard fetures classes in a geodatabase or even shapefiles can be used compare features. Coverages are very old formats.

| improve this answer | |
  • I'm using Advanced. I'm trying to update some old AML scripts to python. I want to compare the results of creating a coverage (with xy points) and setting its tolerances, etc COMPARED WITH using the xy points to make a feature class and setting its tolerances. This is so the FC that can be used on any version of ArcGIS Basic (the norm on our enterprise licence) and I can know that the data we then send to our client is still being analysed and output in the same manner as a coverage. BASICALLY if I use xy table to create a coverage, is that going to give me the same result as creating an FC??? – TheLastGIS Jul 4 '13 at 3:14

So you want to confirm that your processes (old aml - new script) end up generating points at the same location? With high precision and correct coordinate reference for your feature class your points should end up exactly where your table says they should be. If you've got a table with an x column and a y column you can add that to ArcMap and then right click on it to make an event layer(even a text file like a .csv). This will generate points in your project, if you then want to save them you can right click on the event layer and choose data/ export and turn it into a shape file or gdb feature class.

| improve this answer | |
  • I've probably turned my brain inside out for no reason!! The simplest solutions are always the best ones. Thanks a lot. This is probably leading me along the right track. One question though. The "tolerance" ARC function used for coverages specifies fuzzy, grain, weed, snap, nodesnap as the types of tolerances. When creating a feature class, what would be the equivalent of these?? Because there really isn't any options that I see to specify these... – TheLastGIS Jul 4 '13 at 3:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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