Filtraggio e indicizzazione di layer vettoriali GIS in C#
Con Aspose.GIS per .NET puoi filtrare i layer in base ai valori degli attributi o ai limiti spaziali. Puoi anche usare gli indici per velocizzare il filtraggio e le query spaziali.
Indice degli attributi
Filtro senza indice
Ecco come filtrare un layer in base ai valori di un attributo:
Filtro con indice
Il codice precedente va bene finché il layer viene filtrato solo una volta. Ma, se il layer è suscettibile di essere interrogato più volte, possiamo beneficiare degli indici degli attributi. Richiede un po' di tempo per costruire l’indice degli attributi, ma può essere riutilizzato più volte per accelerare il filtraggio.
Il seguente esempio utilizza un file di indice degli attributi per velocizzare il filtraggio del layer in base ai valori dell’attributo:
Salva le funzionalità filtrate
Le funzionalità filtrate possono essere salvate nei layer:
Renderizza le funzionalità filtrate
È anche possibile renderizzare le funzionalità filtrate. Il seguente esempio utilizza l’indice degli attributi per selezionare rapidamente tutte le funzionalità con una popolazione superiore a 2000 e aggiungerle alla mappa:
Indice spaziale
Gli indici spaziali vengono utilizzati per accelerare le query spaziali. Proprio come gli indici degli attributi, gli indici spaziali vengono riutilizzati dopo la creazione.
Trova le funzionalità più vicine a un punto
Ecco come utilizzare l’indice spaziale per velocizzare la ricerca della funzionalità più vicina a un determinato punto:
Seleziona le funzionalità che intersecano con una geometria
Il seguente esempio utilizza l’indice spaziale per velocizzare la selezione delle funzionalità che intersecano una geometria: