Selama beberapa tahun saya telah terlibat dalam menggambar dan menjaga skema terbaru dari punggungan dua wilayah gunung. Dzungarian Alatau dan Central Tien Shan.
Awalnya, saya menggambar semuanya dalam program Ocad. Ini adalah program khusus untuk menggambar kartu orienteering. Proyek ini dibagi menjadi puluhan lembar. Kemudian lembaran-lembaran ini diekspor ke gambar, dijahit dan dipotong menjadi ubin. Ubin diunggah ke ftp.
Berikut adalah contoh dari apa yang terjadi di QGisDan inilah bagaimana itu di OcadDan kemudian suatu hari saya bertemu QGIS.
Program itu mengesankan saya. Penyaji yang bagus. Tidak se ekspresif di OCAD, tetapi kualitasnya cocok untuk saya. Kemampuan untuk bekerja secara langsung dengan geodata. Kemampuan untuk bekerja dengan seluruh proyek tanpa memecahnya menjadi beberapa bagian.
Semua ini mendorong transfer seluruh proyek ke QGIS.
Tapi sekarang saya sedikit menyesalinya.
Penyaji QGIS tidak cocok untuk menghasilkan ubin.Tentu saja, ada dua plugin QTiles dan QMetaTiles untuk QGIS 2. Saya mengadaptasinya untuk QGIS 3.
Saya akan bercerita lebih banyak tentang kusen yang tidak dapat diperbaiki yang mengganggu pembuatan kartu ubin di QGIS.
Ekspor dilakukan menggunakan plugin QTiles
Kusen nomor 1. Ketika renderer menghitung objek mana yang termasuk dalam ruang lingkupnya (dalam QGIS Ini disebut kanvas), ia tidak memperhitungkan ukuran simbol objek.Contoh 1a Fitur titik
Seperti yang Anda lihat, ikon vertex telah dipotong. Renderer merendernya di ubin bawah, tetapi tidak di ubin atas. Karena pusat puncak tidak jatuh dalam batas-batas ubin.
Contoh 1b Fitur garis
Garis tebal membentang di dekat perbatasan ubin. Dia sebagian jatuh ke ubin bawah. Saya tidak sampai ke ubin teratas sama sekali.
Garis tidak harus melewati batas ubin. Mungkin masih ada artefak seperti itu
Kusen nomor 2. Pengaturan prasasti.Contoh 2a Tulisan pendek pada objek linear
Renderer menyimpulkan nama di setiap ubin.
Contoh 2b Prasasti panjang pada objek linierZ15

Z16

Ada tulisan pada Z15, karena itu benar-benar cocok dengan batas ubin.
Tidak ada lagi prasasti pada Z16, karena prasasti yang panjang tidak masuk ke dalam batas ubin.
Bayangkan Anda ingin menggambar peta dunia, dan di atasnya di seluruh benua tulis "EURASIA" dengan huruf kapital. Tidak ada yang akan datang darinya. Prasasti hanya akan muncul pada zoom yang ditempatkan di seluruh ubin.
Contoh 2c. Fitur teks pada titikSaya menyalakan opsi "Tampilkan label parsial"
Z16

Z15

Pada Z16, renderer hanya menampilkan bagian dari prasasti yang masuk ke ubin. Ketika merender ubin tetangga, tentu saja dia lupa.
Jika opsi "Tampilkan label parsial" dinonaktifkan, maka pada Z16 tidak akan ada tulisan sama sekali.
Dua metode diminta untuk memerangi masalah ini.
1. Metataling
2. Zona penyangga
Metatailing.Tidak setiap ubin diberikan secara individual, tetapi sekelompok beberapa ubin. Katakan 4x4, lalu potong kecil-kecil.
Zona BufferArea yang lebih besar dari ubin atau metatile diberikan, dan kemudian potongan yang diinginkan dipotong darinya.
Kedua metode ini tidak memperbaiki kusen di atas, tetapi menggesernya beberapa tingkat zoom di bawah. Tiang yang sama sudah muncul di perbatasan ubin, dan di perbatasan metatiles atau zona penyangga.
Contoh 2d. Fitur titikSaya melakukan ekspor plugin QMetaTiles. Ukuran file meta adalah 2x2. Ini berarti bahwa area tersebut diberikan dalam ubin 2x2, dan kemudian dipotong-potong.
Z16

Sungguh. Prasasti tidak dipangkas sekarang, karena benar-benar cocok dengan area ubin 2x2. Tetapi di perbatasan metatail, objek itu sendiri terputus. Hal yang sama akan dengan objek linier.
Masalahnya telah memindahkan satu tingkat zoom di bawah.
Kusen nomor 3. Mengunduh prasastiContoh 3aSetiap kali, pelurus memilih posisi paling menguntungkan untuk prasasti berikutnya. Selain itu, lokasi label tergantung pada posisi kanvas. Pindahkan beberapa milimeter, dan semua prasasti akan terletak sangat berbeda.
Ini berarti bahwa ketika merender satu file meta dan zona penyangga di sekitarnya, prasasti dapat berada di satu tempat, dan ketika merender file meta tetangga, di tempat yang sama sekali berbeda.
Saya mengekspor sepotong peta ke ubin. Prasasti mengambil satu urutan.
Lalu saya menggeser kanvas sedikit dan melakukan ekspor lagi. Prasasti sudah dalam urutan yang sama sekali berbeda. Dalam hal ini, artefak tersebut muncul.
Apa yang harus dilakukan dengan semua ini?Area metatailing dan buffer tidak menyelesaikan masalah di atas, tetapi memindahkannya ke level zoom yang lebih rendah.
1. Ketika renderer menghitung objek mana yang harus digambar, maka itu harus memperhitungkan tidak hanya geodata objek, tetapi juga simbolisme mereka.
Misalnya, untuk semua objek, renderer harus menyimpan BBOX, yang diambil oleh objek setelah rendering individu. Saat merender adegan, Anda perlu mempertimbangkan persimpangan kanvas dengan masing-masing BBOX objek yang diberikan.
Pada saat yang sama, diharapkan bahwa BBOX juga mengandung prasasti yang melekat pada objek.
2. Lokasi label tidak harus bergantung pada lokasi kanvas. Kemudian, dengan ekspor parsial, fragmen label akan dijahit dengan baik. Tidak perlu untuk metatiling dan zona penyangga.
Sayangnya, saat ini, mengekspor ubin dari QGI hanya mengerikan, dan kapan akan diperbaiki tidak jelas.
Mungkin ada seseorang yang terlibat dalam pengembangan QGis di sini?