Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am attempting to build an application using the ArcGIS JavaScript API that will allow my users to research competitor pipelines across the country. The main layer in this application is comprised of a large feature class containing over 673K features. One major aspect that I want to give my users is the ability to "filter" features. For example, show only pipelines of companies X, Y, & Z that are transmission, and greater than 24" in diameter.

Another major aspect is that it has to be simple to use. I have been experimenting with using ComboBoxes so that the possible options are already populated in the list. By using more than one of these for each field I can create a simple way to create a SQL query of sorts. The problem I have with the ComboBox is that only one option can be chosen at a time. But with nearly 2000 possible options I'm not really sure what else to use.

Any one have any ideas? Is there something that I am overlooking? Has anyone spent much time using the EnhancedGrid?

I have added the image below that is using an EnhancedGrid. Could it be possible to use the "Check Boxes" as a selection method.

Thanks for you input.


share|improve this question
Seems like using a grid would lead to duplication. Wouldn't you end up with Company Y - 24" diameter, Company Z - 24" diameter, etc.? – Derek Swingley Feb 9 '12 at 21:53
I think that would be OK as that is actually what the data has. But you have me thinking that the grid would show another problem. I would have duplicates for Company Y - 24" diameter. In fact I did a quick query on one company and came up with over 20 24" lines. – Mike Long Feb 9 '12 at 22:02
To me, using the grid could be a good way to display things that match a query, but not for doing the query itself. But I haven't seen much of the enhanced grid- maybe there are querying capabilities built in. Also, if you went the grid route, wouldn't you need to push all of the options to the client? My recommendation is still to do this with filtering selects. You'd push less to the client too. – Derek Swingley Feb 9 '12 at 22:26
I think you're right. Even though the EnhancedGrid does have a filtering option built in (which is why I was interested in it) it would have to push all the options to the client before they could be filtered. – Mike Long Feb 9 '12 at 22:56
Cool, you'd still have to data to the client using filtering selects but I think it would be less as you only send each company name once, and each pipeline type once (and whatever other attributes you're using to filter...). – Derek Swingley Feb 9 '12 at 23:06

Major item, Index's on the fields you want to filter on; that makes a huge difference. Watching them fire in a query analyzer in SQL or the equivilent on Oracle etc can be a huge benifit in performance in seeing where to tweak the tables and indexes.

share|improve this answer
Good point, this will definitely need indexes. – Mike Long Feb 9 '12 at 21:32

Take a look at dijit's FilteringSelect. Demo/tests. It still gives you the standard drop down list but you can filter by typing in the box.

Edit: One example to note on the first link is the Codependent FilteringSelect/ComboBox widgets.

share|improve this answer
Thanks Derek. I have actually looked at these, I guess I should have stated that in my original post. While this and the ComboBox both work well when selecting one option, I am hoping to find a solution that would allow multiple options to be selected. – Mike Long Feb 9 '12 at 21:21
Edited my answer, you can set up codependent filtering selects. – Derek Swingley Feb 9 '12 at 21:27
This is a good idea Derek. I'm not sure if it gives me the multi-selection options ( I may just be missing something) but it does solve a problem I will have next. Where if they select Company A the next list will filter out the diameters that don't exist. – Mike Long Feb 9 '12 at 21:35
You could grab the selections from your filtering selects and build your query filter(where clause) before sending the query to the server. – Derek Swingley Feb 9 '12 at 21:54

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.