Saya punya dua vektor shapefile: Satu file adalah titik yang mewakili lubang got dan yang lain adalah file polyline yang mewakili pipa yang menuju ke dan dari lubang got. Saya perlu mengambil garis dalam jarak tertentu ke lubang terdekat.
Apakah ada cara mudah untuk mencapai ini tanpa melakukannya secara manual?
Memperbarui
Sesuai Alexandre, saya telah mengekspor shapefile ke format spasial. Tidak yakin apa yang harus dilakukan selanjutnya.
Perbarui # 2 Saya membuat file db baru dan mengimpor shapefile ke db baru menggunakan spatialite-gui, saya menyesuaikan permintaan SQL saya tetapi seperti yang Anda lihat saya mendapatkan kesalahan "tidak ada kolom seperti itu: f.geom"
Jawaban:
Jika Anda bersedia memasukkan data Anda ke Postgis (atau Spatialite ), Anda dapat menggunakan ST_Snap untuk melakukan apa yang Anda inginkan.
Cukup gunakan baris layer \ tabel sebagai input, dan layer poin Anda sebagai referensi, dan atur toleransi. Sesuatu seperti ini:
Hasilnya adalah ini:
Anda kemudian dapat memperbarui geometri menggunakan pengenal fitur.
sumber
Saya tidak tahu banyak tentang QGIS atau GRASS, tetapi beberapa Googling cepat telah menghasilkan v.clean dalam GRASS harus melakukan triknya.
Lihat pos ini dan yang ini .
Alternatif untuk QGIS dan GRASS:
Jika saya melakukan ini di ArcGIS, saya mungkin akan menyimpan data saya dalam Feature Dataset di File Geodatabase dan membuat Topologi untuk mengidentifikasi area di mana layer titik tidak pada titik akhir dari garis. Anda kemudian dapat memperbaiki kesalahan menggunakan Inspektur Kesalahan .
Tapi, mungkin solusi tercepat dan termudah adalah di FME. Anda dapat mencoba menggunakan Alat Kakap atau yang lebih baik, Alat AnchoredSnapper . Jika Anda menggunakan AnchoredSnapper, pastikan tipe gertakan Anda adalah Gertakan Titik Akhir. Tentu saja, Anda akan memerlukan lisensi untuk FME. Tetapi Anda dapat mengunduh uji coba 14 hari jika tidak memilikinya.
sumber
Di QGIS Snap Geometries ke layer akan melakukan apa yang Anda inginkan. Lihat utas ini. Cara mengambil garis ke titik terdekat?
sumber
Cara manual
Qgis -> Pengaturan -> Pilihan gertakan (dan saya tidak yakin tetapi mungkin perlu ekstensi CadTools) dan mengaktifkan pengeditan topologis.
Cara otomatis
v.clean yang ada di alat GRASS di kotak alat SEXTANTE di QGIS. Jika Anda memiliki PostGIS 2.0 maka ST_Snap dan ST_SnapToGrid () (Dan tidak ada alasan mengapa Anda tidak dapat menggunakannya, itu adalah alat spasial yang sangat bagus)
Cara komersial
Alat FME dan MRF (ekstensi komersial, saya punya versi evaluasi. Sangat bagus).
Saya juga tertarik dengan manajemen pipa air / selokan dengan alat sumber terbuka, apakah Anda punya petunjuk?
sumber