Select to view content in your preferred language

Strictly Collection

3741
5
Jump to solution
04-12-2012 01:04 PM
WaylonLang
Emerging Contributor
Let me preface this with saying that I'm fairly new to ArcGIS mobile and GIS in general, so I apologize as I don't know that i totally understand how everything is setup and working.

Anyway, I've created a mobile project to allow several crews to collect various features across the region using a Trimble Juno unit.  The .wmpk is published on an ArcGIS server.  The geodatabase is versioned and data is synchronized via the server.  The mobile cache is created on the fly when synching with server (this is my understanding anyway). This all seems to be working fine.

The issue is once they upload the added features they don't want to see them on the Juno unit anymore. They don't want to see what they've collected or what any other crews have collected.  So every time they synch their collected features with the server they want to start with a clean slate. I've tried just not downloading those feature layers from the map service, but everything that crew collects will still stay on the Juno, they just won't see what other crews have collected. Is there any way to setup it up so that it works like this? Strictly for collection, not for viewing or later editing.

Also, is it possible to setup the mobile project so that it queries the data from the map service. Meaning, lets say I want to use a map service that has all the signs along the highways throughout the state. But then specify within the mobile project to only pull in those signs within a certain county?
0 Kudos
1 Solution

Accepted Solutions
BryanEvans
Deactivated User
Doh! You're right. I mistyped. It's 'GLOBALID is null'. I did some tests with it and it worked well!

View solution in original post

0 Kudos
5 Replies
BryanEvans
Deactivated User
There's two things I can think of that you could try.

    Put a definition query on a field that you know will have a value after collection (like Name or something) and say "Name is not null". This way when a feature is collected (with a Name) and it's synced, it will upload it to the database and on the download remove it from the MobileCache on the device because it does not satisfy the definition query.
    Write a Custom Task using the SDK that will allow the user to clear the MobileCache at the click of a button after syncing.

I had been thinking about the first option for a while and just tried it and it worked. Although it was in the 3.0 prerelease so you may have to try it out in 10 or whatever version you are using.

Also, is it possible to setup the mobile project so that it queries the data from the map service. Meaning, lets say I want to use a map service that has all the signs along the highways throughout the state. But then specify within the mobile project to only pull in those signs within a certain county?
Not that I know of. You can put a definition query on a layer before it's published as a map service for use in Mobile, but then it flows through the entire stack. I can't think of a way without using the SDK for a custom task or extension to do that. It will sync whatever is in that feature class defined by the definition query.
0 Kudos
WaylonLang
Emerging Contributor
Thanks for your response.  In regards to my first question, I had thought about setting up a definition based on date collected, so it only pulls in data based off a certain time frame.  I hadn't thought about using your option which should work.  So that gives me something to think about.  We want to avoid any custom work so using the SDK isn't really an option, at least at this point in time.

As for the second question, we could create multiple map services with different layer queries, but we are limited on server space so we really would like to avoid this, which is why querying from within the mobile project would really help us out.  Well, maybe in a future release.
0 Kudos
BryanEvans
Deactivated User
I tinkered a bit further and actually set up a definition query to say that 'GLOBALID is not null'. Since GLOBALID is needed for ArcGIS Mobile, every time a user uploaded then downloaded it would remove the collected features from the MobileCache. Just another thought!
0 Kudos
WaylonLang
Emerging Contributor
I tinkered a bit further and actually set up a definition query to say that 'GLOBALID is not null'. Since GLOBALID is needed for ArcGIS Mobile, every time a user uploaded then downloaded it would remove the collected features from the MobileCache. Just another thought!


I tried this and it worked but with the definition query of 'GlobalID is null'.  Is that what you meant or are we not on the same page?  As you said since it will always need a GlobalID this would be the most fail-safe of ensuring it gets removed.
0 Kudos
BryanEvans
Deactivated User
Doh! You're right. I mistyped. It's 'GLOBALID is null'. I did some tests with it and it worked well!
0 Kudos