Resposta de atualização (versão QGIS> = 2.14)
Desde o QGIS 2.14 , você pode usar instruções SQL de execução em qualquer camada vetorial carregada usando camadas virtuais .
- Tendo a camada carregada no QGIS, vá para Camada> Adicionar camada> Adicionar / editar camada virtual ;
Na caixa de diálogo Criar camada virtual, insira sua instrução SQL no campo Consulta. Algo como:
SELECT DISTINCT nome_da_ cidade FROM nome_da_cama
Para conjunto de geometria Sem geometria
- Clique em Ok e uma tabela será carregada no QGIS com os valores exclusivos desejados.
Nota: esta tabela será atualizada se novos valores forem adicionados à coluna city_name.
Resposta herdada (QGIS versão <2.14)
Você tem algumas opções para fazer o que pede.
- Importe seu shapefile em um banco de dados Spatialite ou Postgis e, em seguida, você pode consultar sua tabela usando instruções SQL completas;
- Use a ferramenta Dissolver (Vetor> Ferramentas de geoprocessamento> Dissolver) para dissolver seus arquivos de forma usando o campo "city_name". Embora seja um método estranho, o arquivo dbf do shapefile resultante fornecerá a lista que você precisa;
- Dê uma olhada no plugin de estatísticas do grupo (1.6) , você pode usar "city_name" como campo de classificação e pressionar Calcular. Ele calculará algumas estatísticas sobre cada cidade, e você poderá copiar o resultado e extrair a lista de cidades.
Acabei de notar que, no Vector> Analysis Tools , existe uma ferramenta List Unique Values que é precisamente o que é necessário para esta tarefa. Tão fácil ... sem soluções alternativas e sem necessidade de plugins.
Tente incluir algo como:
fonte
Use o construtor de consultas no QGIS, vá para o campo nome da cidade nos campos no construtor de consultas. Vá para valores, adicione todos. Exclua quaisquer valores nulos.
Crie um script semelhante ao nome da cidade = "london" e nome da cidade = "paris" até ter a lista completa de nomes e execute o script. Agora todos os nomes de cidades estão selecionados. Você pode exportar selecionado como um arquivo de forma e importar para um banco de dados postgresql.
Para usar um backend do postgresql no QGIS, instale uma pilha do postgresql com geoserver, postgresql e um banco de dados ativado pelo postgis no postgresql. Você precisará conectar o QGIS ao servidor. Brinque um pouco e você descobrirá.
fonte