ArcPad 10 Automated Python Check Out

2897
3
08-29-2011 05:14 AM
MichaelReynolds
New Contributor
Is there a way in ArcPad 10 to perform a partial ArcPad check out where only the editable features in the AXF are refreshed?  Our ArcPad projects have significant read only basemap material (routes, street names, etc) which take 3-4 minutes to check out from ArcMap (or otherwise using the ArcPad model tools).

I have a "project template" folder with the template project with forms and custom script and a "project out" folder with the current ArcPad project in it.  Users copy the project out folder to their mobile device.  I would like to refresh this project frequently and automatically so that the users can have access to the newest data.  While the server is updating this project, the folder is locked so users don't get a nasty copy. I would like to reduce the amount of lock time.

I am using python script and ProcessArcPadProject_ArcPad() when generating a full refresh.

If possible, I would like to simply refresh the data tables.

I have tried using AxfCopy.exe (from older ArcGIS forums I think). That ran with no errors but the arcpad project would not open completely, reporting "Failed to load 3 layer(s):...".  Using studio I was able to confirm that the features are there in the axf and do contain data and no sql errors.
3-4 minutes doesn't seem like much but my goal is to run this as a service which will be checking for checked in data and creating a refreshed check out copy when it finds it.  It might check every minute and I would like the field technicians to be able to get a new copy as quickly as possible.

I'm open to suggestions on the entire process.
Tags (3)
0 Kudos
3 Replies
MichaelReynolds
New Contributor
another approach...  how to support automated deployment of large reference layer data sets without having them generated and deployed most times?
0 Kudos
nev
by
New Contributor III
The way to do this is only have your editibale features in the axf and set up you arcpad Project (for ProcessArcPadProject tool) to only check those out.  From what I recall it is bettert o have your readonly basemaps in shapefile anyway as they draw faster, thats what I do.  Then you just have the shapefile sitting on the device and it is just the editable layers in the axf that get exchanged.  Then up to you how and how often you need to update the basemap data.
Also set a definition query on your editable layers if you want to further filter down the size of what is being exchanged with the device.

And that "Failed to load layers" error is a thing with the axfcopy tool.  Pretty easy to fix but still annoying.  In your .apm file you will see the layers axfname(1), axfname(2) etc, you just need to change those numbers.

Mick
0 Kudos
ForrestKaye
New Contributor III
Not sure I fully understand what you need to have happened but here is what I am currently doing with what I think is a similar situation.

Our crews use an automated checkout procedure that is written in VBA.  The user will get all the data that is available on their replicated database.  As for background data none is checked out.  If your background data is static then you can create it once and place on all devices.  The user will then have to add the .shp files to the map.  This will eliminate the need to check it out constantly.


I am looking toward converting my automated checkout code in VBA to either .NET or python so that it will continue to be supported by later versions of Arc.  I am curious what your python automated checkout code looks like.
0 Kudos