Collector and ArcGIS Online Data Filtering

5523
9
11-12-2015 02:26 PM
BrendanPauls
Occasional Contributor

Hi,

I have applied a filter to my data in an ArcGIS Online web map (eg. only show data with "x" values), and it is working great.  However, when I open that webmap in Collector, the filters do not carry over.  Is this a known issue, or is it just me? 

The layer I have the filter applied to also happens to be part of a relationship class, so perhaps that is adding to the difficulty?

Cheers,

Brendan

Tags (2)
9 Replies
MiaogengZhang
Esri Regular Contributor

It is a known issue. Current Collector doesn't honor filter on related record. We have created an issue to keep track of it internally.

RyanMonk1
New Contributor III

Can you please provide an update on this?  Can the ArcGIS Online / Collector documentation please be updated to explain this?

I think I've got the same problem, two copies of the same feature service added to a map, one of the layers has a filter. Both of the layers work correctly in Collector when online, however when taking the map offline the unfiltered layer does not work.

0 Kudos
MiaogengZhang
Esri Regular Contributor

Ryan, 

With yesterday ArcGIS Online March release, here is what you can do. You can create two hosted feature layer view instead of using layer copies and add those two views into the webmap (Create hosted feature layer views—ArcGIS Online Help | ArcGIS). Then you define feature visibility based on Manage hosted feature layers—ArcGIS Online Help | ArcGIS  .  

-Morgan 

0 Kudos
BrendanPauls
Occasional Contributor

Does this follow through to Collector, and would it work in disconnected mode?

Thanks,

Brendan

BrantCarman
Occasional Contributor

Hi Ryan,

I have a similar issue and have submitted some ideas to ESRI to fix the problem.  Please up-vote if they line up with your needs:

Ideas 1: Allow users at the Creator level to create "View" layers of their own, from shared content (layers a... 

Idea 2: https://community.esri.com/ideas/16311 

Thanks!

0 Kudos
BenjaminRichards
New Contributor II

I'm having the same issue using a layer that is NOT part of a relationship class or related record.  Just a flat layer with a number of survey grids with different attributes.  As my field technicians complete their surveys allocations, I need to filter the remaining grids and push to collector to show them what remains.  The filtering is working great in my ArcOnline webmap, but is not translating to my Collector instances.

RebekahPolette
New Contributor III

Hi,

I am also having this problem. Applying a filter to both a relationship class (referenced to our SQL) and a hosted feature layer is impacting the layer in Collector.

Is applying a filter in a web map (Portal) a known problem?

Applying a filter seems an obvious choice for Collector. I want the map to show paths that have an audit date prior to a particular date (or blank) so these paths are targeted for audit. Once audited the map updates to not display the path.

0 Kudos
Jean-DanielCIESLAK
New Contributor II

Hello,

Are corrections or solutions made?

I thought that complex filters were not interpreted in Collector and that they were this source of problem of display in Collector whereas in a Map Viewer ArcGis Online it works well.
Except I went through ArcGis Online Assistant and changed my filters directly in json.

For example to filter on my data dating from 2 days ago:

Before (automatic request by ArcGis Online write in json):

"layerDefinition": {
                "definitionExpression": (BETWEEN CURRENT_TIMESTAMP - 3 AND CURRENT_TIMESTAMP) AND (NOT BETWEEN CURRENT_TIMESTAMP - 2 AND CURRENT_TIMESTAMP) (date),

After (by me):

"layerDefinition": {
                "definitionExpression": "date BETWEEN CURRENT_TIMESTAMP - 3 AND CURRENT_TIMESTAMP - 2",

But still the same problem.

It works however for the day before with:

"layerDefinition": {
                "definitionExpression": "date BETWEEN CURRENT_TIMESTAMP - 1 AND CURRENT_TIMESTAMP",

Has anyone solved this problem?

Thank you very much...

0 Kudos
Jean-DanielCIESLAK
New Contributor II

We find a solution !

As the "BETWEEN CURRENT_TIMESTAMP - 1 AND CURRENT_TIMESTAMP" date expression works fine, we used this same filter expression, for example, specifying -2 ("BETWEEN date CURRENT_TIMESTAMP - 2 AND CURRENT_TIMESTAMP") to work on yesterday's and today's data.
Only we have apply a particular style (Custom) which displays only yesterday's data:

var nb_days = DateDiff (Now (), $ feature ["date"], "days")
  if (nb_days > 2 || nb_days < 1) {
      return ''
  }
  return $ feature.attribute1

It works on Collector !

Thanks to cornet.magis‌ ...

0 Kudos