The ArcPad Team Blog

Unofficial stuff from the team behind the World's leading mobile GIS platform

Thursday, April 24, 2008

Using a ToolBox Model to create a customised ArcPad Check Out

ArcPad 7.1 brought some great improvements to the way that users could check out/in their data, with the ability to associate ArcPad Layer Definitions (APL's) to a new check out in ArcMap, and also the new ArcToolBox tools which can be used with other geoprocessing tools to automate a complex check out/in process.

Assume you have a project where you routinely update your geodatabase with field data. You have several field workers, they each collect and return information which you put back into the central database, and each worker needs an up-to-date version of the whole database (with everyone else's edits) each time they go back out. You have created custom forms for your users to collect data, and you simply want to run a tool that provides current ArcPad files for your users each day (or week or month).

This is the type of task that the geoprocessing tools are really designed for. To complete the scenario above we have built a sample ArcToolBox Model which uses the the ArcPad Check Out tool to create a fresh checkout of data (a "target" AXF), and a standalone utility (called AXFCopy) which copies layer definitions and file store entries from a "source" (or template) AXF to the "target" AXF.

You can download this sample from ArcScripts and customize for your own projects from:

http://arcscripts.esri.com/details.asp?dbid=15551

Please read the enclosed word document for installation, use, and customization guidance.

The sample contains a Toolbox Model that produces a customized ArcPad Check Out of the Riverside data. The model uses the existing Riverside.axf sample as a template for the customization, but performs a ‘fresh’ check out of the data (called Riverside_Target.axf) from the geodatabase every time it is run.

14 Comments:

  • At Tuesday, April 29, 2008 5:23:00 am, Anonymous Eric said…

    This is really great and exactly what we were looking for. But... as we installed it, it works for the example Riverside.axf but I can not get it work for an AXF with a different pathname. The program runs and the result seems OK, but the customized editform is lost. Could you please check this at your site?

    Eric, GIS4C, Curacao

     
  • At Tuesday, April 29, 2008 3:40:00 pm, Blogger Marika said…

    if the customised edit form is not being included - please check that the AXFCopy utility works on its own. to do so, use the command

    AXFCopy template.axf target.axf

    at a command prompt (ensuring the utility and files are all in the same folder location). then try introducing the full file paths to the files if required. be careful if using file paths that contain spaces to include "". once you are comfortable that the AXFCopy utility is working with your files, return to the model and ensure all file paths in the model and the vbs file are correct.

     
  • At Friday, May 02, 2008 5:21:00 am, Anonymous Anonymous said…

    I executed the axfcopy.exe within a CMD-tool. It does execute without syntax errors, but the result is the same: the target.axf does not contain the curstomized edit form.

    Please send me an email and I can send you the sample axf's with only 1 layer.

    e.sussenbach@gis4c.com

     
  • At Wednesday, May 07, 2008 5:12:00 am, Anonymous Eric said…

    It works! I first created a script in which a selection was done. But the result was a new Feature Class but with a different name! Your message was very clear: the layer-name for which the custom Editform was made has to be the same for the layername in the new axf. Thanks for the tool and your help!

     
  • At Tuesday, June 10, 2008 11:04:00 pm, Blogger Sara said…

    What happened to the script? I get an error from the esri script site that 'They system cannot find the file specified' I really need to have a tool like this to deal with my ArcPad workflow.

    Help!

     
  • At Wednesday, June 11, 2008 9:33:00 am, Blogger Marika said…

    i just tested the arcscripts site and it appears to be available for download now - hopefully it was just a temporary website issue. please try again.

     
  • At Wednesday, June 11, 2008 9:40:00 am, Blogger Sara said…

    Thanks Marika. I've been having a lot of problems with the ESRI forums and scripts websites lately. I did download the script but haven't had a chance to really try it. I'm hoping it will work for me. Thanks again.

     
  • At Tuesday, August 19, 2008 11:36:00 am, Anonymous John said…

    G'day Marika,
    I've got the tool working fine which is great, however I'm struggling with trying to get the additional step (custom check-out to mobile device) to work. Can't quite work out how to call the .exe correctly into the Model. Wondering if you can help me out?
    Cheers.
    John

     
  • At Friday, August 22, 2008 2:20:00 pm, Blogger Marika said…

    ive posted a new blog entry with info on how to add the check out to mobile device:

    http://arcpadteam.blogspot.com/2008/08/using-toolbox-model-to-create.html

     
  • At Tuesday, February 28, 2012 10:11:00 am, Blogger nehaworks said…

    Hi, I'm wondering if this toolbox is still relevant for ArcPad 10.

    I'm trying to do exactly this, so will download the relevant files etc. but wanted to double-check that you would still use this process for the new version of ArcPad, or if another functionality has replaced this.

    Thanks! Joel.

     
  • At Tuesday, February 28, 2012 12:53:00 pm, Blogger Marika said…

    Hi Joel
    Yes this process is still relevant in ArcPad 10. In ArcPad 10 you also have the additional ability to Prepare a project for Geoprocessing once, and then simply repeat that over and over by using the Process ArcPad Project toolbox tool. Either can be used, but each may suit different workflows better.

     
  • At Thursday, March 15, 2012 11:57:00 am, Blogger nehaworks said…

    Ok great! So then based on this scenario and these parameters, what do you think is the best way to accomplish?

    1. Group needs to check out data from a master database in office and check in their updated and additional spatial features upon return from field

    2. There will only ever be one update happening at a time but they will be coming from and going to multiple devices

    3. Update procedure should be as simple as possible

    4. Must be able to link into the GDB to view and edit attribute fields from MS Access

    Thanks again!

    Joel.

     
  • At Friday, March 16, 2012 5:56:00 am, Blogger nehaworks said…

    Hi again,

    In testing this model I've run into a problem where it fails whenever I use a feature class but functions when I use a Layer file.

    I found this post about it, but it seems like it must have been resolved by now.

    http://forums.esri.com/Thread.asp?c=93&f=1728&t=268447

    Is it possible that it hasn't been or do you know of any reason this would be?

    I'm using ArcGIS 10 and ArcPad 10.

    Thanks again, Joel.

     
  • At Thursday, June 20, 2013 4:52:00 am, Blogger tj power said…

    I wasn't happy at all with the performance of axfcopy, because that's not what it is doing. Instead of updating the APX column of axf_layers, it must be doing a delete from axf_layers with no where clause and then reinserts them in the source from the target. The primary key of axf_layers is an identity column which means the primary key to axf_layers gets changed every time this program is run and any file dependant on that primary key value is now junk. The best solution to this scenario and many more is to open an axf in sql server management studio so you can see and learn for yourself how to use the AXF tables you don't even see through arcpad studio, and even if you open axf_layers in arcpad studio, the APX column won't display what's actually in it, it will show something like chars. {2777}. In summary, AXF Copy was poorly designed. My advise if you need to do this type of work to your checkout, download and install sql server compact edition, (it's free), and use the ado driver that comes with it to write your own custom code to get this job done.

     

Post a Comment

<< Home