Filtrage et indexation des calques vectoriels SIG en C#
Avec Aspose.GIS pour .NET, vous pouvez filtrer les calques par valeurs d’attributs ou limites spatiales. Vous pouvez également utiliser des index pour accélérer le filtrage et les requêtes spatiales.
Index d’attribut
Filtrage sans index
Voici comment filtrer un calque par les valeurs d’un attribut :
Filtrage avec index
Le code ci-dessus est correct tant que le calque n’est filtré qu’une seule fois. Mais, si le calque risque d’être interrogé plusieurs fois, nous pouvons tirer parti des index d’attributs. La création d’un index d’attribut prend un certain temps, mais il peut être réutilisé plusieurs fois pour accélérer le filtrage.
L’exemple suivant utilise un fichier d’index d’attributs pour accélérer le filtrage des calques par les valeurs de l’attribut :
Enregistrer les caractéristiques filtrées
Les caractéristiques filtrées peuvent être enregistrées dans des calques :
Rendre les caractéristiques filtrées
Il est également possible de rendre des caractéristiques filtrées. L’exemple suivant utilise un index d’attributs pour sélectionner rapidement toutes les caractéristiques dont la population est supérieure à 2000 et les ajouter à la carte :
Index spatial
Les index spatiaux sont utilisés pour accélérer les requêtes spatiales. Tout comme les index d’attributs, les index spatiaux sont réutilisés après leur création.
Trouver des caractéristiques proches d’un point
Voici comment utiliser un index spatial pour accélérer la recherche de la caractéristique la plus proche d’un certain point :
Sélectionner des caractéristiques qui intersectent une géométrie
L’exemple suivant utilise un index spatial pour accélérer la sélection de caractéristiques qui intersectent une géométrie :