Saya mencoba memetakan CSV dengan lebih dari satu juta poin lat / lon di AS tanpa metadata. Saya belum pernah mencoba memetakan data sebanyak ini dan ingin tahu langkah apa yang harus saya ambil. Saya tahu ini terlalu banyak data untuk QGIS jadi saya mencoba membaginya menjadi 100.000 baris CSV tetapi kemudian mendapat banyak file yang saya tidak tahu harus bagaimana. Saya pikir mungkin yang terbaik untuk mengumpulkan poin dengan blok sensus tetapi tidak tahu cara terbaik untuk melakukannya menggunakan Javascript (saya tidak pernah menggunakan Python) atau alat baris perintah? Ada saran?
9
Jawaban:
Saya akan merekomendasikan menggunakan PostgreSQL / PostGIS, karena didukung secara native oleh QGIS, memiliki beberapa fungsi built-in yang berguna untuk bergabung dengan data spasial lainnya (seperti saluran sensus), dan penggunaan database harus membatasi masalah memori dengan dataset besar. Set langkah yang saya rekomendasikan ada di bawah ini. Untuk menjalankan perintah SQL Anda bisa menggunakan PGAdmin atau QGIS, yang pertama akan memberi Anda lebih banyak kesalahan informatif pada kueri, yang terakhir akan memungkinkan Anda memuat hasil kueri sebagai lapisan pada peta. Untuk mengakses yang terakhir, masuk
Database > DB Manager > DB Manager
dan klik tombol kedua.CREATE TABLE
perintah ( contoh ) di QGIS SQL Window atau di PGAdmin's SQL WindowImport...
(yang terakhir ini bisa rumit jadi saya akan merekomendasikan COPY untuk kumpulan data yang lebih besar).Tambahkan kolom geometri ke tabel Anda dengan mengeksekusi SQL berikut di PGAdmin atau jendela QGIS SQL.
Buat titik geometri menggunakan sesuatu seperti
Tampilkan subset data dengan menggunakan
SELECT
pernyataan dengan sesuatu sepertiLIMIT 50000
Atau bergabung dengan data sensus dengan sesuatu seperti
SELECT c.gid, c.geom
DARI sensus c
INNER GABUNGKAN data Anda PADA ST_Within (yourdata.geom, c.geom)
Referensi fungsi:
ST_Within
ST_MakePoint
ST_SetSRID
sumber
Import...
untuk mengakses panduan Impor, atau menggunakan perintah COPY postgresql.org/docs/current/static/sql-copy.html Saya akan memperbarui jawabannyaSaya baru-baru ini bekerja dengan dataset 1,4 juta poin yang diimpor dari CSV. Saya memastikan untuk menghapus bidang yang tidak relevan di csv. Ini bekerja dengan baik untuk saya, meskipun beberapa proses membutuhkan sedikit waktu untuk dieksekusi. (QGIS 2.12, 64 bit Windows 7, 8 Gb RAM)
sumber
Seorang calon R fwiw, dalam pseudocode:
Ini akan memberi Anda filepoints.tab di direktori kerja yang dapat Anda baca dengan QGIS. Atau pilih "ESRI Shapefile" untuk membuat filepoints.shp, atau format apa pun yang Anda butuhkan. QGIS menggunakan GDAL seperti halnya rgdal, jadi ada banyak tumpang tindih. Ada mekanisme Python analog.
Karena Anda tidak memiliki metadata, Anda dapat memiliki set setelah menetapkan koordinat (x) untuk mengatur proj4string (x) <- CRS ("+ proj = something + etc"), tetapi kami hanya dapat menebak data Anda.
sumber