Buat buffer dalam meter?

15

Saya sangat baru di dunia GIS, jadi masalah saya bisa sangat bodoh, tapi saya tetap akan mencoba.

Objektif

Diberikan daftar koordinat dalam bujur / lintang, disimpan sebagai .csvfile, saya ingin membuat buffer dengan jarak xkm di sekitar koordinat tersebut. (Dalam hal ini relevan, koordinat ini adalah lokasi masyarakat dalam dataset SCCS . Masyarakat ini tersebar di seluruh dunia.)

Masalah

Saya hanya dapat membuat buffer dengan jarak dalam derajat radial, tetapi saya ingin melakukannya dalam (kilo) meter. Saya mengetahui Tanya Jawab berikut, tetapi mengikuti apa yang disarankan di dalamnya sepertinya tidak menyelesaikan masalah saya:

Apa yang saya coba ...

  1. Saya memulai QGIS (v2.4), dan Add delimited text layer
  2. pilih .csvfile saya dan bidang x / y, klikOK
  3. pilih WGS 84sebagai CRS saya (juga mencoba NAD83tetapi tidak membuat perbedaan), klikOK
  4. klik kanan pada layer dan pilih Save As..., di kotak dialog, pilih yang berikut dan klik OK: masukkan deskripsi gambar di sini
  5. tambahkan sccs_meter.shpsebagai lapisan ke proyek saat ini
  6. Pilih Vector> Geoprocessing Tools> Buffers> set penyangga jarak 10

Hasilnya adalah penyangga dengan radius sekitar 1068km, yang menunjukkan bahwa jarak penyangga adalah 10 derajat daripada 10 meter.

Apa yang saya lakukan salah di sini?

Herr K.
sumber
1
"Apa Alur Kerja untuk buffering dalam meter / km menggunakan lapisan WGS84?" tidak menyelesaikan masalah Anda, silakan baca komentar. Ketika Anda menggunakan alat buffer itu menggunakan unit layer CRS, memilih wgs84 ia akan menggunakan derajat. Anda dapat file _meters Anda, tetapi Anda belum benar-benar mengubah sistem koordinat.
Alexandre Neto
@AlexandreNeto: Saya membaca jawaban oleh Jake dalam pertanyaan itu. Apakah maksud Anda bagian tentang membuat proyeksi Azimuthal Equidistant, atau bagian tentang menyimpan lapisan saat ini menggunakan CRS yang berbeda? Saya memang menyimpan milik saya menggunakan NAD83 (seperti yang ditunjukkan dalam gambar), yang seharusnya dalam meter, tetapi masih membuat buffer dalam derajat.
Herr K.
3
NAD83 juga menggunakan derajat untuk unit. Ada banyak proyeksi yang menggunakan datum NAD83 yang menggunakan meter, mungkin Anda bermaksud memilih salah satunya.
Evil Genius

Jawaban:

17

Pada langkah 4, Anda harus mengubah CRS dari NAD83 ke proyeksi lain yang menggunakan meter sebagai unit.

Itu tergantung pada sejauh mana data Anda mana yang terbaik. Sayangnya, data Anda berlokasi di seluruh dunia, sehingga Anda dapat:

  1. Buat custom CRS menggunakan aeqd (atau tmerc) untuk masing-masing, dan gambarkan hanya satu buffer dengannya. Secara praktis, Anda hanya perlu membuat buffer sekali, dan bertukar informasi CRS dalam file .prj dan .qpj. Koordinat buffer sehubungan dengan pusatnya akan selalu sama.
  2. Kelompokkan data menurut zona UTM, dan gunakan UTM CRS zona itu untuk titik-titik tersebut.
  3. Mirip dengan UTM, kelompokkan poin Anda ke dalam zona lintang (misalnya setiap 10 derajat), dan buat custom Lambert konformal 2SP CRS konformal untuk setiap grup. Ini akan secara signifikan lebih cepat daripada menggunakan semua zona UTM utara dan selatan dunia.
  4. Gunakan pseudo mercator EPSG: 3857 untuk semua. Buffer akan terlihat seperti lingkaran yang bagus, tetapi ukuran sebenarnya akan semakin kecil dan semakin terdistorsi ke kutub yang Anda datang.
AndreJ
sumber
Halo, saya memiliki situasi yang sama (tetapi dengan polyline yang terletak di seluruh wold dan membutuhkan buffer 50km di kedua sisi) dan saya agak bingung mengapa Anda akan menggunakan salah satu opsi teratas jika Anda dapat menggunakan yang keempat ( yang tampaknya paling mudah). Apakah hanya karena itu tidak akan dengan jelas menunjukkan distorsi yang mungkin ingin Anda lihat, meskipun memberikan hasil yang akurat? Terima kasih! :)
Amroco
@Amroco EPSG: 3857 harus dihindari jika jaraknya tepat, dan Anda jauh dari khatulistiwa.
AndreJ
2

Cara cepat dan kotor: gunakan jarak buffer 0,01 ° per km. Itu adalah derajat rata-rata per km pada 37 ° lat. dan mendistorsi batas buffer NS dan EW. Tetapi mungkin cukup akurat untuk tujuan Anda.

pengguna95704
sumber
Hai, apakah Anda tahu betapa hebat distorsi di equ. dan kutubnya?
Amroco
Dengan asumsi bola sempurna (bukan geoid): Ekuator: 1 ° lat = ~ 111111 m, 1 ° panjang = ~ 111133 m, rata-rata. = 111122 m Polandia: 1 ° lat = ~ 111111 m, 1 ° panjang = 0 m, rata-rata. = 55556 m
Flo
1

Anda dapat memeriksa tautan geospatialearth tautan situs . Anda harus mengizinkan Adobe flash di browser Anda. Firefox direkomendasikan.

Sebagai seorang programmer, untuk membuat buffer suatu titik Anda dapat menggunakan javascript geographiclib bersama dengan js2shapefile. Anda akan dapat membuat banyak titik equi-siku pada jarak tetap x di sekitar setiap titik file csv menggunakan geographiclib lalu mengubahnya menjadi shapefile menggunakan js2shapefile.

Cukup periksa tautan di atas, Anda akan puas seratus persen.

GeoSpatialEarth.in
sumber
Menambahkan sedikit informasi tambahan tentang apa yang dijelaskan tautan yang akan menyelesaikan masalah sangat membantu. Tautan eksternal banyak berubah / putus.
MaryBeth
@MatyBeth Tautan yang disebutkan di atas adalah bentuk kecil yang digunakan pengguna mengunggah file .csv yang dibaca di browser menggunakan javascript. Ini akan menampilkan pratinjau file csv ini. Pengguna harus memilih kolom lintang dan bujur serta jenis geometri yang ingin diunduh seperti point shapefile, penyangga persegi panjang dengan panjang dan tinggi yang disediakan dalam meter atau mentega lingkaran dengan radius dalam meter dan jumlah segmen yang disediakan. Pengguna memiliki pilihan untuk menyimpan buffer sebagai file shapefile atau KML.
GeoSpatialEarth.in