We're exploring implementing the addon for our CAD users, and one thing they are asking for is the ability to filter an incoming Feature/Map service. is there a way to do this from the UI?
Filtering the feature service works on geographic extent. When you add the service you can filter by an area, your current view etc.
You can also modify the geographic extent after adding a feature service using the Set Geographic Extent button on the feature tab of the ribbon.
You cannot filter by attribute at this time. Clever use of subtypes or definition queries in your published maps can help you with data that needs to be “always” filtered in a certain way. If you use a definition query in your ArcMap layer and then publish that layer you will only be serving out data that conforms to that definition query. You have to be careful because adding data to that feature service may have attributes that don’t fit that query definition. They will be added to the underlying geodatabase but would be filtered out when feature’s are supplied back to the drawing.
This is the same type of experience you see when you draw features outside the spatial limits of a feature service. You an add the feature but when you refresh the drawing only the features within the spatial limits will be returned to you, because that is what you asked for.
I should have clarified, yes, indeed we want to be able to filter a feature service, by attribute..
Most common use case - controlling what is in the map. As it stands now, controlling what is and is not shown will have to be done on the server side. This is not an ideal situation. REST supports attribute filtering though, so I imagine it would not be that difficult to implement on the client side?
I hear you, and others have also asked for similar functionality. How would you want it to work in your specific workflow?
What should you be allowed to do and how should the software behave to best suit your needs?
I think the ideal tool would be, at least for us, for our users to be able to use a tool similar to the select by features tool already in the application, but apply it as a filter.
This would allow them to customize what data they want to actually show from a layer.
For an example, a CAD user is working on a sketch for a drilling pad to submit to a regulatory agency and only wants to show certain wells that are being served out as part of a master layer of all wells. This is just one simple instance.
Filtering of a feature service is most meaningful/useful, I think, when editing. I am thinking you can always access features from a feature service “read-only” when you connect to it or when getting a copy with the EXTRACT capability and delete out things you don’t want to see using the select by attributes tools as a work around. I hear you it would be nice to do this filtering from the start and then also be able to edit them. Warning: you wouldn’t want to just delete out features in a feature service for “editing” because if that drawing is ever SYNCHRONIZED it would delete those feature from the database.
Right, I actually had that concern at the beginning, so I disabled editing on the feature services from ArcGIS Server. We have actually fired up a separate server instance just for CAD to keep everything isolated and to get around limitations of SAML with our Portal environment.
We're also exploring utilizing spatial views from SQL server as that is our actual back-end and it's fairly easy to enable SQL access from ArcGIS.