Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

We have ArcGIS 10 installed on a nice clean Linux box. We have developed scripts to run on the Windows desktop development machines, and modified them to run on Linux.

Now, if we run the scripts on the windows boxes, they 'perform' within ioperational tolerances and perform correctlty. However, once we run them on the Linux envronment, they seem to 'cock about'. I am led to believe that ArcPy is synchronous and that calls to various objects have to finish computing, before the next call toprocessing can take place. It seems not. A call to aggregate points to a polygon, then to buffer the polygon, see's an empty buffer returned, when the polygon exists. There is some latency between the Dev box and the ArcSDE instance, but surely if this is truly synchronous, it would only move on if the work had completed?

Does anyone have any experience of this?

share|improve this question
    
Seen it run with parallels on Linux (Redhat Enterprise) and used Apple OSX with parallels - parallels.com/ca/products/desktop/pd4wl –  Mapperz May 11 '11 at 14:20
1  
How have you installed ArcGIS 10 on a Linux box? Through some sort of virtualisation software? –  robintw May 11 '11 at 15:27
    
@robintw - Using their Linux versions (which is effectively all their windows stuff all wrapped up in wrapped inside wrappers). –  Hairy May 11 '11 at 19:33

1 Answer 1

up vote 1 down vote accepted

I have just spooken to someone inside ESRI who, effectively say, the code is synchronous in Python, so it would wait for a successful return from one line of code before launching the next.

However because it is actually calling COM objects in the background (on the Linux box - hmmm), it is possible that they are firing a call to close a connection, and on the assumption that it will just happen then returning a success to the python interpreter (that's on the assumption folks). Then if things are running slowly in the background we get this state of lag.

So, if you call a process, and it returns as successful, it may have returned that success, before it has processed the data, thus any further processing may be redundant, as you don't know if it performing the next process on an empty Featureclass/data.

So the advice seems to be, don't use our Linux version, use Windows...

So, unfortunately, we're going to have to use Windows now...

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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