Memuat Beberapa File CSV ke QGIS 2.10

8

Bagaimana saya dapat memuat beberapa file CSV ke QGIS dengan Longitude / Latitude yang sudah termasuk di dalamnya. Saya mengunduh plug-in "Load Them All", namun hasilnya dimuat dikonversi sebagai file teks dan tidak dapat divisualisasikan pada kanvas peta. Ada bantuan? Apakah ada plug-in yang tersedia yang dapat memuat beberapa file CSV yang akan berfungsi dengan baik di QGIS?

wgs84
sumber
1
Anda dapat meminta fitur itu di github.com/gacarrillor/loadthemall/issues Cukup buka masalah baru yang menjelaskan apa yang ingin Anda miliki. Akan lebih baik menambahkannya ke Load Them All.
Germán Carrillo
Bagaimana beberapa file csv berbeda satu sama lain?
BillW

Jawaban:

10

Anda bisa menggunakan kode berikut di Python Console untuk menemukan file csv Anda di folder yang ditentukan dan memuatnya sebagai titik shapefile menggunakan bidang bujur / lintangnya. Kode ini mengasumsikan:

  • File csv dipisahkan dengan koma
  • Nama bidang bujur / lintang masing "x"- "y"masing adalah dan
  • CRS dari lapisan yang dimuat akan berada di EPSG: 4326

Tetapi Anda dapat mengedit ini:

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)

Dalam versi baru o QGIS, perintah QgsMapLayerRegistry.instance().addMapLayer(lyr)didiskon. Solusinya masih valid jika kami mengganti baris sebelumnya dengan: QgsProject.instance().addMapLayer(lyr) Anda juga perlu menghapus atau mengomentari baris keduafrom qgis.core import QgsMapLayerRegistry

Solusinya bekerja dengan sempurna.

Yusuf
sumber
1
Terima kasih atas semua komentar Anda ... ini benar-benar berfungsi kecuali untuk yang disimpan sebagai file .csvt.
wgs84
@ wgs84 - Selamat datang, senang itu berhasil :)
Joseph
1

Anda mungkin perlu file csvt di sepanjang file CSV Anda untuk memberi tahu QGIS di mana ia harus menemukan geometri.

Plugin mungkin digunakan Add Vector layerdi latar belakang, bukan Add delimited textyang dilakukan beberapa tebakan berpendidikan pada kolom geometri.

AndreJ
sumber