Saya memiliki shapefile besar (1 gb) dan harus merasternya. Saya sudah mencoba yang berikut ini.
1.) Impor ke GRASS menggunakan v.in.ogr
gagal ini dengan pesan kesalahan: ERROR: G_realloc: tidak dapat mengalokasikan 498240036 byte di break_polygons.c: 188
2.) Ide kedua saya adalah menggunakan PostGIS. Impor shapefile, sampel ulang di lokasi x, y dari kisi dan kemudian ekspor titik ini dan buat kisi dari xyz. Saya berhasil mengimpor shapefile (poligon dan poin) tetapi memotong 1 juta poligon dengan 300k poin tampaknya sangat lambat. Saya menggunakan postGIS satement berikut, mungkin ada ruang untuk perbaikan.
select polygons.land_id,grid.geom from grid,polygons where grid.geom && polygons.geom and within(grid.geom,polygons.geom)
3.) Saya juga mencoba menggunakan simplify()
di PostGIS. Tetapi saya kehilangan banyak poligon kecil (yaitu beberapa area yang hanya ditutupi dengan poligon kecil menjadi nol).
Setiap ide akan sangat dihargai.
Jawaban:
Anda dapat mencoba gdal_rasterize , walaupun saya belum menggunakannya dengan shapefile besar, jadi Anda mungkin memiliki masalah yang sama seperti yang Anda lakukan dengan GRASS. Saya rasa sesuatu seperti yang berikut ini akan berfungsi (dengan GDAL> = 1.8.0):
Tentu saja, Anda harus bermain-main dengan beberapa opsi tergantung pada sumber bentuk Anda. Parameter paling penting adalah -tr yang menentukan resolusi piksel; tanpa itu, Anda mungkin menemukan diri Anda dengan raster yang sangat besar ...
Jika Anda ingin tetap menggunakan GRASS, coba atur tingkat yang lebih kecil untuk rasterisasi, dan bagi proses menjadi potongan-potongan yang dapat dikelola, kemudian buat mosaik raster menjadi satu.
sumber
Mengenai maksud pertama Anda, dapatkah Anda mencoba menjalankan perintah v.in.ogr pada mesin yang memiliki lebih banyak RAM atau menukar ruang disk?
Jika tidak, Anda dapat membaginya dalam banyak file dan rasterisasi masing-masing dari mereka sebelum menggabungkannya lagi.
sumber
Jika Anda memerlukan kontrol lebih besar saat melakukan rasterisasi, lihat skrip pol_density.py perrygeo yang menggunakan GDAL di bawah tenda, tetapi dapat digunakan untuk fitur yang tumpang tindih atau menambahkan evaluasi kondisional di luar yang dimungkinkan dengan
gdal_rasterize
sendirian.sumber
Seperti Jack the Ripper, lakukan dengan bagian. Dari irisan ekspor postgis dari impor data di rumput dan konversi.
sumber
Berikut adalah panduan tentang cara meraster tabel vektor di PostGIS ...
sumber