Carregando vários arquivos CSV no QGIS 2.10

8

Como posso carregar vários arquivos CSV no QGIS com o Longitude / Latitude já incluído nele. Fiz o download do plug-in "Carregar todos", no entanto, o resultado carregado foi convertido como arquivo de texto e não pode ser visualizado na tela do mapa. Qualquer ajuda? Existem plug-ins disponíveis que podem carregar vários arquivos CSV que funcionarão bem no QGIS?

wgs84
fonte
1
Você pode solicitar esse recurso em github.com/gacarrillor/loadthemall/issues. Basta abrir um novo problema descrevendo o que você gostaria de ter. Seria bom adicioná-lo ao Load Them All.
Germán Carrillo
Qual a diferença entre os vários arquivos csv?
BillW

Respostas:

10

Você pode usar o código a seguir no Python Console para localizar seus arquivos csv em uma pasta especificada e carregá-los como shapefiles de ponto usando seus campos de longitude / latitude. O código assume:

  • O arquivo csv é separado por vírgula
  • Os nomes dos campos de longitude / latitude são "x"e "y"respectivamente
  • O CRS das camadas carregadas será em EPSG: 4326

Mas você pode editar isso:

import glob, os

# Define path to  directory of your csv files
path_to_csv = "C:/Users/You/Desktop/csv folder/"  

# Set current directory to path of csv files
os.chdir(path_to_csv)  
# Find each .csv file and load them as vector layers
for fname in glob.glob("*.csv"):  
    uri = "file:///" + path_to_csv + fname + "?delimiter=%s&crs=epsg:4326&xField=%s&yField=%s" % (",", "x", "y")
    name = fname.replace('.csv', '')
    lyr = QgsVectorLayer(uri, name, 'delimitedtext')
    #QgsMapLayerRegistry.instance().addMapLayer(lyr)

Na nova versão do QGIS, o comando QgsMapLayerRegistry.instance().addMapLayer(lyr)foi descontado. A solução ainda é válida se substituirmos a linha anterior por: QgsProject.instance().addMapLayer(lyr) Além disso, você precisa excluir ou comentar a segunda linhafrom qgis.core import QgsMapLayerRegistry

A solução funciona perfeitamente.

Joseph
fonte
1
Obrigado por todos os seus comentários ... ele realmente funciona, exceto pelos salvos como arquivos .csvt.
WGS84
@ WGS84 - Mais de boas-vindas, feliz que funcionou :)
Joseph
1

Você pode precisar de arquivos CSVT junto com os arquivos CSV para informar ao QGIS onde ele deve encontrar a geometria.

O plug-in pode ser usado Add Vector layerem segundo plano, não o Add delimited textque faz alguma suposição instruída nas colunas de geometria.

AndreJ
fonte