Ada Shapefile yang ada, yang ingin saya tambahkan.
Saat ini kode saya terlihat seperti:
self.iface.addVectorLayer(self.shpFilePath, "Track", "ogr")
Ini berfungsi dengan baik, tetapi saya ingin mendefinisikan crs dalam kode. Apa itu mungkin? Saya menemukan beberapa pertanyaan serupa seperti ini: Secara terprogram Pilih CRS di QGIS 2.4 menggunakan Python
Tetapi saya tetap tidak berhasil.
coordinate-system
pyqgis
vector
Hinne123
sumber
sumber
Berdasarkan pada posting blog ini dan jawabannya Bagaimana saya bisa menentukan CRS dari layer raster di pyqgis? , Anda dapat mencapai apa yang Anda inginkan dengan cara ini:
Catatan: Jika Anda masih menggunakan QGIS v2.x (BTW, Anda tidak boleh: P), gunakan nama variabel "/ Proyeksi / default Perilaku" sebagai gantinya.
sumber
Kode berikut harus memungkinkan Anda untuk menambahkan layer vektor tanpa jendela popup CRS muncul (setidaknya itu tidak muncul untuk saya):
Cukup ubah nilai
4326
CRS dalam kedua kasus ke ID Otoritas pilihan Anda seperti yang ditunjukkan pada gambar:sumber
Setelah berbulan-bulan kemudian saya menemukan solusi. Anda harus menambahkan dua baris sebelum dan akhir skrip yang dari @Domokos Endre:
sumber
Bagi saya solusi di atas tidak berhasil. Mungkin karena saya memuat csv sebagai layer vektor, bukan file bentuk. Satu-satunya cara saya membuatnya bekerja adalah:
sumber
Jawaban ini menjelaskan cara menghindari dialog ini dengan menentukan CRS di URL yang digunakan untuk memuat file ke dalam memori. Jadi alih-alih meneruskan jalur Shapefile langsung ke
addVectorLayer()
, buatQgsVectorLayer
dengan URL yang sesuai lalu panggiladdMapLayer()
.sumber