Suite

Existe-t-il un plug-in/widget « Sélection par attributs » pour l'API ArcGIS Server JS ?

Existe-t-il un plug-in/widget « Sélection par attributs » pour l'API ArcGIS Server JS ?


J'espère trouver du code existant qui émule la boîte de dialogue "Sélectionner par attributs" dans ArcMap, dans l'API JavaScript d'ArcGIS Server.

L'écriture d'une QueryTask codée en dur est facile - je recherche un code qui gérera automatiquement n'importe quelle couche sur la carte, formant une requête à la volée en utilisant n'importe quel attribut, renvoyant idéalement les résultats dans une grille de données.

Des personnes intelligentes ont écrit des widgets Table des matières et Identifier qui gèrent toutes les couches de la carte. Quelqu'un a-t-il écrit quelque chose de similaire pour « sélectionner par attributs » ?


Quelques années plus tard, je cherchais exactement la même chose que l'OP. Cette question apparaît dans les premiers résultats d'un moteur de recherche, j'ai donc décidé de laisser cette mise à jour ici comme référence.

À l'été 2015, Esri a publié un widget Select by Attributes dans son référentiel GitHub.

Ce widget tente de recréer l'outil de sélection par attributs d'ArcMap aussi précisément que possible dans une application JavaScript. Ce widget ne fonctionne qu'avec les couches d'entités et celles-ci doivent être transmises au constructeur du widget sous forme de tableau.

Échantillon en direct


Si vous utilisezArcServer 10.1vous pouvez créer un service de géotraitement qui fait référence à un modèle ou à un script que vous avez créé pour ce faire.

Le lien ci-dessus donne des instructions étape par étape sur la façon de créer le modèle, puis de créer les services et enfin de le consommer dans votre application.

Alternativement, il existe cet exemple qui utilise une requête pour sélectionner des enregistrements, vous pouvez le modifier pour autoriser plusieurs services.


Il est clair qu'il y a un appétit pour un plugin comme celui-ci.

Comme tout le monde l'a noté, il n'y a rien de particulièrement difficile à exécuter une seule requête simple. Là où cela se complique, c'est de créer une interface pour aider l'utilisateur à écrire une requête valide pour la ou les couches actuelles sur la carte, en exécutant la requête, puis en faisant quelque chose avec le ou les résultats.

J'ai fini par écrire une solution sur mesure qui fait tout ce qui précède, ce qui a pris une bonne semaine de développement.

Ma solution est assez étroitement intégrée au reste de mon framework de cartographie, donc malheureusement, il n'est pas facile de "l'exporter" dans un "plug-in de sélection par attributs" autonome - pourquoi rien de tel n'existe jusqu'à présent?